diff --git a/.zuul.yaml b/.zuul.yaml
index 49b889f..8130657 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -95,11 +95,13 @@
 - job:
     name: patrole-member-ussuri
     parent: patrole-member
+    nodeset: openstack-single-node-bionic
     override-checkout: stable/ussuri
 
 - job:
     name: patrole-member-train
     parent: patrole-member
+    nodeset: openstack-single-node-bionic
     override-checkout: stable/train
     vars:
       devstack_localrc:
@@ -108,6 +110,7 @@
 - job:
     name: patrole-member-stein
     parent: patrole-member
+    nodeset: openstack-single-node-bionic
     override-checkout: stable/stein
     vars:
       devstack_localrc:
diff --git a/lower-constraints.txt b/lower-constraints.txt
index c874f08..c0da9ce 100644
--- a/lower-constraints.txt
+++ b/lower-constraints.txt
@@ -4,7 +4,7 @@
 Babel==2.5.3
 bcrypt==3.1.4
 certifi==2018.1.18
-cffi==1.11.5
+cffi==1.14.0
 chardet==3.0.4
 cliff==2.11.0
 cmd2==0.8.1
@@ -58,7 +58,7 @@
 python-mimeparse==1.6.0
 python-subunit==1.2.0
 pytz==2018.3
-PyYAML==3.12
+PyYAML==3.13
 requests==2.18.4
 requestsexceptions==1.4.0
 rfc3986==1.1.0
diff --git a/patrole_tempest_plugin/tests/api/compute/test_floating_ips_rbac.py b/patrole_tempest_plugin/tests/api/compute/test_floating_ips_rbac.py
index d313494..ed3691e 100644
--- a/patrole_tempest_plugin/tests/api/compute/test_floating_ips_rbac.py
+++ b/patrole_tempest_plugin/tests/api/compute/test_floating_ips_rbac.py
@@ -23,6 +23,21 @@
 
 CONF = config.CONF
 
+# RBAC category or action was changed in Victoria release per
+# https://docs.openstack.org/api-ref/compute/#floating-ips-os-floating-ips-deprecated
+# and
+# https://github.com/openstack/nova/blob/master/nova/policies/floating_ips.py#L21
+if CONF.policy_feature_enabled.changed_nova_policies_victoria:
+    _FIP_GET = "os_compute_api:os-floating-ips:list"
+    _FIP_SHOW = "os_compute_api:os-floating-ips:show"
+    _FIP_CREATE = "os_compute_api:os-floating-ips:create"
+    _FIP_DELETE = "os_compute_api:os-floating-ips:delete"
+else:
+    _FIP_GET = "os_compute_api:os-floating-ips"
+    _FIP_SHOW = "os_compute_api:os-floating-ips"
+    _FIP_CREATE = "os_compute_api:os-floating-ips"
+    _FIP_DELETE = "os_compute_api:os-floating-ips"
+
 
 class FloatingIpsRbacTest(rbac_base.BaseV2ComputeRbacTest):
 
@@ -44,7 +59,7 @@
     @decorators.idempotent_id('ac1b3053-f755-4cda-85a0-30e88b88d7ba')
     @rbac_rule_validation.action(
         service="nova",
-        rules=["os_compute_api:os-floating-ips"])
+        rules=[_FIP_GET])
     def test_list_floating_ips(self):
         with self.override_role():
             self.floating_ips_client.list_floating_ips()
@@ -52,7 +67,7 @@
     @decorators.idempotent_id('bebe52b3-5269-4e72-80c8-5a4a39c3bfa6')
     @rbac_rule_validation.action(
         service="nova",
-        rules=["os_compute_api:os-floating-ips"])
+        rules=[_FIP_SHOW])
     def test_show_floating_ip(self):
         body = self.floating_ips_client.create_floating_ip(
             pool=CONF.network.floating_network_name)['floating_ip']
@@ -64,7 +79,7 @@
     @decorators.idempotent_id('2bfb8745-c329-4ee9-95f6-c165a1989dbf')
     @rbac_rule_validation.action(
         service="nova",
-        rules=["os_compute_api:os-floating-ips"])
+        rules=[_FIP_CREATE])
     def test_create_floating_ips(self):
         with self.override_role():
             body = self.floating_ips_client.create_floating_ip(
@@ -75,7 +90,7 @@
     @decorators.idempotent_id('d3028373-5027-4e7a-b761-01c515403ecb')
     @rbac_rule_validation.action(
         service="nova",
-        rules=["os_compute_api:os-floating-ips"])
+        rules=[_FIP_DELETE])
     def test_delete_floating_ip(self):
         body = self.floating_ips_client.create_floating_ip(
             pool=CONF.network.floating_network_name)['floating_ip']
diff --git a/patrole_tempest_plugin/tests/api/compute/test_quota_class_sets_rbac.py b/patrole_tempest_plugin/tests/api/compute/test_quota_class_sets_rbac.py
index d9022d4..b26ddc3 100644
--- a/patrole_tempest_plugin/tests/api/compute/test_quota_class_sets_rbac.py
+++ b/patrole_tempest_plugin/tests/api/compute/test_quota_class_sets_rbac.py
@@ -51,7 +51,7 @@
     def resource_setup(cls):
         super(QuotaClassesRbacTest, cls).resource_setup()
         # Create a project with its own quota.
-        project_name = data_utils.rand_name(cls.__name__ + '-project')
+        project_name = data_utils.rand_name(cls.__name__)
         project_desc = project_name + '-desc'
         project = identity.identity_utils(cls.os_admin).create_project(
             name=project_name, description=project_desc)
diff --git a/patrole_tempest_plugin/tests/api/compute/test_quota_sets_rbac.py b/patrole_tempest_plugin/tests/api/compute/test_quota_sets_rbac.py
index 5835905..a41d0e0 100644
--- a/patrole_tempest_plugin/tests/api/compute/test_quota_sets_rbac.py
+++ b/patrole_tempest_plugin/tests/api/compute/test_quota_sets_rbac.py
@@ -90,7 +90,7 @@
         rules=["os_compute_api:os-quota-sets:delete"])
     def test_delete_quota_set(self):
         project_name = data_utils.rand_name(
-            self.__class__.__name__ + '-project')
+            self.__class__.__name__)
         project_desc = project_name + '-desc'
         project = identity.identity_utils(self.os_admin).create_project(
             name=project_name, description=project_desc)
diff --git a/patrole_tempest_plugin/tests/api/identity/rbac_base.py b/patrole_tempest_plugin/tests/api/identity/rbac_base.py
index 6e76a72..4321c60 100644
--- a/patrole_tempest_plugin/tests/api/identity/rbac_base.py
+++ b/patrole_tempest_plugin/tests/api/identity/rbac_base.py
@@ -204,7 +204,7 @@
     def setup_test_domain(cls):
         """Set up a test domain."""
         domain = cls.domains_client.create_domain(
-            name=data_utils.rand_name(cls.__name__ + '-test_domain'),
+            name=data_utils.rand_name(cls.__name__),
             description=data_utils.rand_name(
                 cls.__name__ + '-desc'))['domain']
         cls.domains.append(domain)
@@ -240,7 +240,7 @@
         """Set up a test project."""
         project = cls.projects_client.create_project(
             name=data_utils.rand_name(
-                cls.__name__ + '-testproject'),
+                cls.__name__),
             description=data_utils.rand_name(
                 cls.__name__ + '-desc'))['project']
         cls.projects.append(project)
diff --git a/patrole_tempest_plugin/tests/api/identity/v3/test_domains_rbac.py b/patrole_tempest_plugin/tests/api/identity/v3/test_domains_rbac.py
index f97570f..2ad50cf 100644
--- a/patrole_tempest_plugin/tests/api/identity/v3/test_domains_rbac.py
+++ b/patrole_tempest_plugin/tests/api/identity/v3/test_domains_rbac.py
@@ -35,7 +35,7 @@
     def test_update_domain(self):
         domain = self.setup_test_domain()
         new_domain_name = data_utils.rand_name(
-            self.__class__.__name__ + '-test_update_domain')
+            self.__class__.__name__)
         with self.override_role():
             self.domains_client.update_domain(domain['id'],
                                               domain=domain,
diff --git a/patrole_tempest_plugin/tests/api/identity/v3/test_oauth_consumers_rbac.py b/patrole_tempest_plugin/tests/api/identity/v3/test_oauth_consumers_rbac.py
index aaaddf7..4198a46 100644
--- a/patrole_tempest_plugin/tests/api/identity/v3/test_oauth_consumers_rbac.py
+++ b/patrole_tempest_plugin/tests/api/identity/v3/test_oauth_consumers_rbac.py
@@ -25,7 +25,7 @@
 
     def _create_consumer(self):
         description = data_utils.rand_name(
-            self.__class__.__name__ + '-IdentityConsumer')
+            self.__class__.__name__)
         consumer = self.consumers_client.create_consumer(
             description)['consumer']
         self.addCleanup(test_utils.call_and_ignore_notfound_exc,
@@ -55,7 +55,7 @@
     def test_update_consumer(self):
         consumer = self._create_consumer()
         updated_description = data_utils.rand_name(
-            self.__class__.__name__ + '-IdentityConsumer')
+            self.__class__.__name__)
 
         with self.override_role():
             self.consumers_client.update_consumer(consumer['id'],
