// RunDeploymentController starts the deployment controller process. func (c *MasterConfig) RunDeploymentController() { rcInformer := c.Informers.ReplicationControllers().Informer() podInformer := c.Informers.Pods().Informer() _, kclient := c.DeploymentControllerClients() _, kclientConfig, err := configapi.GetKubeClient(c.Options.MasterClients.OpenShiftLoopbackKubeConfig, c.Options.MasterClients.OpenShiftLoopbackClientConnectionOverrides) if err != nil { glog.Fatalf("Unable to initialize deployment controller: %v", err) } // TODO eliminate these environment variables once service accounts provide a kubeconfig that includes all of this info env := clientcmd.EnvVars( kclientConfig.Host, kclientConfig.CAData, kclientConfig.Insecure, path.Join(serviceaccountadmission.DefaultAPITokenMountPath, kapi.ServiceAccountTokenKey), ) controller := deploycontroller.NewDeploymentController( rcInformer, podInformer, kclient, bootstrappolicy.DeployerServiceAccountName, c.ImageFor("deployer"), env, c.ExternalVersionCodec, ) go controller.Run(5, utilwait.NeverStop) }
// RunDeploymentController starts the deployment controller process. func (c *MasterConfig) RunDeploymentController() { _, kclient := c.DeploymentControllerClients() _, kclientConfig, err := configapi.GetKubeClient(c.Options.MasterClients.OpenShiftLoopbackKubeConfig) if err != nil { glog.Fatalf("Unable to initialize deployment controller: %v", err) } // TODO eliminate these environment variables once service accounts provide a kubeconfig that includes all of this info env := clientcmd.EnvVars( kclientConfig.Host, kclientConfig.CAData, kclientConfig.Insecure, path.Join(serviceaccountadmission.DefaultAPITokenMountPath, kapi.ServiceAccountTokenKey), ) factory := deploycontroller.DeploymentControllerFactory{ KubeClient: kclient, Codec: c.EtcdHelper.Codec(), Environment: env, DeployerImage: c.ImageFor("deployer"), ServiceAccount: bootstrappolicy.DeployerServiceAccountName, } controller := factory.Create() controller.Run() }
// RunDeploymentController starts the deployment controller process. func (c *MasterConfig) RunDeploymentController() { rcInformer := c.Informers.ReplicationControllers().Informer() podInformer := c.Informers.Pods().Informer() _, kclient := c.DeploymentControllerClients() _, kclientConfig, err := configapi.GetKubeClient(c.Options.MasterClients.OpenShiftLoopbackKubeConfig) if err != nil { glog.Fatalf("Unable to initialize deployment controller: %v", err) } // TODO eliminate these environment variables once service accounts provide a kubeconfig that includes all of this info env := clientcmd.EnvVars( kclientConfig.Host, kclientConfig.CAData, kclientConfig.Insecure, path.Join(serviceaccountadmission.DefaultAPITokenMountPath, kapi.ServiceAccountTokenKey), ) controller := deploycontroller.NewDeploymentController( rcInformer, podInformer, kclient, bootstrappolicy.DeployerServiceAccountName, c.ImageFor("deployer"), env, c.EtcdHelper.Codec(), ) // TODO: Make the stop channel actually work. stopCh := make(chan struct{}) // TODO: Make the number of workers configurable. go controller.Run(5, stopCh) }