Merge "Fix no _member_ role found"

This commit is contained in:
Zuul 2019-04-24 15:54:27 +00:00 committed by Gerrit Code Review
commit e0d5dd6725
5 changed files with 16 additions and 1 deletions

View File

@ -108,6 +108,7 @@
Tempest job for python-tempestconf on a devstack environment as the demo user.
run: playbooks/python-tempestconf-tempest-devstack.yaml
vars:
aditional_tempestconf_params: "auth.tempest_roles member"
user: demo
cloud_user: devstack
test_demo: true
@ -163,6 +164,7 @@
Tempest job for python-tempestconf on a devstack environment with python3 enabled
for demo users.
vars:
aditional_tempestconf_params: "auth.tempest_roles member"
tempestconf_pip_virtualenv_python: "python3"
devstack_localrc:
USE_PYTHON3: true

View File

@ -28,6 +28,7 @@ class TestUsers(BaseConfigTempestTest):
# Story 2003388
super(TestUsers, self).setUp()
self.conf = self._get_conf("v2.0", "v3")
self.conf.set("auth", "tempest_roles", "_member_")
projects_client = self._get_clients(self.conf).projects
users_client = self._get_clients(self.conf).users
roles_client = self._get_clients(self.conf).roles

View File

@ -71,6 +71,16 @@ class Users(object):
user_ids = [u['id'] for u in users['users'] if u['name'] == username]
user_id = user_ids[0]
roles = self.roles_client.list_roles()
# check auth.tempest_roles
roles_names = [r['name'] for r in roles['roles']]
if self._conf.get('auth', 'tempest_roles') not in roles_names:
# try 'member', usually it's present in a system
if 'member' in roles_names:
self._conf.set('auth', 'tempest_roles', 'member')
else:
# the default role/role given by user or 'member' role are not
# present in the system, remove the option completely
self._conf.remove_option('auth', 'tempest_roles')
role_ids = [r['id'] for r in roles['roles'] if r['name'] == role_name]
if not role_ids:
if role_required:

View File

@ -28,6 +28,9 @@ Here is the list of tempest options, which are set by default:
img_dir = etc
[auth]
; if _member_ role is not present in the system, python-tempestconf
; looks for member role and if the member is also not present
; tempest_roles option is not set
tempest_roles = _member_
admin_username = admin
admin_project_name = admin

View File

@ -35,7 +35,6 @@
vars:
create_accounts_file: True
source_credentials_commands: "export HOST_IP={{ ansible_default_ipv4.address }}; source {{ devstack_base_dir }}/devstack/openrc {{ user }} {{ user }}; {{ set_auth_url }}"
aditional_tempestconf_params: "auth.tempest_roles Member"
- name: Generate tempest configuration file based on cloud credentials
include_role:
name: generate-tempestconf-file-cloud