mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-27 05:27:21 +00:00
Fix the order of deletion
1. EnsureLoadBalancer can't delete pool without deleting members, just let EnsureLoadBalancerDeleted do it. 2. Add some friendly error message
This commit is contained in:
parent
222ac7be1e
commit
a1be23679c
@ -1285,7 +1285,7 @@ func (lb *LbaasV1) EnsureLoadBalancer(clusterName string, apiService *v1.Service
|
|||||||
LBMethod: lbmethod,
|
LBMethod: lbmethod,
|
||||||
}).Extract()
|
}).Extract()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, fmt.Errorf("Error creating pool for openstack load balancer %s: %v", name, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, node := range nodes {
|
for _, node := range nodes {
|
||||||
@ -1300,8 +1300,8 @@ func (lb *LbaasV1) EnsureLoadBalancer(clusterName string, apiService *v1.Service
|
|||||||
Address: addr,
|
Address: addr,
|
||||||
}).Extract()
|
}).Extract()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
pools.Delete(lb.network, pool.ID)
|
return nil, fmt.Errorf("Error creating member for the pool(%s) of openstack load balancer %s: %v",
|
||||||
return nil, err
|
pool.ID, name, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1314,15 +1314,13 @@ func (lb *LbaasV1) EnsureLoadBalancer(clusterName string, apiService *v1.Service
|
|||||||
MaxRetries: int(lb.opts.MonitorMaxRetries),
|
MaxRetries: int(lb.opts.MonitorMaxRetries),
|
||||||
}).Extract()
|
}).Extract()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
pools.Delete(lb.network, pool.ID)
|
return nil, fmt.Errorf("Error creating monitor for openstack load balancer %s: %v", name, err)
|
||||||
return nil, err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err = pools.AssociateMonitor(lb.network, pool.ID, mon.ID).Extract()
|
_, err = pools.AssociateMonitor(lb.network, pool.ID, mon.ID).Extract()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
monitors.Delete(lb.network, mon.ID)
|
return nil, fmt.Errorf("Error associating monitor(%s) with pool(%s) for"+
|
||||||
pools.Delete(lb.network, pool.ID)
|
"openstack load balancer %s: %v", mon.ID, pool.ID, name, err)
|
||||||
return nil, err
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1343,11 +1341,7 @@ func (lb *LbaasV1) EnsureLoadBalancer(clusterName string, apiService *v1.Service
|
|||||||
|
|
||||||
vip, err := vips.Create(lb.network, createOpts).Extract()
|
vip, err := vips.Create(lb.network, createOpts).Extract()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if mon != nil {
|
return nil, fmt.Errorf("Error creating vip for openstack load balancer %s: %v", name, err)
|
||||||
monitors.Delete(lb.network, mon.ID)
|
|
||||||
}
|
|
||||||
pools.Delete(lb.network, pool.ID)
|
|
||||||
return nil, err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
status := &v1.LoadBalancerStatus{}
|
status := &v1.LoadBalancerStatus{}
|
||||||
@ -1361,7 +1355,7 @@ func (lb *LbaasV1) EnsureLoadBalancer(clusterName string, apiService *v1.Service
|
|||||||
}
|
}
|
||||||
floatIP, err := floatingips.Create(lb.network, floatIPOpts).Extract()
|
floatIP, err := floatingips.Create(lb.network, floatIPOpts).Extract()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, fmt.Errorf("Error creating floatingip for openstack load balancer %s: %v", name, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
status.Ingress = append(status.Ingress, v1.LoadBalancerIngress{IP: floatIP.FloatingIP})
|
status.Ingress = append(status.Ingress, v1.LoadBalancerIngress{IP: floatIP.FloatingIP})
|
||||||
|
Loading…
Reference in New Issue
Block a user