From 7ff35ec95420023d323e394162cd124029ea7161 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Mon, 20 Jul 2020 22:34:01 +0200 Subject: make debian installer fetch more generic --- roles/installer/debian/fetch/tasks/main.yml | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) (limited to 'roles/installer/debian/fetch/tasks/main.yml') diff --git a/roles/installer/debian/fetch/tasks/main.yml b/roles/installer/debian/fetch/tasks/main.yml index dc87655f..0e756411 100644 --- a/roles/installer/debian/fetch/tasks/main.yml +++ b/roles/installer/debian/fetch/tasks/main.yml @@ -1,34 +1,35 @@ --- - name: prepare directories for installer files file: - name: "{{ installer_base_path }}/{{ debian_installer_distro }}-{{ debian_installer_codename }}/{{ debian_installer_arch }}-{{ debian_installer_variant }}" + name: "{{ debian_installer_target_dir }}" state: directory - name: download and verify installer files block: - - name: fetch and verify installer checksums + - name: fetch and verify installer checksum file include_tasks: "verify-{{ install_distro }}.yml" - - name: download installer kernel image - get_url: - url: "{{ debian_installer_base_url }}/{{ debian_installer_variant_path }}/{{ debian_installer_variant_kernal_image_name }}" - dest: "{{ installer_base_path }}/{{ debian_installer_distro }}-{{ debian_installer_codename }}/{{ debian_installer_arch }}-{{ debian_installer_variant }}/{{ debian_installer_variant_kernal_image_name }}" - checksum: "{{ debian_installer_kernel_checksum }}" - force: "{{ debian_installer_force_download }}" - mode: 0644 + - name: extract file hashes from SHA256SUMS + loop: "{{ debian_installer_variant_files }}" + command: grep -E "^[0-9a-z]{64}\s+(./)?{{ debian_installer_variant_path }}/{{ item }}$" "{{ debian_installer_target_dir }}/SHA256SUMS" + changed_when: false + register: debian_installer_sha256sums - - name: download installer initrd.gz + - name: download installer files + loop: "{{ debian_installer_sha256sums.results }}" + loop_control: + label: "{{ item.item }}" get_url: - url: "{{ debian_installer_base_url }}/{{ debian_installer_variant_path }}/initrd.gz" - dest: "{{ installer_base_path }}/{{ debian_installer_distro }}-{{ debian_installer_codename }}/{{ debian_installer_arch }}-{{ debian_installer_variant }}/initrd.gz" - checksum: "{{ debian_installer_initrd_checksum }}" + url: "{{ debian_installer_base_url }}/{{ debian_installer_variant_path }}/{{ item.item }}" + dest: "{{ debian_installer_target_dir }}/{{ item.item }}" + checksum: "sha256:{{ item.stdout.split(' ') | first }}" force: "{{ debian_installer_force_download }}" mode: 0644 rescue: - name: remove all downloaded files file: - name: "{{ installer_base_path }}/{{ debian_installer_distro }}-{{ debian_installer_codename }}/{{ debian_installer_arch }}-{{ debian_installer_variant }}" + name: "{{ debian_installer_target_dir }}" state: absent - fail: -- cgit v1.2.3