From fc9d8dab68cbd4e182dd4d7aad070482e9703c08 Mon Sep 17 00:00:00 2001 From: Jiri Podivin Date: Fri, 29 Apr 2022 08:58:21 +0200 Subject: [PATCH] Setting default inventory to 0 length string Default inventory used by the CI has to be set to a string of zero length in order to trigger inventory discovery mechanism, otherwise the task is skipped. The default inventory "localhost" is substituted only if no viable path is discovered. Loop variables of the inventory discovery task were explicitly named and conditionals simplified in order to improve overall stability of the routine. Signed-off-by: Jiri Podivin Change-Id: Icccc5384cfc5d04e8c92682e7cbab5acad5a4e39 --- roles/validations/defaults/main.yaml | 2 +- roles/validations/tasks/main.yaml | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/roles/validations/defaults/main.yaml b/roles/validations/defaults/main.yaml index a91cc8e..6f9afe3 100644 --- a/roles/validations/defaults/main.yaml +++ b/roles/validations/defaults/main.yaml @@ -5,7 +5,7 @@ zuul_work_virtualenv: "{{ user_dir }}/.venv" vf_log_dir: "{{ ansible_user_dir }}/logs" ansible_dir: "" -inventory: "localhost" +inventory: "" inventory_list: - '{{ user_dir }}/tripleo-deploy/overcloud/tripleo-ansible-inventory.yaml' - '{{ user_dir }}/tripleo-deploy/undercloud/tripleo-ansible-inventory.yaml' diff --git a/roles/validations/tasks/main.yaml b/roles/validations/tasks/main.yaml index 22ea802..1ac9bac 100644 --- a/roles/validations/tasks/main.yaml +++ b/roles/validations/tasks/main.yaml @@ -48,19 +48,23 @@ - name: Stat all possible inventory location register: stat_results stat: - path: '{{ item }}' + path: '{{ inv_path }}' loop: '{{ inventory_list }}' + loop_control: + loop_var: inv_path - name: Set inventory path or fallback to default localhost set_fact: - inventory_path: '{{ item.item if not inventory_path|default(false) else inventory_path|default("localhost") }}' + inventory_path: '{{ stat_result.inv_path }}' when: - - '{{ item.stat.exists }}' + - '{{ stat_result.stat.exists }}' loop: '{{ stat_results.results }}' + loop_control: + loop_var: stat_result - name: Set inventory variable set_fact: - inventory: '{{ inventory_path }}' + inventory: '{{ inventory_path|default("localhost") }}' when: inventory == "" - name: Run positive validation tests