Merge "Clean up test_admin_password_rbac"
diff --git a/patrole_tempest_plugin/tests/api/compute/test_admin_password_rbac.py b/patrole_tempest_plugin/tests/api/compute/test_admin_password_rbac.py
index a0e46a6..38b5f1a 100644
--- a/patrole_tempest_plugin/tests/api/compute/test_admin_password_rbac.py
+++ b/patrole_tempest_plugin/tests/api/compute/test_admin_password_rbac.py
@@ -13,6 +13,9 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
+import testtools
+
+from tempest.common import waiters
 from tempest import config
 from tempest.lib.common.utils import data_utils
 from tempest.lib import decorators
@@ -20,28 +23,22 @@
 from patrole_tempest_plugin import rbac_rule_validation
 from patrole_tempest_plugin.tests.api.compute import rbac_base
 
-
 CONF = config.CONF
 
 
 class AdminPasswordRbacTest(rbac_base.BaseV2ComputeRbacTest):
 
-    @classmethod
-    def skip_checks(cls):
-        super(AdminPasswordRbacTest, cls).skip_checks()
-        if not CONF.compute_feature_enabled.change_password:
-            raise cls.skipException('Change password not available.')
-
-    @classmethod
-    def resource_setup(cls):
-        super(AdminPasswordRbacTest, cls).resource_setup()
-        cls.server_id = cls.create_test_server(wait_until='ACTIVE')['id']
-
+    @testtools.skipUnless(CONF.compute_feature_enabled.change_password,
+                          'Change password not available.')
     @rbac_rule_validation.action(
-        service="nova", rule="os_compute_api:os-admin-password")
+        service="nova",
+        rule="os_compute_api:os-admin-password")
     @decorators.idempotent_id('908a7d59-3a66-441c-94cf-38e57ed14956')
     def test_change_server_password(self):
+        server_id = self.create_test_server(wait_until='ACTIVE')['id']
+
         self.rbac_utils.switch_role(self, toggle_rbac_role=True)
         self.servers_client.change_password(
-            self.server_id,
-            adminPass=data_utils.rand_password())
+            server_id, adminPass=data_utils.rand_password())
+        waiters.wait_for_server_status(
+            self.os_admin.servers_client, server_id, 'ACTIVE')