diff options
author | Petr OspalĂ˝ <p.ospaly@partner.samsung.com> | 2018-12-19 14:12:51 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2018-12-19 14:12:51 +0000 |
commit | e944afd40770dc1013965bd817511d2353d69e4c (patch) | |
tree | ed477ddccc93524ba027cf0020af1f0b310affe9 /ansible/roles/resource-data/tasks/nfs-upload.yml | |
parent | cf4662b2f6c027163818339a715e99b5066ece3a (diff) | |
parent | f590720ecaeef4a3623c0e50fba1110454a36719 (diff) |
Merge "Add resource-data handling role"
Diffstat (limited to 'ansible/roles/resource-data/tasks/nfs-upload.yml')
-rw-r--r-- | ansible/roles/resource-data/tasks/nfs-upload.yml | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/ansible/roles/resource-data/tasks/nfs-upload.yml b/ansible/roles/resource-data/tasks/nfs-upload.yml new file mode 100644 index 00000000..825486b6 --- /dev/null +++ b/ansible/roles/resource-data/tasks/nfs-upload.yml @@ -0,0 +1,52 @@ +--- +- name: Upload resources to infrastructure servers over nfs + block: + - name: Mount resources + mount: + path: /tmp/resource_data + src: "{{ hostvars[groups.resources.0].ansible_host }}:{{ hostvars[groups.resources.0].resources_dir }}" + fstype: nfs + state: mounted + + - name: Unarchive resources + unarchive: + src: "/tmp/resource_data/{{ hostvars[groups.resources.0].resources_filename }}" + remote_src: yes + dest: "{{ app_data_path }}" + when: not resources_data_check.stat.exists + + - name: Unarchive auxiliary resources + unarchive: + src: "/tmp/resource_data/{{ hostvars[groups.resources.0].aux_resources_filename }}" + remote_src: yes + dest: "{{ aux_data_path }}" + when: > + hostvars[groups.resources.0].aux_resources_filename is defined + and aux_data_path is defined and aux_data_path is not none + and hostvars[groups.resources.0].aux_file_presence.stat.exists + and not aux_resources_data_check.stat.exists + + rescue: + - name: Removing the resources data due to an error - so the next run can try again + command: /bin/false + register: upload_failed + + always: + - name: unmount resource dir + mount: + path: /tmp/resource_data + src: "{{ hostvars[groups.resources.0].ansible_host }}:{{hostvars[groups.resources.0].resources_dir }}" + fstype: nfs + state: absent + + - name: Remove the resource data on error + file: + path: "{{ app_data_path }}" + state: absent + when: upload_failed is defined + + - name: Remove the auxilliary resource data on error + file: + path: "{{ aux_data_path }}" + state: absent + when: upload_failed is defined |