summaryrefslogtreecommitdiff
path: root/roles/installer/debian/preseed/tasks/main.yml
blob: 3dd106e34a4b888c432936fd71288f2e2b911d11 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
---
- name: Copy initramfs into position
  copy:
    remote_src: yes
    src: "{{ installer_path | mandatory }}/{{ install_distro }}-{{ install_codename }}/{{ hostvars[install_hostname].install_cooked.arch | default('amd64') }}-{{ debian_installer_variant }}/initrd.gz"
    dest: "{{ preseed_tmpdir }}/initrd.preseed.gz"

- name: Generate preseed file
  template:
    src: "preseed_{{ hostvars[install_hostname].preseed_template_name | default(install_distro + '-' + install_codename) }}.cfg.j2"
    dest: "{{ preseed_tmpdir }}/preseed.cfg"

- name: Generate partmam early-command script
  template:
    src: "partman_early-command.sh.j2"
    dest: "{{ preseed_tmpdir }}/partman_early-command.sh"
    mode: 0755

- name: Generate authorized_keys file
  authorized_key:
    user: root
    manage_dir: no
    path: "{{ preseed_tmpdir }}/authorized_keys"
    key: "{{ ssh_keys_root | join('\n') }}"

- 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: install link unit to force network interface name policy
    copy:
      dest: "{{ preseed_tmpdir }}/etc/systemd/network/90-namepolicy.link"
      content: |
        [Match]
        OriginalName=*

        [Link]
        NamePolicy={{ preseed_force_net_ifnames_policy }}

- name: Inject files into initramfs
  shell: cpio -H newc -o | gzip -9 >> 'initrd.preseed.gz'
  args:
    chdir: "{{ preseed_tmpdir }}"
    stdin: |
      preseed.cfg
      partman_early-command.sh
      authorized_keys
      etc/
      etc/systemd/
      etc/systemd/network/
      etc/systemd/network/90-namepolicy.link