From 3b0761df1a6ba541011435ff590620220d44431e Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Fri, 10 Jul 2020 19:49:34 +0200 Subject: refacter installer/debian/base to make future file verification easier --- chaos-at-home/ch-atlas.yml | 2 +- chaos-at-home/ch-gnocchi.yml | 4 ++-- dan/sk-2019vm.yml | 2 +- dan/sk-tomnext.yml | 2 +- roles/installer/debian/base/defaults/main.yml | 26 +++++-------------------- roles/installer/debian/base/tasks/main.yml | 28 ++++++++++----------------- roles/installer/debian/base/vars/main.yml | 13 +++++++++++++ roles/installer/debian/preseed/tasks/main.yml | 2 +- roles/installer/debian/usb/tasks/main.yml | 11 +++++------ 9 files changed, 39 insertions(+), 51 deletions(-) create mode 100644 roles/installer/debian/base/vars/main.yml diff --git a/chaos-at-home/ch-atlas.yml b/chaos-at-home/ch-atlas.yml index 887d6be3..fe76af09 100644 --- a/chaos-at-home/ch-atlas.yml +++ b/chaos-at-home/ch-atlas.yml @@ -5,4 +5,4 @@ - role: core/sshd - role: core/zsh - role: vm/host - - role: installer/debian/base +# - role: installer/debian/base diff --git a/chaos-at-home/ch-gnocchi.yml b/chaos-at-home/ch-gnocchi.yml index fd519bfd..27a01839 100644 --- a/chaos-at-home/ch-gnocchi.yml +++ b/chaos-at-home/ch-gnocchi.yml @@ -8,8 +8,8 @@ - role: core/zsh - role: core/cpu-microcode - role: vm/host - - role: installer/debian/base - - role: installer/openbsd/base +# - role: installer/debian/base +# - role: installer/openbsd/base post_tasks: # you need to reboot for changes to take effect - name: install network interface config diff --git a/dan/sk-2019vm.yml b/dan/sk-2019vm.yml index 8859a3c2..a50c1ca1 100644 --- a/dan/sk-2019vm.yml +++ b/dan/sk-2019vm.yml @@ -13,7 +13,7 @@ - role: apt-repo/spreadspace - role: zfs/sanoid - role: vm/host - - role: installer/debian/base +# - role: installer/debian/base tasks: - name: install post-boot script copy: diff --git a/dan/sk-tomnext.yml b/dan/sk-tomnext.yml index b6c3b95a..23c181e7 100644 --- a/dan/sk-tomnext.yml +++ b/dan/sk-tomnext.yml @@ -13,7 +13,7 @@ - role: apt-repo/spreadspace - role: zfs/sanoid - role: vm/host - - role: installer/debian/base +# - role: installer/debian/base tasks: - name: install post-boot script copy: diff --git a/roles/installer/debian/base/defaults/main.yml b/roles/installer/debian/base/defaults/main.yml index fe6d880d..eebc59bf 100644 --- a/roles/installer/debian/base/defaults/main.yml +++ b/roles/installer/debian/base/defaults/main.yml @@ -1,24 +1,8 @@ -debian_installer_distros: - - distro: debian - codename: stretch - arch: - - amd64 - - i386 - - distro: debian - codename: buster - arch: - - amd64 - - i386 - - - distro: ubuntu - codename: bionic - arch: - - amd64 - - i386 - - distro: ubuntu - codename: focal - arch: - - amd64 +--- +# debian_installer_distro: debian +# debian_installer_codename: buster +debian_installer_arch: amd64 +# debian_installer_variant: netboot debian_installer_force_download: no debian_installer_url: diff --git a/roles/installer/debian/base/tasks/main.yml b/roles/installer/debian/base/tasks/main.yml index f7841572..1984df2c 100644 --- a/roles/installer/debian/base/tasks/main.yml +++ b/roles/installer/debian/base/tasks/main.yml @@ -1,31 +1,23 @@ -- name: prepare directories for installer images - loop: "{{ debian_installer_distros | subelements('arch') }}" - loop_control: - label: "{{ item.0.distro }}/{{ item.0.codename }} {{ item.1 }}" +--- +- name: prepare directories for installer files file: - name: "{{ installer_path }}/{{ item.0.distro }}-{{ item.0.codename }}/{{ item.1 }}" + name: "{{ installer_path }}/{{ debian_installer_distro }}-{{ debian_installer_codename }}/{{ debian_installer_arch }}-{{ debian_installer_variant }}" state: directory -- name: download installer kernel images - loop: "{{ debian_installer_distros | subelements('arch') }}" - loop_control: - label: "{{ item.0.distro }}/{{ item.0.codename }} {{ item.1 }}" +- name: download installer kernel image get_url: - url: "{{ debian_installer_url[item.0.distro] }}/dists/{{ item.0.codename }}/main/installer-{{ item.1 }}/current/{{ [item.0.distro, item.0.codename] | di_images_path }}/netboot/{{ item.0.distro }}-installer/{{ item.1 }}/linux" - dest: "{{ installer_path }}/{{ item.0.distro }}-{{ item.0.codename }}/{{ item.1 }}/linux" + url: "{{ debian_installer_base_url }}/{{ debian_installer_variant_path }}/{{ debian_installer_variant_kernal_image_name }}" + dest: "{{ installer_path }}/{{ debian_installer_distro }}-{{ debian_installer_codename }}/{{ debian_installer_arch }}-{{ debian_installer_variant }}/{{ debian_installer_variant_kernal_image_name }}" mode: 0644 force: "{{ debian_installer_force_download }}" - name: download installer initrd.gz - loop: "{{ debian_installer_distros | subelements('arch') }}" - loop_control: - label: "{{ item.0.distro }}/{{ item.0.codename }} {{ item.1 }}" get_url: - url: "{{ debian_installer_url[item.0.distro] }}/dists/{{ item.0.codename }}/main/installer-{{ item.1 }}/current/{{ [item.0.distro, item.0.codename] | di_images_path }}/netboot/{{ item.0.distro }}-installer/{{ item.1 }}/initrd.gz" - dest: "{{ installer_path }}/{{ item.0.distro }}-{{ item.0.codename }}/{{ item.1 }}/initrd.gz" + url: "{{ debian_installer_base_url }}/{{ debian_installer_variant_path }}/initrd.gz" + dest: "{{ installer_path }}/{{ debian_installer_distro }}-{{ debian_installer_codename }}/{{ debian_installer_arch }}-{{ debian_installer_variant }}/initrd.gz" mode: 0644 force: "{{ debian_installer_force_download }}" ## TODO verfiy downloaded files using: -## "{{ debian_installer_url[item.0.distro] }}/dists/{{ item.0.codename }}/InRelease -## "{{ debian_installer_url[item.0.distro] }}/dists/{{ item.0.codename }}/main/installer-{{ item.1 }}/current/{{ [item.0.distro, item.0.codename] | di_images_path }}/SHA256SUMS +## "{{ debian_installer_url[debian_installer_distro] }}/dists/{{ debian_installer_codename }}/InRelease +## "{{ debian_installer_url[debian_installer_distro] }}/dists/{{ debian_installer_codename }}/main/installer-{{ debian_installer_arch }}/current/{{ [debian_installer_distro, debian_installer_codename] | di_images_path }}/SHA256SUMS diff --git a/roles/installer/debian/base/vars/main.yml b/roles/installer/debian/base/vars/main.yml new file mode 100644 index 00000000..404b571a --- /dev/null +++ b/roles/installer/debian/base/vars/main.yml @@ -0,0 +1,13 @@ +--- +debian_installer_base_url: "{{ debian_installer_url[debian_installer_distro] }}/dists/{{ debian_installer_codename }}/main/installer-{{ debian_installer_arch }}/current/{{ [debian_installer_distro, debian_installer_codename] | di_images_path }}" + +_debian_installer_variant_path_: + netboot: "netboot/{{ debian_installer_distro }}-installer/{{ debian_installer_arch }}" + hd-media: "hd-media" + +_debian_installer_variant_kernel_image_name_: + netboot: "linux" + hd-media: "vmlinuz" + +debian_installer_variant_path: "{{ _debian_installer_variant_path_[debian_installer_variant] }}" +debian_installer_variant_kernal_image_name: "{{ _debian_installer_variant_kernel_image_name_[debian_installer_variant] }}" diff --git a/roles/installer/debian/preseed/tasks/main.yml b/roles/installer/debian/preseed/tasks/main.yml index 2934ca1b..3dd106e3 100644 --- a/roles/installer/debian/preseed/tasks/main.yml +++ b/roles/installer/debian/preseed/tasks/main.yml @@ -2,7 +2,7 @@ - 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') }}/initrd.gz" + 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 diff --git a/roles/installer/debian/usb/tasks/main.yml b/roles/installer/debian/usb/tasks/main.yml index 8d2df387..79251fdf 100644 --- a/roles/installer/debian/usb/tasks/main.yml +++ b/roles/installer/debian/usb/tasks/main.yml @@ -12,11 +12,10 @@ - block: - name: download installer vars: - debian_installer_distros: - - distro: "{{ install_distro }}" - codename: "{{ install_codename }}" - arch: - - "{{ install.arch | default('amd64') }}" + debian_installer_distro: "{{ install_distro }}" + debian_installer_codename: "{{ install_codename }}" + debian_installer_arch: "{{ install.arch | default('amd64') }}" + debian_installer_variant: netboot import_role: role: installer/debian/base @@ -44,7 +43,7 @@ - name: Copy linux kernel image to the USB drive copy: - src: "{{ global_cache_dir }}/debian-installer/{{ install_distro }}-{{ install_codename }}/{{ install.arch | default('amd64') }}/linux" + src: "{{ global_cache_dir }}/debian-installer/{{ install_distro }}-{{ install_codename }}/{{ install.arch | default('amd64') }}-{{ debian_installer_variant }}/linux" dest: "{{ usb_install_path }}/" - name: Generate syslinux configuration for BIOS boot -- cgit v1.2.3