-- block:
- - name: Make a temporary directory
- command: mktemp -d
- register: tmpdir
+---
+- name: Copy initramfs into position
+ copy:
+ remote_src: yes
+ src: "{{ debian_installer_path | mandatory }}/{{ install_distro }}-{{ install_codename }}/{{ hostvars[hostname].install_cooked.arch | default('amd64') }}/initrd.gz"
+ dest: "{{ preseed_tmpdir }}/initrd.preseed.gz"
- - set_fact:
- tmpdir: "{{ tmpdir.stdout }}"
- initramfs: "{{ preseed_path | mandatory }}/{{ hostname }}-{{ distro }}-{{ distcodename }}.initrd.gz"
+- name: Generate preseed file
+ template:
+ src: "preseed_{{ install_distro }}-{{ install_codename }}.cfg.j2"
+ dest: "{{ preseed_tmpdir }}/preseed.cfg"
- - name: Copy initramfs into position
- copy:
- remote_src: yes
- src: "{{ debian_installer_path | mandatory }}/{{ distro }}-{{ distcodename }}/{{ hostvars[hostname].install_cooked.arch | default('amd64') }}/initrd.gz"
- dest: "{{ initramfs }}"
+- name: Generate authorized_keys file
+ authorized_key:
+ user: root
+ manage_dir: no
+ path: "{{ preseed_tmpdir }}/authorized_keys"
+ key: "{{ ssh_users_root | user_ssh_keys(users) | join('\n') }}"
- - name: Generate preseed file
- template:
- src: "preseed_{{ distro }}-{{ distcodename }}.cfg.j2"
- dest: "{{ tmpdir }}/preseed.cfg"
+- name: force net interface name policy
+ when: preseed_force_net_ifnames_policy is defined
+ block:
+ - name: prepare directories to force network interface name policy
+ file:
+ path: "{{ preseed_tmpdir }}/etc/systemd/network"
+ state: directory
- - name: Generate authorized_keys file
- authorized_key:
- user: root
- manage_dir: no
- path: "{{ tmpdir }}/authorized_keys"
- key: "{{ ssh_keys | join('\n') }}"
+ - name: install link unit to force network interface name policy
+ copy:
+ dest: "{{ preseed_tmpdir }}/etc/systemd/network/90-namepolicy.link"
+ content: |
+ [Link]
+ NamePolicy={{ preseed_force_net_ifnames_policy }}
- - name: Inject files into initramfs
- shell: cpio -H newc -o | gzip -9 >> '{{ initramfs }}'
- args:
- chdir: "{{ tmpdir }}"
- stdin: |
- preseed.cfg
- authorized_keys
-
- always:
- - name: Delete temporary directory
- file:
- path: "{{ tmpdir }}"
- state: absent
+- name: Inject files into initramfs
+ shell: cpio -H newc -o | gzip -9 >> 'initrd.preseed.gz'
+ args:
+ chdir: "{{ preseed_tmpdir }}"
+ stdin: |
+ preseed.cfg
+ authorized_keys
+ etc/
+ etc/systemd/
+ etc/systemd/network/
+ etc/systemd/network/90-namepolicy.link
+ tags:
+ - skip_ansible_lint