Merge "Fix cluster deletion when load balancers don't exist"
This commit is contained in:
commit
7608579f19
|
@ -111,6 +111,8 @@ def delete_loadbalancers(context, cluster):
|
|||
filters={"type": lb_resource_type})
|
||||
for lb_res in lb_resources:
|
||||
lb_id = lb_res.physical_resource_id
|
||||
if not lb_id:
|
||||
continue
|
||||
try:
|
||||
lb = octavia_client.load_balancer_show(lb_id)
|
||||
lbs.append(lb)
|
||||
|
|
|
@ -145,3 +145,27 @@ class OctaviaTest(base.TestCase):
|
|||
self.context,
|
||||
self.cluster
|
||||
)
|
||||
|
||||
@mock.patch("magnum.common.neutron.delete_floatingip")
|
||||
@mock.patch('magnum.common.clients.OpenStackClients')
|
||||
def test_delete_loadbalancers_already_deleted(self, mock_clients,
|
||||
mock_delete_fip):
|
||||
mock_octavia_client = mock.MagicMock()
|
||||
mock_octavia_client.load_balancer_list.return_value = {
|
||||
"loadbalancers": []
|
||||
}
|
||||
|
||||
mock_heat_client = mock.MagicMock()
|
||||
mock_heat_client.resources.list.return_value = [
|
||||
TestHeatLBResource(None)
|
||||
]
|
||||
|
||||
osc = mock.MagicMock()
|
||||
mock_clients.return_value = osc
|
||||
osc.octavia.return_value = mock_octavia_client
|
||||
osc.heat.return_value = mock_heat_client
|
||||
|
||||
octavia.delete_loadbalancers(self.context, self.cluster)
|
||||
|
||||
self.assertFalse(mock_octavia_client.load_balancer_show.called)
|
||||
self.assertFalse(mock_octavia_client.load_balancer_delete.called)
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
fixes:
|
||||
- |
|
||||
Fixes an issue with cluster deletion if load balancers do not exist. See
|
||||
`story 2008548 <https://storyboard.openstack.org/#!/story/2008548>` for
|
||||
details.
|
Loading…
Reference in New Issue