Merge "Delete detached vrrp ports when a newtork is removed"
This commit is contained in:
@@ -470,6 +470,7 @@ class InstanceManager(object):
|
|||||||
return
|
return
|
||||||
self.instance_info.ports.append(port)
|
self.instance_info.ports.append(port)
|
||||||
|
|
||||||
|
ports_to_delete = []
|
||||||
for network_id in instance_networks - logical_networks:
|
for network_id in instance_networks - logical_networks:
|
||||||
port = instance_ports[network_id]
|
port = instance_ports[network_id]
|
||||||
self.log.debug(
|
self.log.debug(
|
||||||
@@ -479,6 +480,7 @@ class InstanceManager(object):
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
instance.interface_detach(port.id)
|
instance.interface_detach(port.id)
|
||||||
|
ports_to_delete.append(port)
|
||||||
except:
|
except:
|
||||||
self.log.exception('Interface detach failed')
|
self.log.exception('Interface detach failed')
|
||||||
self.state = states.RESTART
|
self.state = states.RESTART
|
||||||
@@ -501,6 +503,8 @@ class InstanceManager(object):
|
|||||||
if self._verify_interfaces(self.resource.ports, interfaces):
|
if self._verify_interfaces(self.resource.ports, interfaces):
|
||||||
# replugging was successful
|
# replugging was successful
|
||||||
# TODO(mark) update port states
|
# TODO(mark) update port states
|
||||||
|
for p in ports_to_delete:
|
||||||
|
worker_context.neutron.api_client.delete_port(port.id)
|
||||||
return
|
return
|
||||||
|
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
|
@@ -72,6 +72,7 @@ class TestInstanceManager(base.RugTestBase):
|
|||||||
self.ctx = fakes.fake_worker_context()
|
self.ctx = fakes.fake_worker_context()
|
||||||
|
|
||||||
self.neutron = self.ctx.neutron
|
self.neutron = self.ctx.neutron
|
||||||
|
self.neutron.api_client = mock.Mock()
|
||||||
self.config(boot_timeout=30)
|
self.config(boot_timeout=30)
|
||||||
self.config(astara_mgt_service_port=5000)
|
self.config(astara_mgt_service_port=5000)
|
||||||
self.config(max_retries=3)
|
self.config(max_retries=3)
|
||||||
|
Reference in New Issue
Block a user