Merge "Clean up provision ports when reattempting deploy"
This commit is contained in:
commit
022f624cfc
@ -56,6 +56,9 @@ class NeutronNetwork(base.NetworkInterface):
|
||||
:param task: A TaskManager instance.
|
||||
:raises: NetworkError
|
||||
"""
|
||||
# If we have left over ports from a previous provision attempt, remove
|
||||
# them
|
||||
neutron.rollback_ports(task, CONF.neutron.provisioning_network_uuid)
|
||||
LOG.info(_LI('Adding provisioning network to node %s'),
|
||||
task.node.uuid)
|
||||
vifs = neutron.add_ports_to_network(
|
||||
|
@ -54,11 +54,16 @@ class NeutronInterfaceTestCase(db_base.DbTestCase):
|
||||
self.config(cleaning_network_uuid='asdf', group='neutron')
|
||||
self.assertRaises(exception.DriverLoadError, neutron.NeutronNetwork)
|
||||
|
||||
@mock.patch.object(neutron_common, 'rollback_ports')
|
||||
@mock.patch.object(neutron_common, 'add_ports_to_network')
|
||||
def test_add_provisioning_network(self, add_ports_mock):
|
||||
def test_add_provisioning_network(self, add_ports_mock, rollback_mock):
|
||||
self.port.internal_info = {'provisioning_vif_port_id': 'vif-port-id'}
|
||||
self.port.save()
|
||||
add_ports_mock.return_value = {self.port.uuid: self.neutron_port['id']}
|
||||
with task_manager.acquire(self.context, self.node.id) as task:
|
||||
self.interface.add_provisioning_network(task)
|
||||
rollback_mock.assert_called_once_with(
|
||||
task, CONF.neutron.provisioning_network_uuid)
|
||||
add_ports_mock.assert_called_once_with(
|
||||
task, CONF.neutron.provisioning_network_uuid)
|
||||
self.port.refresh()
|
||||
|
@ -0,0 +1,6 @@
|
||||
---
|
||||
fixes:
|
||||
- Fixes an issue with neutron network interface, that could lead
|
||||
to inability to retry the deployment in case of failure on
|
||||
boot interface's prepare_ramdisk stage.
|
||||
|
Loading…
x
Reference in New Issue
Block a user