commit 906d824a1985332949090583fdc3f4a5ce30125a Author: Luigi Toscano Date: Sun Oct 11 21:59:07 2020 +0200 Fix: do not lose the tox_environment value in func tests The current code always overrides tox_environment when running functional tests, but the correct behavior is to add the discovered environment variables to tox_environments, while keeping the user-specified value for it. The current behavior breaks the devstack-tox-functional children jobs, like openstacksdk-functional-devstack-ironic, which set tox_environment. Change-Id: I5dc9054a1495ca0ef7745c08316441ab153956f4 diff --git a/playbooks/tox/run-both.yaml b/playbooks/tox/run-both.yaml index 0528b46..e4043d8 100644 --- a/playbooks/tox/run-both.yaml +++ b/playbooks/tox/run-both.yaml @@ -8,5 +8,4 @@ - test-setup - ensure-tox - get-devstack-os-environment - - role: tox - tox_environment: "{{ os_env_vars|default({}) }}" + - tox diff --git a/playbooks/tox/run.yaml b/playbooks/tox/run.yaml index 6e549d3..0d065c6 100644 --- a/playbooks/tox/run.yaml +++ b/playbooks/tox/run.yaml @@ -1,5 +1,4 @@ - hosts: all roles: - get-devstack-os-environment - - role: tox - tox_environment: "{{ os_env_vars|default({}) }}" + - tox diff --git a/roles/get-devstack-os-environment/defaults/main.yaml b/roles/get-devstack-os-environment/defaults/main.yaml index 73ecfe9..f68ea56 100644 --- a/roles/get-devstack-os-environment/defaults/main.yaml +++ b/roles/get-devstack-os-environment/defaults/main.yaml @@ -3,3 +3,4 @@ openrc_file: "{{ devstack_base_dir }}/devstack/openrc" openrc_user: admin openrc_project: admin openrc_enable_export: false +tox_environment: {} diff --git a/roles/get-devstack-os-environment/tasks/main.yaml b/roles/get-devstack-os-environment/tasks/main.yaml index 8c8df7f..b2c5e93 100644 --- a/roles/get-devstack-os-environment/tasks/main.yaml +++ b/roles/get-devstack-os-environment/tasks/main.yaml @@ -9,6 +9,6 @@ executable: "/bin/bash" register: env_os - - name: Save the OS_ environment variables as a fact + - name: Append the the OS_ environment variables to tox_environment set_fact: - os_env_vars: "{{ env_os.stdout|from_yaml }}" + tox_environment: "{{ env_os.stdout|from_yaml|default({})|combine(tox_environment) }}"