Skip to content

Commit 4517fae

Browse files
committed
packer-rocm/os-prep: block reposync tasks, allow non-packer runs
1 parent 1a54465 commit 4517fae

File tree

1 file changed

+52
-45
lines changed

1 file changed

+52
-45
lines changed

packer-rocm/playbooks/os_prep.yml

+52-45
Original file line numberDiff line numberDiff line change
@@ -11,60 +11,67 @@
1111
os_rdma_rename_mode: 'NAME_KERNEL' # ref: https://github.com/linux-rdma/rdma-core/blob/master/Documentation/udev.md#stable-names
1212
# *fully qualified* path on the controller where repo overrides can be found; intended for/changed by Packer
1313
os_repos_src: /srv/repos
14+
os_repos_sync: true # if the playbook should copy repositories from 'os_repos_src' to the managed system
1415
tasks:
1516

16-
- name: Create temporary directory for repository overrides
17-
ansible.builtin.tempfile:
18-
state: directory
19-
suffix: repos
20-
register: mktemp
17+
- name: Repository Management Block
18+
when: os_repos_sync is truthy(convert_bool=True)
19+
tags: ['repo', 'repos']
20+
block:
2121

22-
- name: Mirror repository overrides (for searching on managed host w/ facts)
23-
ansible.posix.synchronize:
24-
src: "{{ os_repos_src }}/" # trailing '/' is significant, ensures the contents of the path are copied
25-
dest: "{{ mktemp.path }}"
26-
recursive: true
27-
archive: true # retain ownership/modes/etc
28-
mode: push
22+
- name: Create temporary directory for repository overrides
23+
ansible.builtin.tempfile:
24+
state: directory
25+
suffix: repos
26+
register: mktemp
2927

30-
- name: "Search for repository overrides in '{{ mktemp.path }}'"
31-
ansible.builtin.find:
32-
paths:
33-
- "{{ mktemp.path }}"
34-
patterns: "{{ os_repo_patts[ansible_os_family] }}"
35-
recurse: true
36-
file_type: file
37-
register: os_repo_search
38-
vars:
39-
os_repo_patts:
40-
RedHat:
41-
- '*.repo'
42-
Debian:
43-
- '*.list'
28+
- name: Mirror repository overrides (for searching on managed host w/ facts)
29+
ansible.posix.synchronize:
30+
src: "{{ os_repos_src }}/" # trailing '/' is significant, ensures the contents of the path are copied
31+
dest: "{{ mktemp.path }}"
32+
recursive: true
33+
archive: true # retain ownership/modes/etc
34+
mode: push
4435

45-
- name: 'Copy [relevant] repository files'
46-
become: true
47-
ansible.builtin.copy:
48-
src: "{{ repofile }}"
49-
dest: "{{ os_repo_paths[ansible_os_family] }}"
50-
mode: preserve
51-
owner: root
52-
group: root
53-
remote_src: true
54-
loop: "{{ os_repo_search.files | map(attribute='path') }}"
55-
loop_control: { loop_var: repofile }
56-
vars:
57-
os_repo_paths:
58-
Debian: /etc/apt/sources.list.d/
59-
RedHat: /etc/yum.repos.d/
36+
- name: "Search for repository overrides in '{{ mktemp.path }}'"
37+
ansible.builtin.find:
38+
paths:
39+
- "{{ mktemp.path }}"
40+
patterns: "{{ os_repo_patts[ansible_os_family] }}"
41+
recurse: true
42+
file_type: file
43+
register: os_repo_search
44+
vars:
45+
os_repo_patts:
46+
RedHat:
47+
- '*.repo'
48+
Debian:
49+
- '*.list'
50+
51+
- name: 'Copy [relevant] repository files'
52+
become: true
53+
ansible.builtin.copy:
54+
src: "{{ repofile }}"
55+
dest: "{{ os_repo_paths[ansible_os_family] }}"
56+
mode: preserve
57+
owner: root
58+
group: root
59+
remote_src: true
60+
loop: "{{ os_repo_search.files | map(attribute='path') }}"
61+
loop_control: { loop_var: repofile }
62+
vars:
63+
os_repo_paths:
64+
Debian: /etc/apt/sources.list.d/
65+
RedHat: /etc/yum.repos.d/
6066

61-
- name: Clean temporary directory
62-
ansible.builtin.file:
63-
state: absent
64-
path: "{{ mktemp.path }}"
67+
- name: Clean temporary directory
68+
ansible.builtin.file:
69+
state: absent
70+
path: "{{ mktemp.path }}"
6571

6672
- name: "Manage RDMA device rename mode ({{ os_rdma_rename_mode }})"
6773
when: os_rdma_rename is truthy(convert_bool=True)
74+
tags: ['rdma', 'udev']
6875
ansible.builtin.lineinfile:
6976
# placing this in '/etc' precedes '/usr' or '/lib', overriding packages/enduring updates; see 'man 7 udev'
7077
path: /etc/udev/rules.d/60-rdma-persistent-naming.rules

0 commit comments

Comments
 (0)