X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;f=ansible%2Froles%2Fopenwrt%2Fimage%2Ftasks%2Fprepare.yml;fp=ansible%2Froles%2Fopenwrt%2Fimage%2Ftasks%2Fprepare.yml;h=f3eafc79e4aaf90d8c79ab7e7445a129abed47ed;hb=8dc3a5dc03d40bd0b5100377598d8def6392d4bf;hp=a3ab7112b6e3b71d35fac6cb204d7d865c5d947c;hpb=f84240aa411f7ab798b7f518f363f64ee2691b9f;p=noc.git diff --git a/ansible/roles/openwrt/image/tasks/prepare.yml b/ansible/roles/openwrt/image/tasks/prepare.yml index a3ab711..f3eafc7 100644 --- a/ansible/roles/openwrt/image/tasks/prepare.yml +++ b/ansible/roles/openwrt/image/tasks/prepare.yml @@ -9,46 +9,50 @@ openwrt_imgbuilder_dir: "{{ tmpdir.path }}" openwrt_imgbuilder_files: "{{ tmpdir.path }}/files" +- name: Create the download directory + file: + path: "{{ openwrt_download_dir }}/dl/{{ openwrt_arch }}" + state: directory + mode: '0755' + - name: Create the directories for mixins file: path: "{{ item }}" state: directory mode: '0755' - with_items: - - "{{ openwrt_download_dir }}/dl/{{ openwrt_arch }}" - - "{{ openwrt_imgbuilder_files }}/etc/config" - - "{{ openwrt_mixin | map('dirname') | map('regex_replace', '^', openwrt_imgbuilder_files) | unique | list }}" - + loop: "{{ directories | flatten | unique | map('regex_replace', '^', openwrt_imgbuilder_files) | list }}" + vars: + directories: + - "/etc/config" + - "{{ openwrt_mixin | map('dirname') | list }}" + - "{{ openwrt_mixin | openwrt_mixin_type('directory') | map(attribute='key') | list }}" -- name: Copy mixins in place [1/3] +- name: Create symlinks file: dest: "{{ openwrt_imgbuilder_files }}/{{ item.key }}" src: "{{ item.value.link }}" force: yes follow: no state: link - with_dict: "{{ openwrt_mixin }}" - when: '"link" in item.value' + loop: "{{ openwrt_mixin | openwrt_mixin_type('link') }}" loop_control: label: "{{ item.key }}" -- name: Copy mixins in place [2/3] +- name: Copy mixins in place (from file) copy: src: "{{ item.value.file }}" dest: "{{ openwrt_imgbuilder_files }}/{{ item.key }}" mode: "{{ item.value.mode | default('0644') }}" - with_dict: "{{ openwrt_mixin }}" - when: '"file" in item.value' + loop: "{{ openwrt_mixin | openwrt_mixin_type('file') }}" loop_control: label: "{{ item.key }}" -- name: Copy mixins in place [3/3] +- name: Copy mixins in place (from content) copy: content: "{{ item.value.content }}" dest: "{{ openwrt_imgbuilder_files }}/{{ item.key }}" mode: "{{ item.value.mode | default('0644') }}" - with_dict: "{{ openwrt_mixin }}" - when: '"content" in item.value' + loop: "{{ openwrt_mixin | openwrt_mixin_type('content') }}" loop_control: label: "{{ item.key }}"