Merge "Disable use of the SSH agent for the rescue test"
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 @@
         _, 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 @@
         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 @@
         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 @@
         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.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 @@
                     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 @@
                 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]