Allows Javelin to specify Swift role
Javelin assumes that the role needed by Swift is 'Member'. This patch
allows the possibility to specify something else, while keeping the
default value to 'Member' if nothing is specified.
Change-Id: I672f3efa8c00d55cc9bb644783e40a11e548018c
diff --git a/tempest/cmd/javelin.py b/tempest/cmd/javelin.py
index e970249..23c9597 100755
--- a/tempest/cmd/javelin.py
+++ b/tempest/cmd/javelin.py
@@ -306,10 +306,10 @@
return tenants
-def _assign_swift_role(user):
+def _assign_swift_role(user, swift_role):
admin = keystone_admin()
roles = admin.identity.list_roles()
- role = next(r for r in roles if r['name'] == 'Member')
+ role = next(r for r in roles if r['name'] == swift_role)
LOG.debug(USERS[user])
try:
admin.identity.assign_user_role(
@@ -583,7 +583,8 @@
LOG.info("Creating objects")
for obj in objects:
LOG.debug("Object %s" % obj)
- _assign_swift_role(obj['owner'])
+ swift_role = obj.get('swift_role', 'Member')
+ _assign_swift_role(obj['owner'], swift_role)
client = client_for_user(obj['owner'])
client.containers.create_container(obj['container'])
client.objects.create_object(