Merge "Additional test state fixes"
diff --git a/ironic_tempest_plugin/tests/api/admin/test_nodes.py b/ironic_tempest_plugin/tests/api/admin/test_nodes.py
index 0a08a44..a5c52ce 100644
--- a/ironic_tempest_plugin/tests/api/admin/test_nodes.py
+++ b/ironic_tempest_plugin/tests/api/admin/test_nodes.py
@@ -741,7 +741,15 @@
[{'path': '/%s' % field,
'op': 'remove'}])
_, node = self.client.show_node(self.node['uuid'])
- self.assertEqual('fake', node[field])
+ if (iface in ['boot', 'deploy', 'inspect', 'network']
+ and 'fake' != node[field]):
+ # NOTE(TheJulia): Depending on the remote configuration
+ # these interfaces may have explicit defaults which the
+ # reset action changes the value to. This is okay, but
+ # we need to not fail when that is the case.
+ self.assertNotEqual(self.node[field], node[field])
+ else:
+ self.assertEqual('fake', node[field])
class TestResetInterfaces(TestHardwareInterfaces):
@@ -1211,7 +1219,21 @@
def setUp(self):
super(TestNodesProtectedOldApi, self).setUp()
_, self.chassis = self.create_chassis()
+
_, self.node = self.create_node(self.chassis['uuid'])
+ self.useFixture(
+ api_microversion_fixture.APIMicroversionFixture('1.31'))
+ # Now with a 1.31 microversion, swap the deploy and network
+ # interfaces into place so the test doesn't break depending on
+ # the environment's default state.
+ self.client.update_node(self.node['uuid'],
+ [{'path': '/deploy_interface',
+ 'op': 'replace',
+ 'value': 'fake'},
+ {'path': '/network_interface',
+ 'op': 'replace',
+ 'value': 'noop'}])
+ self.useFixture(api_microversion_fixture.APIMicroversionFixture('1.1'))
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 010e45b..3890fae 100644
--- a/ironic_tempest_plugin/tests/api/admin/test_nodestates.py
+++ b/ironic_tempest_plugin/tests/api/admin/test_nodestates.py
@@ -212,7 +212,8 @@
api_microversion_fixture.APIMicroversionFixture('1.31'))
_, self.node = self.create_node(self.chassis['uuid'],
deploy_interface='fake',
- network_interface='noop')
+ network_interface='noop',
+ inspect_interface='fake')
self.useFixture(
api_microversion_fixture.APIMicroversionFixture('1.11')
)
diff --git a/ironic_tempest_plugin/tests/scenario/test_baremetal_boot_from_volume.py b/ironic_tempest_plugin/tests/scenario/test_baremetal_boot_from_volume.py
index b724683..aa2d1d6 100644
--- a/ironic_tempest_plugin/tests/scenario/test_baremetal_boot_from_volume.py
+++ b/ironic_tempest_plugin/tests/scenario/test_baremetal_boot_from_volume.py
@@ -67,6 +67,9 @@
self.addCleanup(test_utils.call_and_ignore_notfound_exc,
self.volumes_client.delete_volume, volume['id'])
self.assertEqual(name, volume['name'])
+ # NOTE(TheJulia): This can fail if the remote service can't figure out
+ # what to do. Really depends on the remote storage configuration which
+ # is not something we can sense out remotely.
waiters.wait_for_volume_resource_status(self.volumes_client,
volume['id'], 'available')
# The volume retrieved on creation has a non-up-to-date status.