diff --git a/ironic_tempest_plugin/tests/api/admin/test_nodes.py b/ironic_tempest_plugin/tests/api/admin/test_nodes.py index 6d26a26..8e8e217 100644 --- a/ironic_tempest_plugin/tests/api/admin/test_nodes.py +++ b/ironic_tempest_plugin/tests/api/admin/test_nodes.py @@ -869,13 +869,6 @@ class TestNodeProtected(base.BaseBaremetalTest): _, self.node = self.create_node(self.chassis['uuid']) self.provide_node(self.node['uuid']) - def tearDown(self): - try: - self.client.update_node(self.node['uuid'], protected=False) - except Exception: - pass - super(TestNodeProtected, self).tearDown() - @decorators.idempotent_id('52f0cb1c-ad7b-43dc-8e22-a76438b67716') def test_node_protected_set_unset(self): self.deploy_node(self.node['uuid']) @@ -905,6 +898,7 @@ class TestNodeProtected(base.BaseBaremetalTest): self.assertRaises(lib_exc.Forbidden, self.set_node_provision_state, self.node['uuid'], 'rebuild', 'active') + self.client.update_node(self.node['uuid'], protected=False) @decorators.idempotent_id('04a21b51-2991-4213-8c2f-a96cfdada802') def test_node_protected_from_deletion(self): @@ -918,6 +912,7 @@ class TestNodeProtected(base.BaseBaremetalTest): self.assertRaises(lib_exc.Forbidden, self.client.delete_node, self.node['uuid']) + self.client.update_node(self.node['uuid'], protected=False) @decorators.attr(type='negative') @decorators.idempotent_id('1c819f4c-6c1d-4150-ba4a-3b0dcb3c8694') @@ -933,6 +928,7 @@ class TestNodeProtected(base.BaseBaremetalTest): self.assertRaises(lib_exc.BadRequest, self.client.update_node, self.node['uuid'], protected_reason='reason!') + self.client.update_node(self.node['uuid'], protected=False) class TestNodesProtectedOldApi(base.BaseBaremetalTest): diff --git a/ironic_tempest_plugin/tests/api/base.py b/ironic_tempest_plugin/tests/api/base.py index c541dd3..5469579 100644 --- a/ironic_tempest_plugin/tests/api/base.py +++ b/ironic_tempest_plugin/tests/api/base.py @@ -12,6 +12,7 @@ import functools +from oslo_log import log as logging from tempest import config from tempest.lib.common import api_version_utils from tempest.lib.common.utils import data_utils @@ -22,6 +23,8 @@ from ironic_tempest_plugin.common import waiters from ironic_tempest_plugin.services.baremetal import base from ironic_tempest_plugin.tests.api.admin import api_microversion_fixture + +LOG = logging.getLogger(__name__) CONF = config.CONF @@ -124,7 +127,8 @@ class BaseBaremetalTest(api_version_utils.BaseMicroversionTest, cls.set_node_provision_state(node, 'deleted', ['available', None]) except lib_exc.BadRequest: - pass + LOG.warning('Cleanup: Failed to unprovision node: %s', + node) # Delete allocations explicitly after unprovisioning instances, but # before deleting nodes. @@ -132,13 +136,15 @@ class BaseBaremetalTest(api_version_utils.BaseMicroversionTest, try: cls.client.delete_allocation(allocation) except lib_exc.NotFound: - pass + LOG.warning('Cleanup: Failed to delete allocation: %s', + allocation) for node in cls.created_objects['node']: try: cls.client.update_node(node, instance_uuid=None) except lib_exc.TempestException: - pass + LOG.warning('Cleanup: Failed to delete node: %s', + node) for resource in RESOURCE_TYPES: uuids = cls.created_objects[resource]