preseed: debian buster names interfaces differently than stretch and in a way that...
[noc.git] / ansible / roles / preseed / tasks / main.yml
1 ---
2 - name: Copy initramfs into position
3   copy:
4     remote_src: yes
5     src: "{{ debian_installer_path | mandatory }}/{{ install_distro }}-{{ install_codename }}/{{ hostvars[hostname].install_cooked.arch | default('amd64') }}/initrd.gz"
6     dest: "{{ preseed_tmpdir }}/initrd.preseed.gz"
7
8 - name: Generate preseed file
9   template:
10     src: "preseed_{{ install_distro }}-{{ install_codename }}.cfg.j2"
11     dest: "{{ preseed_tmpdir }}/preseed.cfg"
12
13 - name: Generate authorized_keys file
14   authorized_key:
15     user: root
16     manage_dir: no
17     path: "{{ preseed_tmpdir }}/authorized_keys"
18     key: "{{ ssh_users_root | user_ssh_keys(users) | join('\n') }}"
19
20 - name: force net interface name policy
21   when: preseed_force_net_ifnames_policy is defined
22   block:
23   - name: prepare directories to force network interface name policy
24     file:
25       path: "{{ preseed_tmpdir }}/etc/systemd/network"
26       state: directory
27
28   - name: install link unit to force network interface name policy
29     copy:
30       dest: "{{ preseed_tmpdir }}/etc/systemd/network/90-namepolicy.link"
31       content: |
32         [Link]
33         NamePolicy={{ preseed_force_net_ifnames_policy }}
34
35 - name: Inject files into initramfs
36   shell: cpio -H newc -o | gzip -9 >> 'initrd.preseed.gz'
37   args:
38     chdir: "{{ preseed_tmpdir }}"
39     stdin: |
40       preseed.cfg
41       authorized_keys
42       etc/
43       etc/systemd/
44       etc/systemd/network/
45       etc/systemd/network/90-namepolicy.link
46   tags:
47   - skip_ansible_lint