@@ -159,17 +159,19 @@ func IsOctaviaFeatureSupported(client *gophercloud.ServiceClient, feature int, l
159
159
return false
160
160
}
161
161
162
- func WaitLoadbalancerActive (client * gophercloud.ServiceClient , loadbalancerID string ) error {
162
+ func WaitLoadbalancerActive (client * gophercloud.ServiceClient , loadbalancerID string ) ( * loadbalancers. LoadBalancer , error ) {
163
163
klog .InfoS ("Waiting for load balancer ACTIVE" , "lbID" , loadbalancerID )
164
164
backoff := wait.Backoff {
165
165
Duration : waitLoadbalancerInitDelay ,
166
166
Factor : waitLoadbalancerFactor ,
167
167
Steps : waitLoadbalancerActiveSteps ,
168
168
}
169
169
170
+ var loadbalancer * loadbalancers.LoadBalancer
170
171
err := wait .ExponentialBackoff (backoff , func () (bool , error ) {
171
172
mc := metrics .NewMetricContext ("loadbalancer" , "get" )
172
- loadbalancer , err := loadbalancers .Get (client , loadbalancerID ).Extract ()
173
+ var err error
174
+ loadbalancer , err = loadbalancers .Get (client , loadbalancerID ).Extract ()
173
175
if mc .ObserveRequest (err ) != nil {
174
176
return false , err
175
177
}
@@ -188,7 +190,7 @@ func WaitLoadbalancerActive(client *gophercloud.ServiceClient, loadbalancerID st
188
190
err = fmt .Errorf ("timeout waiting for the loadbalancer %s %s" , loadbalancerID , activeStatus )
189
191
}
190
192
191
- return err
193
+ return loadbalancer , err
192
194
}
193
195
194
196
// GetLoadBalancers returns all the filtered load balancer.
@@ -254,7 +256,7 @@ func UpdateLoadBalancerTags(client *gophercloud.ServiceClient, lbID string, tags
254
256
return err
255
257
}
256
258
257
- if err := WaitLoadbalancerActive (client , lbID ); err != nil {
259
+ if _ , err := WaitLoadbalancerActive (client , lbID ); err != nil {
258
260
return fmt .Errorf ("failed to wait for load balancer %s ACTIVE after updating: %v" , lbID , err )
259
261
}
260
262
@@ -318,7 +320,7 @@ func UpdateListener(client *gophercloud.ServiceClient, lbID string, listenerID s
318
320
return err
319
321
}
320
322
321
- if err := WaitLoadbalancerActive (client , lbID ); err != nil {
323
+ if _ , err := WaitLoadbalancerActive (client , lbID ); err != nil {
322
324
return fmt .Errorf ("failed to wait for load balancer %s ACTIVE after updating listener: %v" , lbID , err )
323
325
}
324
326
@@ -333,7 +335,7 @@ func CreateListener(client *gophercloud.ServiceClient, lbID string, opts listene
333
335
return nil , err
334
336
}
335
337
336
- if err := WaitLoadbalancerActive (client , lbID ); err != nil {
338
+ if _ , err := WaitLoadbalancerActive (client , lbID ); err != nil {
337
339
return nil , fmt .Errorf ("failed to wait for load balancer %s ACTIVE after creating listener: %v" , lbID , err )
338
340
}
339
341
@@ -352,7 +354,7 @@ func DeleteListener(client *gophercloud.ServiceClient, listenerID string, lbID s
352
354
}
353
355
}
354
356
355
- if err := WaitLoadbalancerActive (client , lbID ); err != nil {
357
+ if _ , err := WaitLoadbalancerActive (client , lbID ); err != nil {
356
358
return fmt .Errorf ("failed to wait for load balancer %s ACTIVE after deleting listener: %v" , lbID , err )
357
359
}
358
360
@@ -419,7 +421,7 @@ func CreatePool(client *gophercloud.ServiceClient, opts pools.CreateOptsBuilder,
419
421
return nil , err
420
422
}
421
423
422
- if err = WaitLoadbalancerActive (client , lbID ); err != nil {
424
+ if _ , err = WaitLoadbalancerActive (client , lbID ); err != nil {
423
425
return nil , fmt .Errorf ("failed to wait for load balancer ACTIVE after creating pool: %v" , err )
424
426
}
425
427
@@ -549,7 +551,7 @@ func DeletePool(client *gophercloud.ServiceClient, poolID string, lbID string) e
549
551
return fmt .Errorf ("error deleting pool %s for load balancer %s: %v" , poolID , lbID , err )
550
552
}
551
553
}
552
- if err := WaitLoadbalancerActive (client , lbID ); err != nil {
554
+ if _ , err := WaitLoadbalancerActive (client , lbID ); err != nil {
553
555
return fmt .Errorf ("failed to wait for load balancer %s ACTIVE after deleting pool: %v" , lbID , err )
554
556
}
555
557
@@ -564,7 +566,7 @@ func BatchUpdatePoolMembers(client *gophercloud.ServiceClient, lbID string, pool
564
566
return err
565
567
}
566
568
567
- if err := WaitLoadbalancerActive (client , lbID ); err != nil {
569
+ if _ , err := WaitLoadbalancerActive (client , lbID ); err != nil {
568
570
return fmt .Errorf ("failed to wait for load balancer %s ACTIVE after updating pool members for %s: %v" , lbID , poolID , err )
569
571
}
570
572
@@ -600,7 +602,7 @@ func CreateL7Policy(client *gophercloud.ServiceClient, opts l7policies.CreateOpt
600
602
return nil , err
601
603
}
602
604
603
- if err = WaitLoadbalancerActive (client , lbID ); err != nil {
605
+ if _ , err = WaitLoadbalancerActive (client , lbID ); err != nil {
604
606
return nil , fmt .Errorf ("failed to wait for load balancer ACTIVE after creating l7policy: %v" , err )
605
607
}
606
608
@@ -614,7 +616,7 @@ func DeleteL7policy(client *gophercloud.ServiceClient, policyID string, lbID str
614
616
return err
615
617
}
616
618
617
- if err := WaitLoadbalancerActive (client , lbID ); err != nil {
619
+ if _ , err := WaitLoadbalancerActive (client , lbID ); err != nil {
618
620
return fmt .Errorf ("failed to wait for load balancer %s ACTIVE after deleting l7policy: %v" , lbID , err )
619
621
}
620
622
@@ -644,7 +646,7 @@ func CreateL7Rule(client *gophercloud.ServiceClient, policyID string, opts l7pol
644
646
return err
645
647
}
646
648
647
- if err = WaitLoadbalancerActive (client , lbID ); err != nil {
649
+ if _ , err = WaitLoadbalancerActive (client , lbID ); err != nil {
648
650
return fmt .Errorf ("failed to wait for load balancer ACTIVE after creating l7policy rule: %v" , err )
649
651
}
650
652
@@ -670,7 +672,7 @@ func DeleteHealthMonitor(client *gophercloud.ServiceClient, monitorID string, lb
670
672
return mc .ObserveRequest (err )
671
673
}
672
674
_ = mc .ObserveRequest (nil )
673
- if err := WaitLoadbalancerActive (client , lbID ); err != nil {
675
+ if _ , err := WaitLoadbalancerActive (client , lbID ); err != nil {
674
676
return fmt .Errorf ("failed to wait for load balancer %s ACTIVE after deleting healthmonitor: %v" , lbID , err )
675
677
}
676
678
@@ -685,7 +687,7 @@ func CreateHealthMonitor(client *gophercloud.ServiceClient, opts monitors.Create
685
687
return nil , fmt .Errorf ("failed to create healthmonitor: %v" , err )
686
688
}
687
689
688
- if err := WaitLoadbalancerActive (client , lbID ); err != nil {
690
+ if _ , err := WaitLoadbalancerActive (client , lbID ); err != nil {
689
691
return nil , fmt .Errorf ("failed to wait for load balancer %s ACTIVE after creating healthmonitor: %v" , lbID , err )
690
692
}
691
693
0 commit comments