|
11 | 11 | enable_etc_hosts: "{{ os_metadata.meta.enable_etc_hosts | default(false) | bool }}"
|
12 | 12 | enable_nfs: "{{ os_metadata.meta.enable_nfs | default(false) | bool }}"
|
13 | 13 | enable_manila: "{{ os_metadata.meta.enable_manila | default(false) | bool }}"
|
| 14 | + enable_basic_users: "{{ os_metadata.meta.enable_basic_users | default(false) | bool }}" |
14 | 15 |
|
15 | 16 | # TODO: "= role defaults" - could be moved to a vars_file: on play with similar precedence effects
|
16 | 17 | resolv_conf_nameservers: []
|
|
34 | 35 | - _netdev # prevents mount blocking early boot before networking available
|
35 | 36 | - rw
|
36 | 37 |
|
| 38 | + basic_users_groups: [] |
| 39 | + basic_users_manage_homedir: false # homedir must already exist on shared filesystem |
| 40 | + basic_users_userdefaults: |
| 41 | + state: present |
| 42 | + create_home: "{{ basic_users_manage_homedir }}" |
| 43 | + generate_ssh_key: "{{ basic_users_manage_homedir }}" |
| 44 | + ssh_key_comment: "{{ item.name }}" |
| 45 | + basic_users_users: [] |
| 46 | + |
37 | 47 | tasks:
|
38 | 48 | - block:
|
39 | 49 | - name: Report skipping initialization if not compute node
|
|
194 | 204 | - enable_manila
|
195 | 205 | - os_manila_mount_shares | length > 0
|
196 | 206 |
|
197 |
| - # TODO: - name: Basic users setup |
| 207 | + - name: Basic users |
| 208 | + block: |
| 209 | + - name: Create groups |
| 210 | + ansible.builtin.group: "{{ item }}" |
| 211 | + loop: "{{ basic_users_groups }}" |
| 212 | + |
| 213 | + - name: Create users |
| 214 | + user: "{{ basic_users_userdefaults | combine(item) | filter_user_params() }}" |
| 215 | + loop: "{{ basic_users_users }}" |
| 216 | + loop_control: |
| 217 | + label: "{{ item.name }} [{{ item.state | default('present') }}]" |
| 218 | + register: basic_users_info |
| 219 | + |
| 220 | + - name: Write sudo rules |
| 221 | + blockinfile: |
| 222 | + path: /etc/sudoers.d/80-{{ item.name}}-user |
| 223 | + block: "{{ item.sudo }}" |
| 224 | + create: true |
| 225 | + loop: "{{ basic_users_users }}" |
| 226 | + loop_control: |
| 227 | + label: "{{ item.name }}" |
| 228 | + when: "'sudo' in item" |
| 229 | + when: enable_basic_users |
198 | 230 |
|
199 | 231 | # TODO: - name: Configure EESSI
|
200 | 232 |
|
|
0 commit comments