Change cleaning methods to use network interface

As part of the commit a9a1293312ca67c5e5dbb258146832516a41e939
to ironic, prepare_cleaning_ports and tear_down_cleaning_ports
methods from deploy_utils module were removed. This change
replaces their usage with network interface's add_cleaning_network
and remove_cleaning_network methods.

Closes-Bug: #1644874
Change-Id: I139c6284f93a63fbd5a02eef18610c7df236d2db
This commit is contained in:
Vladyslav Drok 2016-11-25 19:47:00 +02:00
parent 897c5d3005
commit 9de213f26f
2 changed files with 20 additions and 18 deletions

View File

@ -633,7 +633,7 @@ class AnsibleDeploy(base.DeployInterface):
if not node.driver_internal_info['clean_steps']:
# no clean steps configured, nothing to do.
return
deploy_utils.prepare_cleaning_ports(task)
task.driver.network.add_cleaning_network(task)
boot_opt = deploy_utils.build_agent_options(node)
task.driver.boot.prepare_ramdisk(task, boot_opt)
manager_utils.node_power_action(task, states.REBOOT)
@ -670,7 +670,7 @@ class AnsibleDeploy(base.DeployInterface):
node.save()
manager_utils.node_power_action(task, states.POWER_OFF)
task.driver.boot.clean_up_ramdisk(task)
deploy_utils.tear_down_cleaning_ports(task)
task.driver.network.remove_cleaning_network(task)
# FIXME(pas-ha): remove this workaround after nearest Ironic release
# that contains the specified commit (next after 6.1.0)

View File

@ -609,10 +609,8 @@ class TestAnsibleDeploy(db_base.DbTestCase):
@mock.patch('ironic.drivers.modules.deploy_utils.build_agent_options',
return_value={'op1': 'test1'}, autospec=True)
@mock.patch.object(pxe.PXEBoot, 'prepare_ramdisk')
@mock.patch.object(deploy_utils, 'prepare_cleaning_ports', autospec=True)
def test_prepare_cleaning_callback(
self, prepare_cleaning_ports_mock, prepare_ramdisk_mock,
buid_options_mock, power_action_mock,
self, prepare_ramdisk_mock, buid_options_mock, power_action_mock,
set_node_cleaning_steps, run_playbook_mock):
step = {'priority': 10, 'interface': 'deploy',
'step': 'erase_devices', 'tags': ['clean']}
@ -622,10 +620,13 @@ class TestAnsibleDeploy(db_base.DbTestCase):
self.node.save()
with task_manager.acquire(self.context, self.node.uuid) as task:
task.driver.network.add_cleaning_network = mock.Mock()
state = self.driver.prepare_cleaning(task)
set_node_cleaning_steps.assert_called_once_with(task)
prepare_cleaning_ports_mock.assert_called_once_with(task)
task.driver.network.add_cleaning_network.assert_called_once_with(
task)
buid_options_mock.assert_called_once_with(task.node)
prepare_ramdisk_mock.assert_called_once_with(
task, {'op1': 'test1'})
@ -634,15 +635,15 @@ class TestAnsibleDeploy(db_base.DbTestCase):
self.assertEqual(states.CLEANWAIT, state)
@mock.patch.object(utils, 'set_node_cleaning_steps', autospec=True)
@mock.patch.object(deploy_utils, 'prepare_cleaning_ports', autospec=True)
def test_prepare_cleaning_callback_no_steps(self,
prepare_cleaning_ports_mock,
set_node_cleaning_steps):
with task_manager.acquire(self.context, self.node.uuid) as task:
task.driver.network.add_cleaning_network = mock.Mock()
self.driver.prepare_cleaning(task)
set_node_cleaning_steps.assert_called_once_with(task)
self.assertFalse(prepare_cleaning_ports_mock.called)
self.assertFalse(task.driver.network.add_cleaning_network.called)
@mock.patch.object(ansible_deploy, '_prepare_extra_vars', autospec=True)
@mock.patch.object(ansible_deploy, '_parse_ansible_driver_info',
@ -655,9 +656,7 @@ class TestAnsibleDeploy(db_base.DbTestCase):
@mock.patch('ironic.drivers.modules.deploy_utils.build_agent_options',
return_value={'op1': 'test1'}, autospec=True)
@mock.patch.object(pxe.PXEBoot, 'prepare_ramdisk')
@mock.patch.object(deploy_utils, 'prepare_cleaning_ports', autospec=True)
def test_prepare_cleaning(self, prepare_cleaning_ports_mock,
prepare_ramdisk_mock, buid_options_mock,
def test_prepare_cleaning(self, prepare_ramdisk_mock, buid_options_mock,
power_action_mock, run_playbook_mock,
get_ip_mock, parse_driver_info_mock,
prepare_extra_mock):
@ -669,9 +668,12 @@ class TestAnsibleDeploy(db_base.DbTestCase):
prepare_extra_mock.return_value = ironic_nodes
with task_manager.acquire(self.context, self.node.uuid) as task:
task.driver.network.add_cleaning_network = mock.Mock()
state = self.driver.prepare_cleaning(task)
prepare_cleaning_ports_mock.assert_called_once_with(task)
task.driver.network.add_cleaning_network.assert_called_once_with(
task)
buid_options_mock.assert_called_once_with(task.node)
prepare_ramdisk_mock.assert_called_once_with(
task, {'op1': 'test1'})
@ -687,16 +689,16 @@ class TestAnsibleDeploy(db_base.DbTestCase):
@mock.patch.object(utils, 'node_power_action', autospec=True)
@mock.patch.object(pxe.PXEBoot, 'clean_up_ramdisk')
@mock.patch.object(deploy_utils, 'tear_down_cleaning_ports',
autospec=True)
def test_tear_down_cleaning(self, tear_down_utils_mock,
clean_ramdisk_mock, power_action_mock):
def test_tear_down_cleaning(self, clean_ramdisk_mock, power_action_mock):
with task_manager.acquire(self.context, self.node.uuid) as task:
task.driver.network.remove_cleaning_network = mock.Mock()
self.driver.tear_down_cleaning(task)
power_action_mock.assert_called_once_with(task, states.POWER_OFF)
clean_ramdisk_mock.assert_called_once_with(task)
tear_down_utils_mock.assert_called_once_with(task)
(task.driver.network.remove_cleaning_network
.assert_called_once_with(task))
@mock.patch.object(ansible_deploy, 'LOG', autospec=True)
def test_heartbeat_not_wait_state(self, log_mock):