devstack/roles/get-devstack-os-environment/tasks/main.yaml
Luigi Toscano 6fba3fdfa1 New get-devstack-os-environment role
The role reads the OS_* variables set by devstack through openrc
for the specified user and project and exports them as
the os_env_vars fact. It is meant to be used as a porting aid
for the jobs of the non-unified *clients only.

This is useful to run functional tests against the generated
environment. A slightly less generic version of this role
is currently used by python-cinderclient and python-novaclient
(get-os-environment).

In order to make this more useful, call it from
devstack-tox-functional and derived jobs. The role
execution is disabled by default and it can be enabled
by setting openrc_enable_export: true.

Change-Id: I15f5a187dbc54c82e8f4a08b4bb58d56e0d66961
2020-08-18 22:29:50 +02:00

15 lines
479 B
YAML

- when: openrc_enable_export
block:
- name: Extract the OS_ environment variables
shell:
cmd: |
source {{ openrc_file }} {{ openrc_user }} {{ openrc_project }} &>/dev/null
env | awk -F= 'BEGIN {print "---" } /^OS_/ { print " "$1": \""$2"\""} '
args:
executable: "/bin/bash"
register: env_os
- name: Save the OS_ environment variables as a fact
set_fact:
os_env_vars: "{{ env_os.stdout|from_yaml }}"