|
1 | | - |
2 | | -# NB: As `appliances_persistent_services` is defined in group_vars/all, all tasks here are conditional |
| 1 | +# NB: As `systemd_TODO:` is defined in group_vars/all, all tasks here are conditional on group. |
3 | 2 | - name: Make directory for unit dropins |
4 | 3 | file: |
5 | 4 | path: "/etc/systemd/system/{{ item.key }}.service.d/" |
6 | 5 | state: directory |
7 | | - loop: "{{ appliances_persistent_services | dict2items }}" |
8 | | - when: "'item.value' in group_names" |
| 6 | + owner: root |
| 7 | + group: root |
| 8 | + mode: 0644 |
| 9 | + loop: "{{ systemd_dropins | dict2items }}" |
| 10 | + when: "item.value.group in group_names" |
9 | 11 |
|
10 | 12 | - name: Add dropins for unit files |
11 | 13 | ansible.builtin.copy: |
12 | 14 | content: | |
13 | | - [Unit] |
14 | | - RequiresMountsFor={{ appliances_state_dir }} |
15 | | - dest: "/etc/systemd/system/{{ item.key }}.service.d/appliance_state.conf" |
16 | | - loop: "{{ appliances_persistent_service | dict2items }}" |
17 | | - register: _systemd_persistent_services_dropins |
18 | | - when: "'item.value' in group_names" |
| 15 | + # {{ item.value.comment | default('slurm appliance generated') }} |
| 16 | + {{ item.value.content }} |
| 17 | + dest: "/etc/systemd/system/{{ item.key }}.service.d/slurm_app.conf" |
| 18 | + owner: root |
| 19 | + group: root |
| 20 | + mode: 0644 |
| 21 | + loop: "{{ systemd_dropins | dict2items }}" |
| 22 | + register: _systemd_dropins |
| 23 | + when: "item.value.group in group_names" |
19 | 24 |
|
20 | 25 | - name: Reload unit definitions |
21 | 26 | ansible.builtin.shell: |
22 | 27 | cmd: systemctl daemon-reload |
23 | | - when: _systemd_persistent_services_dropins.changed |
| 28 | + when: _systemd_dropins.changed |
24 | 29 |
|
25 | 30 | - name: Reload units |
26 | 31 | ansible.builtin.systemd: |
27 | 32 | name: "{{ item.key }}" |
28 | 33 | state: restarted |
29 | | - loop: "{{ appliances_persistent_service | dict2items }}" |
| 34 | + loop: "{{ systemd_dropins | dict2items }}" |
30 | 35 | when: |
31 | | - - _systemd_persistent_services_dropins.changed |
32 | | - - "'item.value' in group_names" |
33 | | - # - "'builder' not in group_names" # because mount of appliances_state_dir won't be done in builder |
| 36 | + - _systemd_dropins.changed |
| 37 | + - "item.value.group in group_names" |
0 commit comments