File tree Expand file tree Collapse file tree 3 files changed +29
-0
lines changed Expand file tree Collapse file tree 3 files changed +29
-0
lines changed Original file line number Diff line number Diff line change 55* .pyc
66packer /openhpc2
77.vscode
8+ requirements.yml.last
Original file line number Diff line number Diff line change 1010 name : passwords
1111 tasks_from : validate.yml
1212
13+ - name : Validate Ansible Galaxy installs are up to date
14+ hosts : localhost
15+ gather_facts : false
16+ become : false
17+ tasks :
18+ # Can't use e.g. ansible-galaxy {role,collection} list to check installed
19+ # vs desired, as git-installed collections do not provide any metadata for
20+ # the actual installed version.
21+ # So this compares requirements.yml against a .last version produced by a
22+ # successful dev/setup-env.sh run.
23+ - assert :
24+ that : " {{ _requirements_current == _requirements_installed }}"
25+ fail_msg : |
26+ Ansible Galaxy installs are out of date:
27+
28+ {% for req in _requirements_installed | difference(_requirements_current) %}
29+ {{ req }}
30+ {% endfor %}
31+
32+ Run dev/setup-env.sh to fix this.
33+ vars :
34+ # note difference filter requires lists, so need to rearrange yaml from files.
35+ _requirements_path : " {{ appliances_repository_root }}/requirements.yml"
36+ _requirements_current : " {{ (lookup('file', _requirements_path) | from_yaml).values() | flatten }}"
37+ # below produced by dev/setup-env.sh - gives empty list if file is missing:
38+ _requirements_installed : " {{ ((lookup('file', _requirements_path + '.last', errors='ignore') or '{}') | from_yaml ).values() | flatten }}"
39+
1340- name : Ensure control node is in inventory
1441 hosts : all
1542 gather_facts : false
Original file line number Diff line number Diff line change @@ -39,3 +39,4 @@ ansible --version
3939# Install or update ansible dependencies ...
4040ansible-galaxy role install -fr requirements.yml -p ansible/roles
4141ansible-galaxy collection install -fr requirements.yml -p ansible/collections
42+ cp requirements.yml requirements.yml.last
You can’t perform that action at this time.
0 commit comments