summaryrefslogtreecommitdiff
path: root/ironic/tests
diff options
context:
space:
mode:
authorZuul <zuul@review.openstack.org>2018-02-05 17:11:45 +0000
committerGerrit Code Review <review@openstack.org>2018-02-05 17:11:45 +0000
commit12d3157a968820e85c975edb5f45554230d2bf50 (patch)
treecfc4873e4cc9f56a185b554632414fea5caf75f6 /ironic/tests
parentb61ab3b7a1eb3bae9b7358b1330eb15b79051355 (diff)
parent9a110e01bd8d1efe6249d3e7a68ae9e833312a34 (diff)
downloadironic-12d3157a968820e85c975edb5f45554230d2bf50.tar.gz
Merge "Add validate_rescue() method to network interface"
Diffstat (limited to 'ironic/tests')
-rw-r--r--ironic/tests/unit/drivers/modules/network/test_neutron.py21
-rw-r--r--ironic/tests/unit/drivers/modules/test_agent.py49
2 files changed, 39 insertions, 31 deletions
diff --git a/ironic/tests/unit/drivers/modules/network/test_neutron.py b/ironic/tests/unit/drivers/modules/network/test_neutron.py
index 892f715da..7bff4892d 100644
--- a/ironic/tests/unit/drivers/modules/network/test_neutron.py
+++ b/ironic/tests/unit/drivers/modules/network/test_neutron.py
@@ -341,6 +341,27 @@ class NeutronInterfaceTestCase(db_base.DbTestCase):
@mock.patch.object(neutron_common, 'validate_network',
side_effect=lambda n, t, context=None: n)
+ def test_validate_rescue(self, validate_mock):
+ rescuing_network_uuid = '3aea0de6-4b92-44da-9aa0-52d134c83fdf'
+ driver_info = self.node.driver_info
+ driver_info['rescuing_network'] = rescuing_network_uuid
+ self.node.driver_info = driver_info
+ self.node.save()
+ with task_manager.acquire(self.context, self.node.id) as task:
+ self.interface.validate_rescue(task)
+ validate_mock.assert_called_once_with(
+ rescuing_network_uuid, 'rescuing network',
+ context=task.context),
+
+ def test_validate_rescue_exc(self):
+ self.config(rescuing_network="", group='neutron')
+ with task_manager.acquire(self.context, self.node.id) as task:
+ self.assertRaisesRegex(exception.MissingParameterValue,
+ 'rescuing network is not set',
+ self.interface.validate_rescue, task)
+
+ @mock.patch.object(neutron_common, 'validate_network',
+ side_effect=lambda n, t, context=None: n)
@mock.patch.object(neutron_common, 'rollback_ports')
@mock.patch.object(neutron_common, 'add_ports_to_network')
def test_add_rescuing_network(self, add_ports_mock, rollback_mock,
diff --git a/ironic/tests/unit/drivers/modules/test_agent.py b/ironic/tests/unit/drivers/modules/test_agent.py
index 29380805e..3303e0b34 100644
--- a/ironic/tests/unit/drivers/modules/test_agent.py
+++ b/ironic/tests/unit/drivers/modules/test_agent.py
@@ -20,7 +20,6 @@ from oslo_config import cfg
from ironic.common import dhcp_factory
from ironic.common import exception
from ironic.common import images
-from ironic.common import neutron as neutron_common
from ironic.common import raid
from ironic.common import states
from ironic.conductor import task_manager
@@ -1358,30 +1357,18 @@ class AgentRescueTestCase(db_base.DbTestCase):
mock_prepare_instance.assert_called_once_with(mock.ANY, task)
self.assertEqual(states.ACTIVE, result)
- @mock.patch.object(neutron_common, 'validate_network', autospec=True)
+ @mock.patch.object(flat_network.FlatNetwork, 'validate_rescue',
+ autospec=True)
@mock.patch.object(fake.FakeBoot, 'validate', autospec=True)
def test_agent_rescue_validate(self, mock_boot_validate,
mock_validate_network):
with task_manager.acquire(self.context, self.node.uuid) as task:
task.driver.rescue.validate(task)
- self.assertFalse(mock_validate_network.called)
+ mock_validate_network.assert_called_once_with(mock.ANY, task)
mock_boot_validate.assert_called_once_with(mock.ANY, task)
- @mock.patch('ironic.drivers.modules.network.neutron.NeutronNetwork.'
- 'get_rescuing_network_uuid', autospec=True)
- @mock.patch.object(fake.FakeBoot, 'validate', autospec=True)
- def test_agent_rescue_validate_neutron_net(self, mock_boot_validate,
- mock_rescuing_net):
- self.config(enabled_network_interfaces=['neutron'])
- self.node.network_interface = 'neutron'
- self.node.save()
- with task_manager.acquire(self.context, self.node.uuid) as task:
- task.driver.rescue.validate(task)
- mock_rescuing_net.assert_called_once_with(mock.ANY, task)
- mock_boot_validate.assert_called_once_with(mock.ANY, task)
-
- @mock.patch('ironic.drivers.modules.network.neutron.NeutronNetwork.'
- 'get_rescuing_network_uuid', autospec=True)
+ @mock.patch.object(flat_network.FlatNetwork, 'validate_rescue',
+ autospec=True)
@mock.patch.object(fake.FakeBoot, 'validate', autospec=True)
def test_agent_rescue_validate_no_manage_agent(self, mock_boot_validate,
mock_rescuing_net):
@@ -1395,11 +1382,11 @@ class AgentRescueTestCase(db_base.DbTestCase):
self.node.save()
with task_manager.acquire(self.context, self.node.uuid) as task:
task.driver.rescue.validate(task)
- self.assertFalse(mock_rescuing_net.called)
+ mock_rescuing_net.assert_called_once_with(mock.ANY, task)
self.assertFalse(mock_boot_validate.called)
- @mock.patch('ironic.drivers.modules.network.neutron.NeutronNetwork.'
- 'get_rescuing_network_uuid', autospec=True)
+ @mock.patch.object(flat_network.FlatNetwork, 'validate_rescue',
+ autospec=True)
@mock.patch.object(fake.FakeBoot, 'validate', autospec=True)
def test_agent_rescue_validate_fails_no_rescue_ramdisk(
self, mock_boot_validate, mock_rescuing_net):
@@ -1411,11 +1398,11 @@ class AgentRescueTestCase(db_base.DbTestCase):
self.assertRaisesRegex(exception.MissingParameterValue,
'Node.*missing.*rescue_ramdisk',
task.driver.rescue.validate, task)
- self.assertFalse(mock_rescuing_net.called)
+ mock_rescuing_net.assert_called_once_with(mock.ANY, task)
mock_boot_validate.assert_called_once_with(mock.ANY, task)
- @mock.patch('ironic.drivers.modules.network.neutron.NeutronNetwork.'
- 'get_rescuing_network_uuid', autospec=True)
+ @mock.patch.object(flat_network.FlatNetwork, 'validate_rescue',
+ autospec=True)
@mock.patch.object(fake.FakeBoot, 'validate', autospec=True)
def test_agent_rescue_validate_fails_no_rescue_kernel(
self, mock_boot_validate, mock_rescuing_net):
@@ -1427,11 +1414,11 @@ class AgentRescueTestCase(db_base.DbTestCase):
self.assertRaisesRegex(exception.MissingParameterValue,
'Node.*missing.*rescue_kernel',
task.driver.rescue.validate, task)
- self.assertFalse(mock_rescuing_net.called)
+ mock_rescuing_net.assert_called_once_with(mock.ANY, task)
mock_boot_validate.assert_called_once_with(mock.ANY, task)
- @mock.patch('ironic.drivers.modules.network.neutron.NeutronNetwork.'
- 'get_rescuing_network_uuid', autospec=True)
+ @mock.patch.object(flat_network.FlatNetwork, 'validate_rescue',
+ autospec=True)
@mock.patch.object(fake.FakeBoot, 'validate', autospec=True)
def test_agent_rescue_validate_fails_no_rescue_password(
self, mock_boot_validate, mock_rescuing_net):
@@ -1443,11 +1430,11 @@ class AgentRescueTestCase(db_base.DbTestCase):
self.assertRaisesRegex(exception.MissingParameterValue,
'Node.*missing.*rescue_password',
task.driver.rescue.validate, task)
- self.assertFalse(mock_rescuing_net.called)
+ mock_rescuing_net.assert_called_once_with(mock.ANY, task)
mock_boot_validate.assert_called_once_with(mock.ANY, task)
- @mock.patch('ironic.drivers.modules.network.neutron.NeutronNetwork.'
- 'get_rescuing_network_uuid', autospec=True)
+ @mock.patch.object(flat_network.FlatNetwork, 'validate_rescue',
+ autospec=True)
@mock.patch.object(fake.FakeBoot, 'validate', autospec=True)
def test_agent_rescue_validate_fails_empty_rescue_password(
self, mock_boot_validate, mock_rescuing_net):
@@ -1459,7 +1446,7 @@ class AgentRescueTestCase(db_base.DbTestCase):
self.assertRaisesRegex(exception.InvalidParameterValue,
"'instance_info/rescue_password'.*empty",
task.driver.rescue.validate, task)
- self.assertFalse(mock_rescuing_net.called)
+ mock_rescuing_net.assert_called_once_with(mock.ANY, task)
mock_boot_validate.assert_called_once_with(mock.ANY, task)
@mock.patch.object(flat_network.FlatNetwork, 'remove_rescuing_network',