diff --git a/awx/playbooks/project_update.yml b/awx/playbooks/project_update.yml index 169273d628..74e55e7ada 100644 --- a/awx/playbooks/project_update.yml +++ b/awx/playbooks/project_update.yml @@ -159,23 +159,29 @@ gather_facts: false connection: local name: Install content with ansible-galaxy command if necessary + vars: + yaml_exts: + - {ext: .yml} + - {ext: .yaml} tasks: - block: - - name: detect requirements.yml + - name: detect roles/requirements.(yml/yaml) stat: - path: '{{project_path|quote}}/roles/requirements.yml' + path: "{{project_path|quote}}/roles/requirements{{ item.ext }}" + with_items: "{{ yaml_exts }}" register: doesRequirementsExist - - name: fetch galaxy roles from requirements.yml + - name: fetch galaxy roles from requirements.(yml/yaml) command: > - ansible-galaxy role install -r roles/requirements.yml + ansible-galaxy role install -r {{ item.stat.path }} --roles-path {{projects_root}}/.__awx_cache/{{local_path}}/stage/requirements_roles {{ ' -' + 'v' * ansible_verbosity if ansible_verbosity else '' }} args: chdir: "{{project_path|quote}}" register: galaxy_result - when: doesRequirementsExist.stat.exists + with_items: "{{ doesRequirementsExist.results }}" + when: item.stat.exists changed_when: "'was installed successfully' in galaxy_result.stdout" environment: ANSIBLE_FORCE_COLOR: false @@ -186,20 +192,22 @@ - install_roles - block: - - name: detect collections/requirements.yml + - name: detect collections/requirements.(yml/yaml) stat: - path: '{{project_path|quote}}/collections/requirements.yml' + path: "{{project_path|quote}}/collections/requirements{{ item.ext }}" + with_items: "{{ yaml_exts }}" register: doesCollectionRequirementsExist - - name: fetch galaxy collections from collections/requirements.yml + - name: fetch galaxy collections from collections/requirements.(yml/yaml) command: > - ansible-galaxy collection install -r collections/requirements.yml + ansible-galaxy collection install -r {{ item.stat.path }} --collections-path {{projects_root}}/.__awx_cache/{{local_path}}/stage/requirements_collections {{ ' -' + 'v' * ansible_verbosity if ansible_verbosity else '' }} args: chdir: "{{project_path|quote}}" register: galaxy_collection_result - when: doesCollectionRequirementsExist.stat.exists + with_items: "{{ doesCollectionRequirementsExist.results }}" + when: item.stat.exists changed_when: "'Installing ' in galaxy_collection_result.stdout" environment: ANSIBLE_FORCE_COLOR: false