summaryrefslogtreecommitdiff
path: root/roles/installer/debian/fetch/tasks/main.yml
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2020-07-20 22:34:01 +0200
committerChristian Pointner <equinox@spreadspace.org>2020-07-20 22:34:01 +0200
commit7ff35ec95420023d323e394162cd124029ea7161 (patch)
tree773e57a25d74490da230c4a605a978d76d9c6c51 /roles/installer/debian/fetch/tasks/main.yml
parentriot is now called element (diff)
make debian installer fetch more generic
Diffstat (limited to 'roles/installer/debian/fetch/tasks/main.yml')
-rw-r--r--roles/installer/debian/fetch/tasks/main.yml29
1 files changed, 15 insertions, 14 deletions
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: