func NewCmdMakeGlobalProjectsNetwork(commandName, fullName string, f *clientcmd.Factory, out io.Writer) *cobra.Command { opts := &ProjectOptions{} makeGlobalOp := &MakeGlobalOptions{Options: opts} cmd := &cobra.Command{ Use: commandName, Short: "Make project network global", Long: fmt.Sprintf(makeGlobalProjectsNetworkLong, multitenant.NetworkPluginName()), Example: fmt.Sprintf(makeGlobalProjectsNetworkExample, fullName), Run: func(c *cobra.Command, args []string) { if err := opts.Complete(f, c, args, out); err != nil { kcmdutil.CheckErr(err) } opts.CheckSelector = c.Flag("selector").Changed if err := opts.Validate(); err != nil { kcmdutil.CheckErr(kcmdutil.UsageError(c, err.Error())) } err := makeGlobalOp.Run() kcmdutil.CheckErr(err) }, } flags := cmd.Flags() // Common optional params flags.StringVar(&opts.Selector, "selector", "", "Label selector to filter projects. Either pass one/more projects as arguments or use this project selector") return cmd }
// RunSDNController runs openshift-sdn if the said network plugin is provided func (c *MasterConfig) RunSDNController() { registry := osdn.NewOsdnRegistryInterface(c.SDNControllerClients()) switch c.Options.NetworkConfig.NetworkPluginName { case flatsdn.NetworkPluginName(): flatsdn.Master(registry, c.Options.NetworkConfig.ClusterNetworkCIDR, c.Options.NetworkConfig.HostSubnetLength, c.Options.NetworkConfig.ServiceNetworkCIDR) case multitenant.NetworkPluginName(): multitenant.Master(registry, c.Options.NetworkConfig.ClusterNetworkCIDR, c.Options.NetworkConfig.HostSubnetLength, c.Options.NetworkConfig.ServiceNetworkCIDR) } }
// RunSDNController runs openshift-sdn if the said network plugin is provided func (c *MasterConfig) RunSDNController() { osclient, kclient := c.SDNControllerClients() switch c.Options.NetworkConfig.NetworkPluginName { case flatsdn.NetworkPluginName(): flatsdn.Master(osclient, kclient, c.Options.NetworkConfig.ClusterNetworkCIDR, c.Options.NetworkConfig.HostSubnetLength, c.Options.NetworkConfig.ServiceNetworkCIDR) case multitenant.NetworkPluginName(): multitenant.Master(osclient, kclient, c.Options.NetworkConfig.ClusterNetworkCIDR, c.Options.NetworkConfig.HostSubnetLength, c.Options.NetworkConfig.ServiceNetworkCIDR) } }
func RunSDNController(config *kubernetes.NodeConfig, nodeConfig configapi.NodeConfig) { oclient, _, err := configapi.GetOpenShiftClient(nodeConfig.MasterKubeConfig) if err != nil { glog.Fatal("Failed to get kube client for SDN") } switch nodeConfig.NetworkConfig.NetworkPluginName { case flatsdn.NetworkPluginName(): ch := make(chan struct{}) config.KubeletConfig.StartUpdates = ch go flatsdn.Node(oclient, config.Client, nodeConfig.NodeName, nodeConfig.NodeIP, ch, nodeConfig.NetworkConfig.MTU) case multitenant.NetworkPluginName(): ch := make(chan struct{}) config.KubeletConfig.StartUpdates = ch plugin := multitenant.GetKubeNetworkPlugin() config.KubeletConfig.NetworkPlugins = append(config.KubeletConfig.NetworkPlugins, plugin) go multitenant.Node(oclient, config.Client, nodeConfig.NodeName, nodeConfig.NodeIP, ch, plugin, nodeConfig.NetworkConfig.MTU) } }
func RunSDNController(config *kubernetes.NodeConfig, nodeConfig configapi.NodeConfig) kubernetes.FilteringEndpointsConfigHandler { oclient, _, err := configapi.GetOpenShiftClient(nodeConfig.MasterKubeConfig) if err != nil { glog.Fatal("Failed to get kube client for SDN") } registry := osdn.NewOsdnRegistryInterface(oclient, config.Client) switch nodeConfig.NetworkConfig.NetworkPluginName { case flatsdn.NetworkPluginName(): ch := make(chan struct{}) config.KubeletConfig.StartUpdates = ch go flatsdn.Node(registry, nodeConfig.NodeName, nodeConfig.NodeIP, ch, nodeConfig.NetworkConfig.MTU) case multitenant.NetworkPluginName(): ch := make(chan struct{}) config.KubeletConfig.StartUpdates = ch plugin := multitenant.GetKubeNetworkPlugin() config.KubeletConfig.NetworkPlugins = append(config.KubeletConfig.NetworkPlugins, plugin) go multitenant.Node(registry, nodeConfig.NodeName, nodeConfig.NodeIP, ch, plugin, nodeConfig.NetworkConfig.MTU) return registry } return nil }