|
1 | 1 | --- |
2 | | -- name: Ensure the /exports/cluster directory exists |
| 2 | +- name: Ensure /exports/cluster directory structure exists |
3 | 3 | ansible.builtin.file: |
4 | 4 | path: /exports/cluster |
5 | 5 | state: directory |
6 | | - owner: slurm |
7 | | - group: root |
| 6 | + owner: ansible-init |
| 7 | + group: ansible-init |
8 | 8 | mode: u=rX,g=rwX,o= |
9 | 9 | run_once: true |
| 10 | + loop: |
| 11 | + - /exports/cluster |
| 12 | + - /exports/cluster/hostvars |
| 13 | + - /exports/cluster/cacerts |
| 14 | + - /exports/cluster/cvmfs |
| 15 | + - /exports/cluster/hostconfig |
| 16 | + |
10 | 17 | delegate_to: "{{ groups['control'] | first }}" |
11 | 18 |
|
12 | 19 | - name: Copy /etc/hosts to /exports/cluster |
13 | 20 | ansible.builtin.copy: |
14 | 21 | src: /etc/hosts |
15 | 22 | dest: /exports/cluster/hosts |
16 | | - owner: slurm |
17 | | - group: root |
18 | | - mode: u=r,g=rw,o= |
| 23 | + owner: ansible-init |
| 24 | + group: ansible-init |
| 25 | + mode: u=rw,go=r |
19 | 26 | remote_src: true |
20 | 27 | run_once: true |
21 | 28 | delegate_to: "{{ groups['control'] | first }}" |
22 | 29 |
|
23 | | -- name: Create hostvars directory |
| 30 | +- name: Create per-host hostvars directory |
24 | 31 | ansible.builtin.file: |
25 | 32 | path: /exports/cluster/hostvars/{{ inventory_hostname }}/ |
26 | 33 | state: directory |
27 | | - owner: slurm |
28 | | - group: root |
29 | | - mode: u=rX,g=rwX,o= |
| 34 | + owner: ansible-init |
| 35 | + group: ansible-init |
| 36 | + mode: u=rwX,go= |
30 | 37 | delegate_to: "{{ groups['control'] | first }}" |
31 | 38 |
|
32 | 39 | - name: Template out hostvars |
33 | 40 | ansible.builtin.template: |
34 | 41 | src: hostvars.yml.j2 |
35 | 42 | dest: /exports/cluster/hostvars/{{ inventory_hostname }}/hostvars.yml |
36 | | - owner: slurm |
37 | | - group: root |
38 | | - mode: u=r,g=rw,o= |
| 43 | + owner: ansible-init |
| 44 | + group: ansible-init |
| 45 | + mode: u=rw,go= |
39 | 46 | delegate_to: "{{ groups['control'] | first }}" |
40 | 47 |
|
41 | | -- name: Copy manila share info to /exports/cluster |
42 | | - ansible.builtin.copy: |
43 | | - content: "{{ os_manila_mount_share_info_var | to_nice_yaml }}" |
| 48 | +- name: Template manila share info to /exports/cluster |
| 49 | + ansible.builtin.template: |
| 50 | + src: os_manila_mount_share_info.j2 |
44 | 51 | dest: /exports/cluster/manila_share_info.yml |
45 | | - owner: slurm |
46 | | - group: root |
47 | | - mode: u=r,g=rw,o= |
| 52 | + owner: ansible-init |
| 53 | + group: ansible-init |
| 54 | + mode: u=rw,go= |
48 | 55 | run_once: true |
49 | 56 | delegate_to: "{{ groups['control'] | first }}" |
50 | 57 | when: os_manila_mount_share_info is defined |
51 | | - vars: |
52 | | - os_manila_mount_share_info_var: |
53 | | - os_manila_mount_share_info: "{{ os_manila_mount_share_info }}" |
54 | | - |
55 | | -- name: Ensure /exports/cluster/cvmfs directory exists |
56 | | - ansible.builtin.file: |
57 | | - path: /exports/cluster/cvmfs |
58 | | - state: directory |
59 | | - owner: slurm |
60 | | - group: root |
61 | | - mode: "0755" |
62 | | - run_once: true |
63 | | - delegate_to: "{{ groups['control'] | first }}" |
64 | 58 |
|
65 | 59 | - name: Export cacerts |
66 | 60 | ansible.builtin.include_role: |
67 | 61 | name: cacerts |
68 | 62 | tasks_from: export.yml |
69 | 63 | when: "'cacerts' in group_names" |
70 | 64 |
|
71 | | -- name: Create hostconfig directory |
| 65 | +- name: Create per-host hostconfig directory |
72 | 66 | ansible.builtin.file: |
73 | 67 | path: "/exports/cluster/hostconfig/{{ inventory_hostname }}/" |
74 | 68 | state: directory |
75 | | - owner: slurm |
76 | | - group: root |
77 | | - mode: u=rX,g=rwX,o= |
| 69 | + owner: ansible-init |
| 70 | + group: ansible-init |
| 71 | + mode: u=rwX,go= |
78 | 72 | delegate_to: "{{ groups['control'] | first }}" |
79 | 73 |
|
80 | 74 | - name: Template sssd config |
|
0 commit comments