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 --- 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 +++++------ 5 files changed, 34 insertions(+), 46 deletions(-) create mode 100644 roles/installer/debian/base/vars/main.yml (limited to 'roles/installer/debian') 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