ansible: copy resulting openwrt image to correct location
[noc.git] / ansible / roles / openwrt-image / tasks / prepare.yml
1 ---
2 - name: Create temporary build directory
3   command: mktemp --tmpdir -d openwrt-{{ inventory_hostname }}.XXXXXX
4   register: tmpdir
5
6 - set_fact:
7     openwrt_imgbuilder_dir:   "{{ tmpdir.stdout }}"
8     openwrt_imgbuilder_files: "{{ tmpdir.stdout }}/files"
9
10 - name: Create the directories for mixins
11   file:
12     path: "{{ item }}"
13     state: directory
14   with_items:
15     - "{{ openwrt_imgbuilder_files }}"
16     - "{{ openwrt_mixin.files | map('dirname') | map('regex_replace', '^', openwrt_imgbuilder_files) | unique | list }}"
17     - "{{ openwrt_mixin.content | map('dirname') | map('regex_replace', '^', openwrt_imgbuilder_files) | unique | list }}"
18
19 - name: Copy mixins in place [1/2]
20   copy:
21     src: "{{ item.value }}"
22     dest: "{{ openwrt_imgbuilder_files }}/{{ item.key }}"
23   with_dict: "{{ openwrt_mixin.files }}"
24   loop_control:
25     label: "{{ item.key }}"
26
27 - name: Copy mixins in place [2/2]
28   copy:
29     content: "{{ item.value }}"
30     dest: "{{ openwrt_imgbuilder_files }}/{{ item.key }}"
31   with_dict: "{{ openwrt_mixin.content }}"
32   loop_control:
33     label: "{{ item.key }}"
34
35 ### TODO: this just hangs?
36 # - unarchive:
37 #     copy: False
38 #     src:  "{{ openwrt_download_dir }}/{{ openwrt_tarball_name }}"
39 #     dest: "{{ openwrt_imgbuilder_dir }}"
40
41 - name: Decompress the OpenWrt image builder
42   command: >-
43     tar -xf  "{{ openwrt_download_dir }}/{{ openwrt_tarball_name }}"
44     -C   "{{ openwrt_imgbuilder_dir     }}"