python-tempestconf/playbooks/python-tempestconf-tempest-devstack.yaml
Martin Kopec 73cbf531f5 Roles for managing clouds.yaml file
* Decouple few tasks from generate-tempestconf-file-cloud role
  to a new role named edit-clouds-yaml-file in order to be
  able to use this logic multiple times.
* Add a new role, which creates clouds.yaml file - usefull
  when a module requires an authentication and an environment
  doesn't have one (f.e. packstack)

Change-Id: I133529857c2b095c2183aa544dc0e45a48b9f34c
2018-04-09 15:19:02 +00:00

43 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"
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:
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
# run-tempest role is inherited from openstack/tempest project
- name: Run Tempest Tests
include_role:
name: run-tempest