Update vif_attach from NeutronVIFPortIDMixin
This patch updates vif_attach from NeutronVIFPortIDMixin to rely
on presence of Neutron. Drop incorrect logic that skips mac_address
update when show_port() to neutron failed as NeutronVIFPortIDMixin
is used only in flat and neutron network interfaces which require
neutron presence.
Update api tests to use real neutron port.
Change-Id: Iffaf3569aa296b4466729cf7f62c92995b6b3723
diff --git a/ironic_tempest_plugin/tests/api/admin/test_nodes.py b/ironic_tempest_plugin/tests/api/admin/test_nodes.py
index 3e6f1f9..0500f4f 100644
--- a/ironic_tempest_plugin/tests/api/admin/test_nodes.py
+++ b/ironic_tempest_plugin/tests/api/admin/test_nodes.py
@@ -299,6 +299,16 @@
_, self.chassis = self.create_chassis()
_, self.node = self.create_node(self.chassis['uuid'])
+ self.net = self.admin_manager.networks_client.create_network()
+
+ self.nport_id = self.admin_manager.ports_client.create_port(
+ network_id=self.net['network']['id'])['port']['id']
+
+ def tearDown(self):
+ super(TestNodesVif, self).tearDown()
+ self.admin_manager.ports_client.delete_port(self.nport_id)
+ self.admin_manager.networks_client.delete_network(
+ self.net['network']['id'])
@decorators.idempotent_id('a3d319d0-cacb-4e55-a3dc-3fa8b74880f1')
def test_vif_on_port(self):
@@ -316,13 +326,13 @@
api_microversion_fixture.APIMicroversionFixture('1.28'))
_, self.port = self.create_port(self.node['uuid'],
data_utils.rand_mac_address())
- self.client.vif_attach(self.node['uuid'], 'test-vif')
+ self.client.vif_attach(self.node['uuid'], self.nport_id)
_, body = self.client.vif_list(self.node['uuid'])
- self.assertEqual({'vifs': [{'id': 'test-vif'}]}, body)
+ self.assertEqual({'vifs': [{'id': self.nport_id}]}, body)
_, port = self.client.show_port(self.port['uuid'])
- self.assertEqual('test-vif',
+ self.assertEqual(self.nport_id,
port['internal_info']['tenant_vif_port_id'])
- self.client.vif_detach(self.node['uuid'], 'test-vif')
+ self.client.vif_detach(self.node['uuid'], self.nport_id)
_, body = self.client.vif_list(self.node['uuid'])
self.assertEqual({'vifs': []}, body)
_, port = self.client.show_port(self.port['uuid'])
@@ -355,17 +365,17 @@
'value': self.portgroup['uuid']}]
self.client.update_port(self.port['uuid'], patch)
- self.client.vif_attach(self.node['uuid'], 'test-vif')
+ self.client.vif_attach(self.node['uuid'], self.nport_id)
_, body = self.client.vif_list(self.node['uuid'])
- self.assertEqual({'vifs': [{'id': 'test-vif'}]}, body)
+ self.assertEqual({'vifs': [{'id': self.nport_id}]}, body)
_, port = self.client.show_port(self.port['uuid'])
self.assertNotIn('tenant_vif_port_id', port['internal_info'])
_, portgroup = self.client.show_portgroup(self.portgroup['uuid'])
- self.assertEqual('test-vif',
+ self.assertEqual(self.nport_id,
portgroup['internal_info']['tenant_vif_port_id'])
- self.client.vif_detach(self.node['uuid'], 'test-vif')
+ self.client.vif_detach(self.node['uuid'], self.nport_id)
_, body = self.client.vif_list(self.node['uuid'])
self.assertEqual({'vifs': []}, body)
_, portgroup = self.client.show_portgroup(self.portgroup['uuid'])
@@ -379,13 +389,13 @@
data_utils.rand_mac_address())
patch = [{'path': '/extra/vif_port_id',
'op': 'add',
- 'value': 'test-vif'}]
+ 'value': self.nport_id}]
self.client.update_port(self.port['uuid'], patch)
_, body = self.client.vif_list(self.node['uuid'])
- self.assertEqual({'vifs': [{'id': 'test-vif'}]}, body)
+ self.assertEqual({'vifs': [{'id': self.nport_id}]}, body)
self.assertRaises(lib_exc.Conflict, self.client.vif_attach,
- self.node['uuid'], 'test-vif')
+ self.node['uuid'], self.nport_id)
- self.client.vif_detach(self.node['uuid'], 'test-vif')
+ self.client.vif_detach(self.node['uuid'], self.nport_id)