Skip to content
This repository was archived by the owner on Mar 22, 2018. It is now read-only.

Commit 6b8b331

Browse files
committed
should not ignore return messages from wait function
1 parent 5d9034c commit 6b8b331

1 file changed

Lines changed: 69 additions & 17 deletions

File tree

pkg/cloudprovider/providers/openstack/openstack_loadbalancer.go

Lines changed: 69 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -660,7 +660,10 @@ func (lbaas *LbaasV2) EnsureLoadBalancer(clusterName string, apiService *v1.Serv
660660
glog.V(2).Infof("LoadBalancer %s already exists", name)
661661
}
662662

663-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
663+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
664+
if err != nil {
665+
return nil, fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
666+
}
664667

665668
lbmethod := v2pools.LBMethod(lbaas.opts.LBMethod)
666669
if lbmethod == "" {
@@ -685,7 +688,10 @@ func (lbaas *LbaasV2) EnsureLoadBalancer(clusterName string, apiService *v1.Serv
685688
// Unknown error, retry later
686689
return nil, fmt.Errorf("error creating LB listener: %v", err)
687690
}
688-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
691+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
692+
if err != nil {
693+
return nil, fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
694+
}
689695
}
690696

691697
glog.V(4).Infof("Listener for %s port %d: %s", string(port.Protocol), int(port.Port), listener.ID)
@@ -711,7 +717,11 @@ func (lbaas *LbaasV2) EnsureLoadBalancer(clusterName string, apiService *v1.Serv
711717
// Unknown error, retry later
712718
return nil, fmt.Errorf("error creating pool for listener %s: %v", listener.ID, err)
713719
}
714-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
720+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
721+
if err != nil {
722+
return nil, fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
723+
}
724+
715725
}
716726

717727
glog.V(4).Infof("Pool for listener %s: %s", listener.ID, pool.ID)
@@ -742,7 +752,10 @@ func (lbaas *LbaasV2) EnsureLoadBalancer(clusterName string, apiService *v1.Serv
742752
return nil, fmt.Errorf("error creating LB pool member for node: %s, %v", node.Name, err)
743753
}
744754

745-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
755+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
756+
if err != nil {
757+
return nil, fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
758+
}
746759
} else {
747760
// After all members have been processed, remaining members are deleted as obsolete.
748761
members = popMember(members, addr, int(port.NodePort))
@@ -758,7 +771,10 @@ func (lbaas *LbaasV2) EnsureLoadBalancer(clusterName string, apiService *v1.Serv
758771
if err != nil && !isNotFound(err) {
759772
return nil, fmt.Errorf("error deleting obsolete member %s for pool %s address %s: %v", member.ID, pool.ID, member.Address, err)
760773
}
761-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
774+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
775+
if err != nil {
776+
return nil, fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
777+
}
762778
}
763779

764780
monitorID := pool.MonitorID
@@ -774,7 +790,10 @@ func (lbaas *LbaasV2) EnsureLoadBalancer(clusterName string, apiService *v1.Serv
774790
if err != nil {
775791
return nil, fmt.Errorf("error creating LB pool healthmonitor: %v", err)
776792
}
777-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
793+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
794+
if err != nil {
795+
return nil, fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
796+
}
778797
monitorID = monitor.ID
779798
} else if lbaas.opts.CreateMonitor == false {
780799
glog.V(4).Infof("Do not create monitor for pool %s when create-monitor is false", pool.ID)
@@ -802,7 +821,10 @@ func (lbaas *LbaasV2) EnsureLoadBalancer(clusterName string, apiService *v1.Serv
802821
if err != nil && !isNotFound(err) {
803822
return nil, fmt.Errorf("error deleting obsolete monitor %s for pool %s: %v", monitorID, pool.ID, err)
804823
}
805-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
824+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
825+
if err != nil {
826+
return nil, fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
827+
}
806828
}
807829
// get and delete pool members
808830
members, err := getMembersByPoolID(lbaas.lb, pool.ID)
@@ -816,7 +838,10 @@ func (lbaas *LbaasV2) EnsureLoadBalancer(clusterName string, apiService *v1.Serv
816838
if err != nil && !isNotFound(err) {
817839
return nil, fmt.Errorf("error deleting obsolete member %s for pool %s address %s: %v", member.ID, pool.ID, member.Address, err)
818840
}
819-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
841+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
842+
if err != nil {
843+
return nil, fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
844+
}
820845
}
821846
}
822847
glog.V(4).Infof("Deleting obsolete pool %s for listener %s", pool.ID, listener.ID)
@@ -825,14 +850,20 @@ func (lbaas *LbaasV2) EnsureLoadBalancer(clusterName string, apiService *v1.Serv
825850
if err != nil && !isNotFound(err) {
826851
return nil, fmt.Errorf("error deleting obsolete pool %s for listener %s: %v", pool.ID, listener.ID, err)
827852
}
828-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
853+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
854+
if err != nil {
855+
return nil, fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
856+
}
829857
}
830858
// delete listener
831859
err = listeners.Delete(lbaas.lb, listener.ID).ExtractErr()
832860
if err != nil && !isNotFound(err) {
833861
return nil, fmt.Errorf("error deleteting obsolete listener: %v", err)
834862
}
835-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
863+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
864+
if err != nil {
865+
return nil, fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
866+
}
836867
glog.V(2).Infof("Deleted obsolete listener: %s", listener.ID)
837868
}
838869

@@ -1168,7 +1199,10 @@ func (lbaas *LbaasV2) UpdateLoadBalancer(clusterName string, service *v1.Service
11681199
if err != nil {
11691200
return err
11701201
}
1171-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
1202+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
1203+
if err != nil {
1204+
return fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
1205+
}
11721206
}
11731207

11741208
// Remove any old members for this port
@@ -1181,7 +1215,10 @@ func (lbaas *LbaasV2) UpdateLoadBalancer(clusterName string, service *v1.Service
11811215
if err != nil && !isNotFound(err) {
11821216
return err
11831217
}
1184-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
1218+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
1219+
if err != nil {
1220+
return fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
1221+
}
11851222
}
11861223
}
11871224

@@ -1342,7 +1379,10 @@ func (lbaas *LbaasV2) EnsureLoadBalancerDeleted(clusterName string, service *v1.
13421379
if err != nil && !isNotFound(err) {
13431380
return err
13441381
}
1345-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
1382+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
1383+
if err != nil {
1384+
return fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
1385+
}
13461386
}
13471387

13481388
// delete all members and pools
@@ -1353,15 +1393,21 @@ func (lbaas *LbaasV2) EnsureLoadBalancerDeleted(clusterName string, service *v1.
13531393
if err != nil && !isNotFound(err) {
13541394
return err
13551395
}
1356-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
1396+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
1397+
if err != nil {
1398+
return fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
1399+
}
13571400
}
13581401

13591402
// delete pool
13601403
err := v2pools.Delete(lbaas.lb, poolID).ExtractErr()
13611404
if err != nil && !isNotFound(err) {
13621405
return err
13631406
}
1364-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
1407+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
1408+
if err != nil {
1409+
return fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
1410+
}
13651411
}
13661412

13671413
// delete all listeners
@@ -1370,15 +1416,21 @@ func (lbaas *LbaasV2) EnsureLoadBalancerDeleted(clusterName string, service *v1.
13701416
if err != nil && !isNotFound(err) {
13711417
return err
13721418
}
1373-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
1419+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
1420+
if err != nil {
1421+
return fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
1422+
}
13741423
}
13751424

13761425
// delete loadbalancer
13771426
err = loadbalancers.Delete(lbaas.lb, loadbalancer.ID).ExtractErr()
13781427
if err != nil && !isNotFound(err) {
13791428
return err
13801429
}
1381-
waitLoadbalancerDeleted(lbaas.lb, loadbalancer.ID)
1430+
err = waitLoadbalancerDeleted(lbaas.lb, loadbalancer.ID)
1431+
if err != nil {
1432+
return fmt.Errorf("failed to delete loadbalancer: %v", err)
1433+
}
13821434

13831435
// Delete the Security Group
13841436
if lbaas.opts.ManageSecurityGroups {

0 commit comments

Comments
 (0)