diff --git a/ironic_tempest_plugin/tests/api/admin/test_allocations.py b/ironic_tempest_plugin/tests/api/admin/test_allocations.py index f9e25959..b9ab70be 100644 --- a/ironic_tempest_plugin/tests/api/admin/test_allocations.py +++ b/ironic_tempest_plugin/tests/api/admin/test_allocations.py @@ -38,8 +38,15 @@ class Base(base.BaseBaremetalTest): self.resource_class = uuidutils.generate_uuid() _, self.chassis = self.create_chassis() - _, self.node = self.create_node(self.chassis['uuid'], - resource_class=self.resource_class) + _, self.node = self.create_node( + self.chassis['uuid'], + resource_class=self.resource_class, + # Fake deploy interface to avoid stop when automated + # cleaning is on. + deploy_interface='fake', + # noop network interface in case a cleaning/provisioning network + # is not defined. + network_interface='noop') self.provide_and_power_off_node(self.node['uuid']) @@ -75,7 +82,8 @@ class TestAllocations(Base): @decorators.idempotent_id('eb074d06-e5f4-4fb4-b992-c9929db488ae') def test_create_allocation_with_traits(self): _, node2 = self.create_node(self.chassis['uuid'], - resource_class=self.resource_class) + resource_class=self.resource_class, + deploy_interface='fake') self.client.set_node_traits(node2['uuid'], ['CUSTOM_MEOW']) self.provide_and_power_off_node(node2['uuid']) @@ -99,7 +107,9 @@ class TestAllocations(Base): node_name = 'allocation-test-1' _, node2 = self.create_node(self.chassis['uuid'], resource_class=self.resource_class, - name=node_name) + name=node_name, + deploy_interface='fake', + network_interface='noop') self.provide_and_power_off_node(node2['uuid']) _, body = self.create_allocation(self.resource_class, @@ -203,7 +213,8 @@ class TestAllocations(Base): @decorators.idempotent_id('2378727f-77c3-4289-9562-bd2f3b147a60') def test_create_allocation_node_mismatch(self): _, node2 = self.create_node(self.chassis['uuid'], - resource_class=self.resource_class + 'alt') + resource_class=self.resource_class + 'alt', + deploy_interface='fake') # Mismatch between the resource class and the candidate node _, body = self.create_allocation( self.resource_class, candidate_nodes=[node2['uuid']]) diff --git a/ironic_tempest_plugin/tests/api/admin/test_nodes.py b/ironic_tempest_plugin/tests/api/admin/test_nodes.py index d6d18337..c3408ecd 100644 --- a/ironic_tempest_plugin/tests/api/admin/test_nodes.py +++ b/ironic_tempest_plugin/tests/api/admin/test_nodes.py @@ -1044,7 +1044,12 @@ class TestNodeProtected(base.BaseBaremetalTest): super(TestNodeProtected, self).setUp() _, self.chassis = self.create_chassis() - _, self.node = self.create_node(self.chassis['uuid']) + _, self.node = self.create_node( + self.chassis['uuid'], + # Fake deploy interface to bypass cleaning in the test flow. + deploy_interface='fake', + # Noop network interface to skip networking involvement. + network_interface='noop') self.provide_node(self.node['uuid']) @decorators.idempotent_id('52f0cb1c-ad7b-43dc-8e22-a76438b67716') @@ -1114,7 +1119,9 @@ class TestNodesProtectedOldApi(base.BaseBaremetalTest): def setUp(self): super(TestNodesProtectedOldApi, self).setUp() _, self.chassis = self.create_chassis() - _, self.node = self.create_node(self.chassis['uuid']) + _, self.node = self.create_node(self.chassis['uuid'], + deploy_interface='fake', + network_interface='noop') self.deploy_node(self.node['uuid']) _, self.node = self.client.show_node(self.node['uuid']) diff --git a/ironic_tempest_plugin/tests/api/admin/test_nodestates.py b/ironic_tempest_plugin/tests/api/admin/test_nodestates.py index 1da978dd..d03a8767 100644 --- a/ironic_tempest_plugin/tests/api/admin/test_nodestates.py +++ b/ironic_tempest_plugin/tests/api/admin/test_nodestates.py @@ -78,7 +78,9 @@ class TestNodeStatesV1_1(TestNodeStatesMixin, base.BaseBaremetalTest): @decorators.idempotent_id('ccb8fca9-2ba0-480c-a037-34c3bd09dc74') def test_set_node_provision_state(self): - _, node = self.create_node(self.chassis['uuid']) + _, node = self.create_node(self.chassis['uuid'], + deploy_interface='fake', + network_interface='noop') # Nodes appear in NONE state by default until v1.1 self.assertIsNone(node['provision_state']) provision_states_list = ['active', 'deleted'] @@ -97,7 +99,9 @@ class TestNodeStatesV1_2(TestNodeStatesMixin, base.BaseBaremetalTest): @decorators.idempotent_id('9c414984-f3b6-4b3d-81da-93b60d4662fb') def test_set_node_provision_state(self): - _, node = self.create_node(self.chassis['uuid']) + _, node = self.create_node(self.chassis['uuid'], + deploy_interface='fake', + network_interface='noop') # Nodes appear in AVAILABLE state by default from v1.2 to v1.10 self.assertEqual('available', node['provision_state']) provision_states_list = ['active', 'deleted'] @@ -116,7 +120,9 @@ class TestNodeStatesV1_4(TestNodeStatesMixin, base.BaseBaremetalTest): @decorators.idempotent_id('3d606003-05ce-4b5a-964d-bdee382fafe9') def test_set_node_provision_state(self): - _, node = self.create_node(self.chassis['uuid']) + _, node = self.create_node(self.chassis['uuid'], + deploy_interface='fake', + network_interface='noop') # Nodes appear in AVAILABLE state by default from v1.2 to v1.10 self.assertEqual('available', node['provision_state']) # MANAGEABLE state and PROVIDE transition have been added in v1.4 @@ -138,7 +144,9 @@ class TestNodeStatesV1_6(TestNodeStatesMixin, base.BaseBaremetalTest): @decorators.idempotent_id('6c9ce4a3-713b-4c76-91af-18c48d01f1bb') def test_set_node_provision_state(self): - _, node = self.create_node(self.chassis['uuid']) + _, node = self.create_node(self.chassis['uuid'], + deploy_interface='fake', + network_interface='noop') # Nodes appear in AVAILABLE state by default from v1.2 to v1.10 self.assertEqual('available', node['provision_state']) # INSPECT* states have been added in v1.6 @@ -162,7 +170,9 @@ class TestNodeStatesV1_11(TestNodeStatesMixin, base.BaseBaremetalTest): @decorators.idempotent_id('31f53828-b83d-40c7-98e5-843e28a1b6b9') def test_set_node_provision_state(self): - _, node = self.create_node(self.chassis['uuid']) + _, node = self.create_node(self.chassis['uuid'], + deploy_interface='fake', + network_interface='noop') # Nodes appear in ENROLL state by default from v1.11 self.assertEqual('enroll', node['provision_state']) provision_states_list = [ diff --git a/ironic_tempest_plugin/tests/api/admin/test_portgroups.py b/ironic_tempest_plugin/tests/api/admin/test_portgroups.py index 3e21e419..86dccd99 100644 --- a/ironic_tempest_plugin/tests/api/admin/test_portgroups.py +++ b/ironic_tempest_plugin/tests/api/admin/test_portgroups.py @@ -29,7 +29,8 @@ class TestPortGroups(base.BaseBaremetalTest): api_microversion_fixture.APIMicroversionFixture( self.min_microversion)) _, self.chassis = self.create_chassis() - _, self.node = self.create_node(self.chassis['uuid']) + _, self.node = self.create_node(self.chassis['uuid'], + network_interface='noop') _, self.portgroup = self.create_portgroup( self.node['uuid'], address=data_utils.rand_mac_address(), name=data_utils.rand_name('portgroup')) diff --git a/ironic_tempest_plugin/tests/api/admin/test_ports.py b/ironic_tempest_plugin/tests/api/admin/test_ports.py index bb6b6f63..99882794 100644 --- a/ironic_tempest_plugin/tests/api/admin/test_ports.py +++ b/ironic_tempest_plugin/tests/api/admin/test_ports.py @@ -25,7 +25,8 @@ class TestPorts(base.BaseBaremetalTest): super(TestPorts, self).setUp() _, self.chassis = self.create_chassis() - _, self.node = self.create_node(self.chassis['uuid']) + _, self.node = self.create_node(self.chassis['uuid'], + network_interface='noop') _, self.port = self.create_port(self.node['uuid'], data_utils.rand_mac_address()) @@ -275,7 +276,8 @@ class TestPortsWithPhysicalNetwork(base.BaseBaremetalTest): TestPortsWithPhysicalNetwork.min_microversion) ) _, self.chassis = self.create_chassis() - _, self.node = self.create_node(self.chassis['uuid']) + _, self.node = self.create_node(self.chassis['uuid'], + network_interface='noop') @decorators.idempotent_id('f1a5d279-c456-4311-ad31-fea09f61c22b') def test_create_port_with_physical_network(self): diff --git a/ironic_tempest_plugin/tests/api/admin/test_ports_negative.py b/ironic_tempest_plugin/tests/api/admin/test_ports_negative.py index bd338f97..8923aa3b 100644 --- a/ironic_tempest_plugin/tests/api/admin/test_ports_negative.py +++ b/ironic_tempest_plugin/tests/api/admin/test_ports_negative.py @@ -25,7 +25,8 @@ class TestPortsNegative(base.BaseBaremetalTest): super(TestPortsNegative, self).setUp() _, self.chassis = self.create_chassis() - _, self.node = self.create_node(self.chassis['uuid']) + _, self.node = self.create_node(self.chassis['uuid'], + network_interface='noop') @decorators.attr(type=['negative']) @decorators.idempotent_id('0a6ee1f7-d0d9-4069-8778-37f3aa07303a') diff --git a/ironic_tempest_plugin/tests/api/rbac_defaults/test_nodes.py b/ironic_tempest_plugin/tests/api/rbac_defaults/test_nodes.py index aab00fe9..cd16fe25 100644 --- a/ironic_tempest_plugin/tests/api/rbac_defaults/test_nodes.py +++ b/ironic_tempest_plugin/tests/api/rbac_defaults/test_nodes.py @@ -34,7 +34,9 @@ class TestNodeProjectReader(base.BaseBaremetalRBACTest): self.reader_client = self.os_project_reader.baremetal.BaremetalClient() _, self.chassis = self.create_chassis() # Bare node, no inherent permissions by default for project readers. - _, self.node = self.create_node(self.chassis['uuid']) + _, self.node = self.create_node(self.chassis['uuid'], + network_interface='noop', + deploy_interface='fake') # Default policy is: # ('role:reader and ' @@ -684,7 +686,9 @@ class TestNodeSystemReader(base.BaseBaremetalRBACTest): self.client = self.os_system_admin.baremetal.BaremetalClient() self.reader_client = self.os_system_reader.baremetal.BaremetalClient() _, self.chassis = self.create_chassis() - _, self.node = self.create_node(self.chassis['uuid']) + _, self.node = self.create_node(self.chassis['uuid'], + network_interface='noop', + deploy_interface='fake') def test_reader_cannot_create_node(self): """Reader cannot create node