summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnusha Ramineni <anusha.iiitm@gmail.com>2015-04-24 17:52:21 +0530
committerAnusha Ramineni <anusha.iiitm@gmail.com>2015-04-28 10:05:12 +0530
commitc81431c3477524f187d6febe2b230cf9948a3627 (patch)
tree7080bb2d4ba2acf11e6217f4905feab97e76254e
parentdee609cb7976e9b3cc07c3d342a271c4a347f69f (diff)
downloadironic-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.py2
-rw-r--r--ironic/tests/drivers/ilo/test_deploy.py18
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',