b3da57fbcb1e3ee9c7a893a32eebbc5a2f2ff594
[noc.git] / ansible / roles / openwrt-image / tasks / 00-fetch.yml
1 - name: Create download directory
2   file:
3     dest: "{{ download_dir }}"
4     state: directory
5   
6 - block:
7     - name: Generate OpenWrt download URLs
8       set_fact:
9         openwrt_url:
10           https://downloads.openwrt.org/releases/{{ openwrt_release }}/targets/{{ openwrt_arch | mandatory }}/{{ openwrt_target }}
11
12     - name: Download sha256sums
13       get_url:
14         url: "{{ openwrt_url }}/sha256sums"
15         dest: "{{ download_dir }}/{{ openwrt_tarball_basename }}.sha256"
16
17     - name: Download sha256sums.asc
18       get_url:
19         url: "{{ openwrt_url }}/sha256sums.asc"
20         dest: "{{ download_dir }}/{{ openwrt_tarball_basename }}.sha256.asc"
21
22     - name: Check OpenPGP signature
23       command: gpg --verify "{{ download_dir }}/{{ openwrt_tarball_basename }}.sha256.asc"
24       changed_when: False
25
26     - name: Extract SHA256 hash of the imagebuilder archive
27       command: grep '{{ openwrt_tarball_name }}' "{{ download_dir }}/{{ openwrt_tarball_basename }}.sha256"
28       register: sha256
29       changed_when: False
30
31     - name: Download imagebuilder
32       get_url:
33         url: "{{ openwrt_url }}/{{ openwrt_tarball_name }}" #lede-imagebuilder-{{ openwrt_release }}-{{ openwrt_arch }}.Linux-x86_64.tar.xz"
34         dest: "{{ download_dir }}/{{ openwrt_tarball_name }}"
35         checksum: sha256:{{ sha256.stdout.split(' ') | first }}
36
37     # /!\ This needs to be the last task in 00-fetch.yml
38 #    - set_fact:
39 #        openwrt_imgbuilder_tarball: >
40 #          {{ download_dir }}/{{ openwrt_tarball_name }}
41         
42   rescue:
43     - name: Delete downloaded artifacts
44       file:
45         path: "{{ item }}"
46         state: absent
47       with_items:
48         - "{{ download_dir }}/{{ openwrt_tarball_basename }}.sha256"
49         - "{{ download_dir }}/{{ openwrt_tarball_basename }}.sha256.asc"
50         - "{{ download_dir }}/{{ openwrt_tarball_name }}"
51     - fail:
52         msg: Something borked