summaryrefslogtreecommitdiff
path: root/roles/installer/debian/preseed/tasks/main.yml
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2019-12-24 13:53:37 +0100
committerChristian Pointner <equinox@spreadspace.org>2019-12-24 13:53:37 +0100
commitb8e0b8a6bf8fb3e879d0cd2d453e54f16a62a75e (patch)
tree482cf360028c316f4e19295f30179ee92fe18eb7 /roles/installer/debian/preseed/tasks/main.yml
parentopenbsd automatic install, added todo (diff)
installer: move bootstrap roles to common subdir
Diffstat (limited to 'roles/installer/debian/preseed/tasks/main.yml')
-rw-r--r--roles/installer/debian/preseed/tasks/main.yml47
1 files changed, 47 insertions, 0 deletions
diff --git a/roles/installer/debian/preseed/tasks/main.yml b/roles/installer/debian/preseed/tasks/main.yml
new file mode 100644
index 00000000..b1b5d275
--- /dev/null
+++ b/roles/installer/debian/preseed/tasks/main.yml
@@ -0,0 +1,47 @@
+---
+- name: Copy initramfs into position
+ copy:
+ remote_src: yes
+ src: "{{ installer_path | mandatory }}/{{ install_distro }}-{{ install_codename }}/{{ hostvars[hostname].install_cooked.arch | default('amd64') }}/initrd.gz"
+ dest: "{{ preseed_tmpdir }}/initrd.preseed.gz"
+
+- name: Generate preseed file
+ template:
+ src: "preseed_{{ hostvars[hostname].preseed_template_name | default(install_distro + '-' + install_codename) }}.cfg.j2"
+ dest: "{{ preseed_tmpdir }}/preseed.cfg"
+
+- 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: |
+ [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
+ authorized_keys
+ etc/
+ etc/systemd/
+ etc/systemd/network/
+ etc/systemd/network/90-namepolicy.link
+ tags:
+ - skip_ansible_lint