diff options
author | Zuul <zuul@review.opendev.org> | 2020-06-23 10:29:37 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2020-06-23 10:29:37 +0000 |
commit | 305532e259555b86fb53e37244025f6d0ef4e577 (patch) | |
tree | fd85853952c06f3fac149817f85bc9c3ac925d5a /ironic/tests/unit/drivers/modules/network/test_common.py | |
parent | 2e3245716e6c11f3ec8db026a42efb0b605025a1 (diff) | |
parent | e8f6fdd56d7eccbdeba3ff3d1101a8dc6a8be72f (diff) | |
download | ironic-305532e259555b86fb53e37244025f6d0ef4e577.tar.gz |
Merge "Allow node vif attach to specify port_uuid or portgroup_uuid"
Diffstat (limited to 'ironic/tests/unit/drivers/modules/network/test_common.py')
-rw-r--r-- | ironic/tests/unit/drivers/modules/network/test_common.py | 71 |
1 files changed, 65 insertions, 6 deletions
diff --git a/ironic/tests/unit/drivers/modules/network/test_common.py b/ironic/tests/unit/drivers/modules/network/test_common.py index e36138db8..5e204f882 100644 --- a/ironic/tests/unit/drivers/modules/network/test_common.py +++ b/ironic/tests/unit/drivers/modules/network/test_common.py @@ -209,6 +209,59 @@ class TestCommonFunctions(db_base.DbTestCase): self.assertCountEqual( [self.port.uuid], [p.uuid for p in free_port_like_objs]) + def test__get_free_portgroups_and_ports_port_uuid(self): + self.node.network_interface = 'flat' + self.node.save() + pg1, pg1_ports, pg2, pg2_ports, pg3, pg3_ports = self._objects_setup( + set_physnets=False) + with task_manager.acquire(self.context, self.node.id) as task: + free_port_like_objs = ( + common._get_free_portgroups_and_ports( + task, self.vif_id, {}, {'port_uuid': self.port.uuid})) + self.assertItemsEqual( + [self.port.uuid], + [p.uuid for p in free_port_like_objs]) + + def test__get_free_portgroups_and_ports_portgroup_uuid(self): + self.node.network_interface = 'flat' + self.node.save() + pg1, pg1_ports, pg2, pg2_ports, pg3, pg3_ports = self._objects_setup( + set_physnets=False) + with task_manager.acquire(self.context, self.node.id) as task: + free_port_like_objs = ( + common._get_free_portgroups_and_ports( + task, self.vif_id, {}, {'portgroup_uuid': pg1.uuid})) + self.assertItemsEqual( + [pg1.uuid], + [p.uuid for p in free_port_like_objs]) + + def test__get_free_portgroups_and_ports_portgroup_uuid_attached_vifs(self): + self.node.network_interface = 'flat' + self.node.save() + pg1, pg1_ports, pg2, pg2_ports, pg3, pg3_ports = self._objects_setup( + set_physnets=False) + with task_manager.acquire(self.context, self.node.id) as task: + free_port_like_objs = ( + common._get_free_portgroups_and_ports( + task, self.vif_id, {}, {'portgroup_uuid': pg2.uuid})) + self.assertItemsEqual( + [], + [p.uuid for p in free_port_like_objs]) + + def test__get_free_portgroups_and_ports_no_matching_uuid(self): + self.node.network_interface = 'flat' + self.node.save() + pg1, pg1_ports, pg2, pg2_ports, pg3, pg3_ports = self._objects_setup( + set_physnets=False) + with task_manager.acquire(self.context, self.node.id) as task: + free_port_like_objs = ( + common._get_free_portgroups_and_ports( + task, self.vif_id, {}, + {'port_uuid': uuidutils.generate_uuid()})) + self.assertItemsEqual( + [], + [p.uuid for p in free_port_like_objs]) + @mock.patch.object(neutron_common, 'validate_port_info', autospec=True, return_value=True) def test_get_free_port_like_object_ports(self, vpi_mock): @@ -726,7 +779,8 @@ class TestNeutronVifPortIDMixin(db_base.DbTestCase): mock_upa.assert_called_once_with( "fake_vif_id", self.port.address, context=task.context) self.assertFalse(mock_gpbpi.called) - mock_gfp.assert_called_once_with(task, 'fake_vif_id', set()) + mock_gfp.assert_called_once_with(task, 'fake_vif_id', set(), + {'id': 'fake_vif_id'}) mock_save.assert_called_once_with(self.port, "fake_vif_id") @mock.patch.object(common.VIFPortIDMixin, '_save_vif_to_port_like_obj') @@ -742,7 +796,8 @@ class TestNeutronVifPortIDMixin(db_base.DbTestCase): with task_manager.acquire(self.context, self.node.id) as task: self.assertRaises(exception.NoFreePhysicalPorts, self.interface.vif_attach, task, vif) - mock_gfp.assert_called_once_with(task, 'fake_vif_id', set()) + mock_gfp.assert_called_once_with(task, 'fake_vif_id', set(), + {'id': 'fake_vif_id'}) self.assertFalse(mock_save.called) @mock.patch.object(common.VIFPortIDMixin, '_save_vif_to_port_like_obj') @@ -765,7 +820,8 @@ class TestNeutronVifPortIDMixin(db_base.DbTestCase): "fake_vif_id", self.port.address, context=task.context) mock_gpbpi.assert_called_once_with(mock_client.return_value, 'fake_vif_id') - mock_gfp.assert_called_once_with(task, 'fake_vif_id', {'physnet1'}) + mock_gfp.assert_called_once_with(task, 'fake_vif_id', {'physnet1'}, + {'id': 'fake_vif_id'}) mock_save.assert_called_once_with(self.port, "fake_vif_id") @mock.patch.object(common.VIFPortIDMixin, '_save_vif_to_port_like_obj') @@ -787,7 +843,8 @@ class TestNeutronVifPortIDMixin(db_base.DbTestCase): mock_upa.assert_called_once_with( "fake_vif_id", self.port.address, context=task.context) self.assertFalse(mock_gpbpi.called) - mock_gfp.assert_called_once_with(task, 'fake_vif_id', set()) + mock_gfp.assert_called_once_with(task, 'fake_vif_id', set(), + {'id': 'fake_vif_id'}) mock_save.assert_called_once_with(self.port, "fake_vif_id") mock_plug.assert_called_once_with(task, self.port, mock.ANY) @@ -813,7 +870,8 @@ class TestNeutronVifPortIDMixin(db_base.DbTestCase): mock_upa.assert_called_once_with( "fake_vif_id", self.port.address, context=task.context) self.assertFalse(mock_gpbpi.called) - mock_gfp.assert_called_once_with(task, 'fake_vif_id', set()) + mock_gfp.assert_called_once_with(task, 'fake_vif_id', set(), + {'id': 'fake_vif_id'}) mock_save.assert_called_once_with(self.port, "fake_vif_id") mock_plug.assert_called_once_with(task, self.port, mock.ANY) @@ -833,7 +891,8 @@ class TestNeutronVifPortIDMixin(db_base.DbTestCase): self.interface.vif_attach(task, vif) mock_client.assert_called_once_with(context=task.context) self.assertFalse(mock_gpbpi.called) - mock_gfp.assert_called_once_with(task, 'fake_vif_id', set()) + mock_gfp.assert_called_once_with(task, 'fake_vif_id', set(), + {'id': 'fake_vif_id'}) self.assertFalse(mock_client.return_value.show_port.called) self.assertFalse(mock_upa.called) mock_save.assert_called_once_with(pg, "fake_vif_id") |