python-tempestconf/playbooks/python-tempestconf-tempest-devstack.yaml
Martin Kopec 310fd11709 Fix no _member_ role found
python-tempestconf sets _member_role by default, however,
the role is not created in devstack environment by default.
Therefore the patch adds logic which checks if the role is
present and if it's not, it tries to look for member role.
If the member role is not present as well, auth.tempest_roles
is not set at all.

Story: 2003550
Task: 24839

Change-Id: I0051bb4f870d58298403ac6fef6ae4ec454997af
2019-04-18 08:04:53 +00:00

45 lines
1.7 KiB
YAML

- hosts: all
roles:
# the role is inherited from openstack-dev/devstack project
- run-devstack
- hosts: tempest
vars:
# It's important that OS_AUTH_URL is in this format:
# <protocol>://<host>/identity/v3
# In some cases it can be only: <protocol>://<host>:5000
# https://github.com/openstack-dev/devstack/blob/2c9343e5db44fa7a41ca6924737331dd9088ef8f/openrc#L87-L89
# (mkopec) That would end up with an HTTP MaxRetryError to <host>:5000,
# therefor OS_AUTH_URL is defined manually
set_auth_url: "OS_AUTH_URL=$SERVICE_PROTOCOL://$SERVICE_HOST/identity/v3"
devstack_base_dir: "/opt/stack"
test_demo_user: "{{ test_demo is defined }}"
tasks:
# setup-tempest-* and acl-devstack-files roles are inherited from
# openstack/tempest project
- name: Setup Tempest Run Directory
include_role:
name: setup-tempest-run-dir
- name: Setup Tempest Data Directory
include_role:
name: setup-tempest-data-dir
- name: ACL devstack files
include_role:
name: acl-devstack-files
- name: Edit clouds.yaml file
include_role:
name: tempestconf-workaround-auth-url
- name: Generate tempest configuration file
include_role:
name: generate-tempestconf-file
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 }}"
- name: Generate tempest configuration file based on cloud credentials
include_role:
name: generate-tempestconf-file-cloud
# run-tempest role is inherited from openstack/tempest project
- name: Run Tempest Tests
include_role:
name: run-tempest