X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;ds=sidebyside;f=ansible%2Froles%2Fopenwrt%2Fimage%2Ftasks%2Fprepare.yml;h=f3eafc79e4aaf90d8c79ab7e7445a129abed47ed;hb=8dc3a5dc03d40bd0b5100377598d8def6392d4bf;hp=887143d9923fd892fc3297c0470e5b30f3573e06;hpb=369a2f2a918135a9907b2bdf75423379aff738c5;p=noc.git diff --git a/ansible/roles/openwrt/image/tasks/prepare.yml b/ansible/roles/openwrt/image/tasks/prepare.yml index 887143d..f3eafc7 100644 --- a/ansible/roles/openwrt/image/tasks/prepare.yml +++ b/ansible/roles/openwrt/image/tasks/prepare.yml @@ -9,34 +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: Create symlinks + file: + dest: "{{ openwrt_imgbuilder_files }}/{{ item.key }}" + src: "{{ item.value.link }}" + force: yes + follow: no + state: link + loop: "{{ openwrt_mixin | openwrt_mixin_type('link') }}" + loop_control: + label: "{{ item.key }}" -- name: Copy mixins in place [1/2] +- 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 [2/2] +- 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 }}"