diff --git a/roles/sanity_check/tasks/subtasks/tags_check.yml b/roles/sanity_check/tasks/subtasks/tags_check.yml index 59bfea2606..d5984a114a 100644 --- a/roles/sanity_check/tasks/subtasks/tags_check.yml +++ b/roles/sanity_check/tasks/subtasks/tags_check.yml @@ -14,7 +14,7 @@ - name: Ansible Tags | Load tags from cache if available ansible.builtin.set_fact: - loaded_tags: "{{ (lookup('file', '/srv/git/sb/cache.json') | from_json)['/opt/sandbox']['tags'] + sanity_check_ansible_tags_extra }}" + loaded_tags: "{{ (lookup('file', '/srv/git/sb/cache.json') | from_json)['/opt/sandbox']['tags'] | default([]) + sanity_check_ansible_tags_extra }}" when: cache_file_stat.stat.exists and (sanity_check_use_cache | bool) - name: Ansible Tags | Get all available Ansible tags if cache is not available @@ -23,12 +23,12 @@ | cut -d":" -f2 | awk '{sub(/\[/, "")sub(/\]/, "")}1' | sed -e 's/,//g' | xargs -n 1 | sort -u register: available_ansible_tags changed_when: false - when: loaded_tags is undefined + when: (loaded_tags is defined and ((loaded_tags | length) == (sanity_check_ansible_tags_extra | length))) or loaded_tags is undefined - name: Ansible Tags | Set loaded tags from command if cache is not available ansible.builtin.set_fact: loaded_tags: "{{ available_ansible_tags.stdout_lines }}" - when: loaded_tags is undefined + when: (loaded_tags is defined and ((loaded_tags | length) == (sanity_check_ansible_tags_extra | length))) or loaded_tags is undefined - name: Ansible Tags | Ensure valid Ansible tag(s) were provided ansible.builtin.assert: