|
11 | 11 | os_rdma_rename_mode: 'NAME_KERNEL' # ref: https://github.com/linux-rdma/rdma-core/blob/master/Documentation/udev.md#stable-names
|
12 | 12 | # *fully qualified* path on the controller where repo overrides can be found; intended for/changed by Packer
|
13 | 13 | os_repos_src: /srv/repos
|
| 14 | + os_repos_sync: true # if the playbook should copy repositories from 'os_repos_src' to the managed system |
14 | 15 | tasks:
|
15 | 16 |
|
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: |
21 | 21 |
|
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 |
29 | 27 |
|
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 |
44 | 35 |
|
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/ |
60 | 66 |
|
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 }}" |
65 | 71 |
|
66 | 72 | - name: "Manage RDMA device rename mode ({{ os_rdma_rename_mode }})"
|
67 | 73 | when: os_rdma_rename is truthy(convert_bool=True)
|
| 74 | + tags: ['rdma', 'udev'] |
68 | 75 | ansible.builtin.lineinfile:
|
69 | 76 | # placing this in '/etc' precedes '/usr' or '/lib', overriding packages/enduring updates; see 'man 7 udev'
|
70 | 77 | path: /etc/udev/rules.d/60-rdma-persistent-naming.rules
|
|
0 commit comments