@@ -87,7 +87,7 @@ func NewCloudProvider(config *Config) (cloudprovider.Interface, error) {
8787 config .CompartmentID = metadata .CompartmentOCID
8888 }
8989
90- if config .VCNID == "" {
90+ if ! config . LoadBalancer . Disabled && config .VCNID == "" {
9191 glog .Infof ("No vcn provided in cloud provider config. Falling back to looking up VCN via LB subnet." )
9292 subnet , err := c .Networking ().GetSubnet (context .Background (), config .LoadBalancer .Subnet1 )
9393 if err != nil {
@@ -136,17 +136,19 @@ func (cp *CloudProvider) Initialize(clientBuilder controller.ControllerClientBui
136136 }
137137 cp .NodeLister = nodeInformer .Lister ()
138138
139- var serviceInformer informersv1.ServiceInformer
140- if cp .config .LoadBalancer .SecurityListManagementMode != ManagementModeNone {
141- serviceInformer = factory .Core ().V1 ().Services ()
142- go serviceInformer .Informer ().Run (wait .NeverStop )
143- glog .Info ("Waiting for service informer cache to sync" )
144- if ! cache .WaitForCacheSync (wait .NeverStop , serviceInformer .Informer ().HasSynced ) {
145- utilruntime .HandleError (fmt .Errorf ("Timed out waiting for service informer to sync" ))
146- }
139+ if ! cp .config .LoadBalancer .Disabled {
140+ var serviceInformer informersv1.ServiceInformer
141+ if cp .config .LoadBalancer .SecurityListManagementMode != ManagementModeNone {
142+ serviceInformer = factory .Core ().V1 ().Services ()
143+ go serviceInformer .Informer ().Run (wait .NeverStop )
144+ glog .Info ("Waiting for service informer cache to sync" )
145+ if ! cache .WaitForCacheSync (wait .NeverStop , serviceInformer .Informer ().HasSynced ) {
146+ utilruntime .HandleError (fmt .Errorf ("Timed out waiting for service informer to sync" ))
147+ }
147148
149+ }
150+ cp .securityListManager = newSecurityListManager (cp .client , serviceInformer .Lister (), cp .config .LoadBalancer .SecurityLists , cp .config .LoadBalancer .SecurityListManagementMode )
148151 }
149- cp .securityListManager = newSecurityListManager (cp .client , serviceInformer .Lister (), cp .config .LoadBalancer .SecurityLists , cp .config .LoadBalancer .SecurityListManagementMode )
150152}
151153
152154// ProviderName returns the cloud-provider ID.
@@ -158,7 +160,7 @@ func (cp *CloudProvider) ProviderName() string {
158160// is supported, false otherwise.
159161func (cp * CloudProvider ) LoadBalancer () (cloudprovider.LoadBalancer , bool ) {
160162 glog .V (6 ).Info ("Claiming to support Load Balancers" )
161- return cp , true
163+ return cp , ! cp . config . LoadBalancer . Disabled
162164}
163165
164166// Instances returns an instances interface. Also returns true if the interface
0 commit comments