diff --git a/pkg/cloudprovider/providers/vsphere/BUILD b/pkg/cloudprovider/providers/vsphere/BUILD index b24ec93eb1..43065e3419 100644 --- a/pkg/cloudprovider/providers/vsphere/BUILD +++ b/pkg/cloudprovider/providers/vsphere/BUILD @@ -27,7 +27,6 @@ go_library( "//vendor/gopkg.in/gcfg.v1:go_default_library", "//vendor/k8s.io/api/core/v1:go_default_library", "//vendor/k8s.io/apimachinery/pkg/types:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library", "//vendor/k8s.io/client-go/informers:go_default_library", "//vendor/k8s.io/client-go/tools/cache:go_default_library", ], diff --git a/pkg/cloudprovider/providers/vsphere/vsphere.go b/pkg/cloudprovider/providers/vsphere/vsphere.go index 106e99d783..4835306d15 100644 --- a/pkg/cloudprovider/providers/vsphere/vsphere.go +++ b/pkg/cloudprovider/providers/vsphere/vsphere.go @@ -35,7 +35,6 @@ import ( "golang.org/x/net/context" "k8s.io/api/core/v1" k8stypes "k8s.io/apimachinery/pkg/types" - "k8s.io/apimachinery/pkg/util/wait" "k8s.io/client-go/informers" "k8s.io/client-go/tools/cache" v1helper "k8s.io/kubernetes/pkg/apis/core/v1/helper" @@ -210,21 +209,23 @@ func init() { // Initialize passes a Kubernetes clientBuilder interface to the cloud provider func (vs *VSphere) Initialize(clientBuilder controller.ControllerClientBuilder) { +} + +// Initialize Node Informers +func (vs *VSphere) SetInformers(informerFactory informers.SharedInformerFactory) { if vs.cfg == nil { return } // Only on controller node it is required to register listeners. // Register callbacks for node updates - client := clientBuilder.ClientOrDie("vsphere-cloud-provider") - factory := informers.NewSharedInformerFactory(client, 5*time.Minute) - nodeInformer := factory.Core().V1().Nodes() - nodeInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ + glog.V(4).Infof("Setting up node informers for vSphere Cloud Provider") + nodeInformer := informerFactory.Core().V1().Nodes().Informer() + nodeInformer.AddEventHandler(cache.ResourceEventHandlerFuncs{ AddFunc: vs.NodeAdded, DeleteFunc: vs.NodeDeleted, }) - go nodeInformer.Informer().Run(wait.NeverStop) - glog.V(4).Infof("vSphere cloud provider initialized") + glog.V(4).Infof("Node informers in vSphere cloud provider initialized") } // Creates new worker node interface and returns