diff options
author | Anusha Ramineni <anusha.iiitm@gmail.com> | 2015-04-24 17:52:21 +0530 |
---|---|---|
committer | Anusha Ramineni <anusha.iiitm@gmail.com> | 2015-04-28 10:05:12 +0530 |
commit | c81431c3477524f187d6febe2b230cf9948a3627 (patch) | |
tree | 7080bb2d4ba2acf11e6217f4905feab97e76254e | |
parent | dee609cb7976e9b3cc07c3d342a271c4a347f69f (diff) | |
download | ironic-c81431c3477524f187d6febe2b230cf9948a3627.tar.gz |
Disable clean_step if config option is set to 0
Disabling erase_devices clean_step in agent_ilo driver doesn't work
even though the configuration option is updated to 0.
Change-Id: I72501793b9a0d384555bec2bbe2ddfdb2f1c2c2f
Closes-Bug:#1448103
(cherry picked from commit f68a60ab0693a43c8b68aeddb6c4fa47b6255c02)
-rw-r--r-- | ironic/drivers/modules/ilo/deploy.py | 2 | ||||
-rw-r--r-- | ironic/tests/drivers/ilo/test_deploy.py | 18 |
2 files changed, 18 insertions, 2 deletions
diff --git a/ironic/drivers/modules/ilo/deploy.py b/ironic/drivers/modules/ilo/deploy.py index 86dc0c729..5f901184e 100644 --- a/ironic/drivers/modules/ilo/deploy.py +++ b/ironic/drivers/modules/ilo/deploy.py @@ -566,7 +566,7 @@ class IloVirtualMediaAgentDeploy(base.DeployInterface): :returns: A list of clean step dictionaries """ steps = deploy_utils.agent_get_clean_steps(task) - if CONF.ilo.clean_priority_erase_devices: + if CONF.ilo.clean_priority_erase_devices is not None: for step in steps: if (step.get('step') == 'erase_devices' and step.get('interface') == 'deploy'): diff --git a/ironic/tests/drivers/ilo/test_deploy.py b/ironic/tests/drivers/ilo/test_deploy.py index f44e532b9..e54d8a6e6 100644 --- a/ironic/tests/drivers/ilo/test_deploy.py +++ b/ironic/tests/drivers/ilo/test_deploy.py @@ -717,7 +717,23 @@ class IloVirtualMediaAgentDeployTestCase(db_base.DbTestCase): self.assertEqual(step[0].get('priority'), CONF.ilo.clean_priority_erase_devices) - @mock.patch.object(deploy_utils, 'agent_get_clean_steps') + @mock.patch.object(deploy_utils, 'agent_get_clean_steps', autospec=True) + def test_get_clean_steps_erase_devices_disable(self, get_clean_step_mock): + self.config(clean_priority_erase_devices=0, group='ilo') + get_clean_step_mock.return_value = [{ + 'step': 'erase_devices', + 'priority': 10, + 'interface': 'deploy', + 'reboot_requested': False + }] + with task_manager.acquire(self.context, self.node.uuid, + shared=False) as task: + step = task.driver.deploy.get_clean_steps(task) + get_clean_step_mock.assert_called_once_with(task) + self.assertEqual(step[0].get('priority'), + CONF.ilo.clean_priority_erase_devices) + + @mock.patch.object(deploy_utils, 'agent_get_clean_steps', autospec=True) def test_get_clean_steps_without_conf_option(self, get_clean_step_mock): get_clean_step_mock.return_value = [{ 'step': 'erase_devices', |