Merge "Updated from global requirements"
diff --git a/patrole_tempest_plugin/tests/api/volume/test_capabilities_rbac.py b/patrole_tempest_plugin/tests/api/volume/test_capabilities_rbac.py
index cfca14e..82b89ab 100644
--- a/patrole_tempest_plugin/tests/api/volume/test_capabilities_rbac.py
+++ b/patrole_tempest_plugin/tests/api/volume/test_capabilities_rbac.py
@@ -40,5 +40,5 @@
@decorators.idempotent_id('40928b74-2141-11e7-93ae-92361f002671')
def test_show_back_end_capabilities(self):
host = self.hosts_client.list_hosts()['hosts'][0]['host_name']
- self.rbac_utils.switch_role(self, toggle_rbac_role=True)
- self.capabilities_client.show_backend_capabilities(host)
+ with self.rbac_utils.override_role(self):
+ self.capabilities_client.show_backend_capabilities(host)
diff --git a/patrole_tempest_plugin/tests/api/volume/test_encryption_types_rbac.py b/patrole_tempest_plugin/tests/api/volume/test_encryption_types_rbac.py
index a78585f..62ccc9e 100644
--- a/patrole_tempest_plugin/tests/api/volume/test_encryption_types_rbac.py
+++ b/patrole_tempest_plugin/tests/api/volume/test_encryption_types_rbac.py
@@ -48,11 +48,11 @@
rule="volume_extension:volume_type_encryption")
def test_create_volume_type_encryption(self):
vol_type_id = self.create_volume_type()['id']
- self.rbac_utils.switch_role(self, toggle_rbac_role=True)
- self.encryption_types_client.create_encryption_type(
- vol_type_id,
- provider="nova.volume.encryptors.luks.LuksEncryptor",
- control_location="front-end")['encryption']
+ with self.rbac_utils.override_role(self):
+ self.encryption_types_client.create_encryption_type(
+ vol_type_id,
+ provider="nova.volume.encryptors.luks.LuksEncryptor",
+ control_location="front-end")['encryption']
@decorators.idempotent_id('6599e72e-acef-4c0d-a9b2-463fca30d1da')
@rbac_rule_validation.action(
@@ -60,8 +60,8 @@
rule="volume_extension:volume_type_encryption")
def test_delete_volume_type_encryption(self):
vol_type_id = self._create_volume_type_encryption()
- self.rbac_utils.switch_role(self, toggle_rbac_role=True)
- self.encryption_types_client.delete_encryption_type(vol_type_id)
+ with self.rbac_utils.override_role(self):
+ self.encryption_types_client.delete_encryption_type(vol_type_id)
@decorators.idempotent_id('42da9fec-32fd-4dca-9242-8a53b2fed25a')
@rbac_rule_validation.action(
@@ -69,10 +69,10 @@
rule="volume_extension:volume_type_encryption")
def test_update_volume_type_encryption(self):
vol_type_id = self._create_volume_type_encryption()
- self.rbac_utils.switch_role(self, toggle_rbac_role=True)
- self.encryption_types_client.update_encryption_type(
- vol_type_id,
- control_location="front-end")
+ with self.rbac_utils.override_role(self):
+ self.encryption_types_client.update_encryption_type(
+ vol_type_id,
+ control_location="front-end")
@decorators.idempotent_id('1381a3dc-248f-4282-b231-c9399018c804')
@rbac_rule_validation.action(
@@ -80,5 +80,5 @@
rule="volume_extension:volume_type_encryption")
def test_show_volume_type_encryption(self):
vol_type_id = self._create_volume_type_encryption()
- self.rbac_utils.switch_role(self, toggle_rbac_role=True)
- self.encryption_types_client.show_encryption_type(vol_type_id)
+ with self.rbac_utils.override_role(self):
+ self.encryption_types_client.show_encryption_type(vol_type_id)
diff --git a/patrole_tempest_plugin/tests/api/volume/test_groups_rbac.py b/patrole_tempest_plugin/tests/api/volume/test_groups_rbac.py
index 7f1010f..c9ecdae 100644
--- a/patrole_tempest_plugin/tests/api/volume/test_groups_rbac.py
+++ b/patrole_tempest_plugin/tests/api/volume/test_groups_rbac.py
@@ -24,13 +24,6 @@
class BaseGroupRbacTest(rbac_base.BaseVolumeRbacTest):
- credentials = ['primary', 'admin']
-
- @classmethod
- def setup_clients(cls):
- super(BaseGroupRbacTest, cls).setup_clients()
- cls.admin_groups_client = cls.os_admin.groups_v3_client
- cls.admin_volumes_client = cls.os_admin.volumes_v3_client
def setUp(self):
super(BaseGroupRbacTest, self).setUp()
@@ -48,18 +41,18 @@
else:
self.addCleanup(self._delete_group, group['id'])
waiters.wait_for_volume_resource_status(
- self.admin_groups_client, group['id'], 'available')
+ self.groups_client, group['id'], 'available')
return group
def _delete_group(self, group_id):
self.groups_client.delete_group(group_id, delete_volumes=True)
- self.admin_groups_client.wait_for_resource_deletion(group_id)
+ self.groups_client.wait_for_resource_deletion(group_id)
- vols = self.admin_volumes_client.list_volumes(
+ vols = self.volumes_client.list_volumes(
detail=True, params={'all_tenants': True})['volumes']
for vol in vols:
if vol['group_id'] == group_id:
- self.admin_volumes_client.wait_for_resource_deletion(
+ self.volumes_client.wait_for_resource_deletion(
vol['id'])
@@ -71,11 +64,18 @@
@rbac_rule_validation.action(
service="cinder",
rule="group:create")
- def test_create_group(self):
- self.rbac_utils.switch_role(self, toggle_rbac_role=True)
- self._create_group(ignore_notfound=True,
- group_type=self.group_type_id,
- volume_types=[self.volume_type_id])
+ def test_create_group(self, name=None):
+
+ group_name = name or data_utils.rand_name(
+ self.__class__.__name__ + '-Group')
+ with self.rbac_utils.override_role(self):
+ group = self.groups_client.create_group(
+ name=group_name, group_type=self.group_type_id,
+ volume_types=[self.volume_type_id])['group']
+ self.addCleanup(self._delete_group, group['id'])
+
+ waiters.wait_for_volume_resource_status(
+ self.groups_client, group['id'], 'available')
@decorators.idempotent_id('9dc34a62-ae3e-439e-92b6-9389ea4c2863')
@rbac_rule_validation.action(
@@ -85,24 +85,24 @@
group = self._create_group(group_type=self.group_type_id,
volume_types=[self.volume_type_id])
- self.rbac_utils.switch_role(self, toggle_rbac_role=True)
- self.groups_client.show_group(group['id'])
+ with self.rbac_utils.override_role(self):
+ self.groups_client.show_group(group['id'])
@decorators.idempotent_id('db43841b-a173-4317-acfc-f83e4e48e4ee')
@rbac_rule_validation.action(
service="cinder",
rule="group:get_all")
def test_list_groups(self):
- self.rbac_utils.switch_role(self, toggle_rbac_role=True)
- self.groups_client.list_groups()['groups']
+ with self.rbac_utils.override_role(self):
+ self.groups_client.list_groups()['groups']
@decorators.idempotent_id('5378da93-9c26-4ad4-b039-0555e2b8f668')
@rbac_rule_validation.action(
service="cinder",
rule="group:get_all")
def test_list_groups_with_details(self):
- self.rbac_utils.switch_role(self, toggle_rbac_role=True)
- self.groups_client.list_groups(detail=True)['groups']
+ with self.rbac_utils.override_role(self):
+ self.groups_client.list_groups(detail=True)['groups']
@decorators.idempotent_id('f499fc48-df83-4917-bf8d-783ebf6f080b')
@rbac_rule_validation.action(
@@ -113,20 +113,29 @@
volume_types=[self.volume_type_id])
updated_name = data_utils.rand_name(self.__class__.__name__ + '-Group')
- self.rbac_utils.switch_role(self, toggle_rbac_role=True)
- self.groups_client.update_group(group['id'], name=updated_name)
+ with self.rbac_utils.override_role(self):
+ self.groups_client.update_group(group['id'], name=updated_name)
@decorators.idempotent_id('66fda391-5774-42a9-a018-80b34e57ab76')
@rbac_rule_validation.action(
service="cinder",
rule="group:delete")
def test_delete_group(self):
+
group = self._create_group(ignore_notfound=True,
group_type=self.group_type_id,
volume_types=[self.volume_type_id])
+ group_id = group['id']
+ with self.rbac_utils.override_role(self):
+ self.groups_client.delete_group(group_id, delete_volumes=True)
- self.rbac_utils.switch_role(self, toggle_rbac_role=True)
- self._delete_group(group['id'])
+ self.groups_client.wait_for_resource_deletion(group_id)
+ vols = self.volumes_client.list_volumes(
+ detail=True, params={'all_tenants': True})['volumes']
+ for vol in vols:
+ if vol['group_id'] == group_id:
+ self.volumes_client.wait_for_resource_deletion(
+ vol['id'])
class GroupV320RbacTest(BaseGroupRbacTest):
@@ -159,8 +168,8 @@
service="cinder",
rule="group:group_types_manage")
def test_create_group_type(self):
- self.rbac_utils.switch_role(self, toggle_rbac_role=True)
- self.create_group_type(ignore_notfound=True)
+ with self.rbac_utils.override_role(self):
+ self.create_group_type(ignore_notfound=True)
@decorators.idempotent_id('a5f88c26-df7c-4f21-a3ae-7a4c2d6212b4')
@rbac_rule_validation.action(
@@ -170,8 +179,8 @@
# TODO(felipemonteiro): Combine with ``test_create_group_type``
# once multiple policy testing is supported. This policy is
# only enforced after "group:group_types_manage".
- self.rbac_utils.switch_role(self, toggle_rbac_role=True)
- group_type = self.create_group_type(ignore_notfound=True)
+ with self.rbac_utils.override_role(self):
+ group_type = self.create_group_type(ignore_notfound=True)
if 'group_specs' not in group_type:
raise rbac_exceptions.RbacMalformedResponse(
@@ -184,8 +193,8 @@
def test_delete_group_type(self):
group_type = self.create_group_type(ignore_notfound=True)
- self.rbac_utils.switch_role(self, toggle_rbac_role=True)
- self.group_types_client.delete_group_type(group_type['id'])
+ with self.rbac_utils.override_role(self):
+ self.group_types_client.delete_group_type(group_type['id'])
@decorators.idempotent_id('8d9e2831-24c3-47b7-a76a-2e563287f12f')
@rbac_rule_validation.action(
@@ -193,9 +202,8 @@
rule="group:access_group_types_specs")
def test_show_group_type(self):
group_type = self.create_group_type()
- self.rbac_utils.switch_role(self, toggle_rbac_role=True)
- resp_body = \
- self.group_types_client.show_group_type(
+ with self.rbac_utils.override_role(self):
+ resp_body = self.group_types_client.show_group_type(
group_type['id'])['group_type']
if 'group_specs' not in resp_body:
raise rbac_exceptions.RbacMalformedResponse(
diff --git a/requirements.txt b/requirements.txt
index f675e4d..35c6038 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,7 +1,6 @@
# The order of packages is significant, because pip processes them in the order
# of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later.
-hacking>=1.0.0 # Apache-2.0
pbr!=2.1.0,>=2.0.0 # Apache-2.0
oslo.log>=3.36.0 # Apache-2.0
oslo.config>=5.1.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 7bd15ca..7a4ec28 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -12,6 +12,3 @@
nose>=1.3.7 # LGPL
nosexcover>=1.0.10 # BSD
oslotest>=3.2.0 # Apache-2.0
-oslo.policy>=1.30.0 # Apache-2.0
-oslo.log>=3.36.0 # Apache-2.0
-tempest>=17.1.0 # Apache-2.0