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 5
5
* .pyc
6
6
packer /openhpc2
7
7
.vscode
8
+ requirements.yml.last
Original file line number Diff line number Diff line change 10
10
name : passwords
11
11
tasks_from : validate.yml
12
12
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
+
13
40
- name : Ensure control node is in inventory
14
41
hosts : all
15
42
gather_facts : false
Original file line number Diff line number Diff line change @@ -39,3 +39,4 @@ ansible --version
39
39
# Install or update ansible dependencies ...
40
40
ansible-galaxy role install -fr requirements.yml -p ansible/roles
41
41
ansible-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