Fix wrong detection of uploaded resources
Issue-ID: OOM-1596
Change-Id: I091cd558f7574f49dddf4380df24e11141a4b78d
Signed-off-by: Milan Verespej <m.verespej@partner.samsung.com>
diff --git a/ansible/roles/resource-data/tasks/unarchive-resource.yml b/ansible/roles/resource-data/tasks/unarchive-resource.yml
index 9eafc22..7ccd21e 100644
--- a/ansible/roles/resource-data/tasks/unarchive-resource.yml
+++ b/ansible/roles/resource-data/tasks/unarchive-resource.yml
@@ -17,20 +17,40 @@
file:
path: "{{ resource_destination_directory }}"
state: directory
- register: create_destination_dir
+
+- name: Check if resources are uploaded
+ stat:
+ path: "{{ resource_destination_directory }}/{{ resource_source_filename }}-uploaded"
+ register: uploaded
- name: "Handle transport of one archive file"
+ when: not uploaded.stat.exists
block:
- - name: Re-set upload_failed
- set_fact:
- upload_failed: false
+ - name: "Get list of destination directory files"
+ find:
+ path: "{{ resource_destination_directory }}"
+ file_type: any
+ register: original_files
- name: "Unarchive resource {{ resource_source_filename }} from host {{ resources_source_host }}, transport is {{ transport }}"
include_tasks: "unarchive-{{ transport }}-resource.yml"
-
- - name: "Remove the destination directory {{ resource_destination_directory }} on error"
- file:
+ - file:
+ path: "{{ resource_destination_directory }}/{{ resource_source_filename }}-uploaded"
+ state: touch
+ rescue:
+ - name: "Get list of destination directory files"
+ find:
path: "{{ resource_destination_directory }}"
+ file_type: any
+ register: files_after_fail
+
+ - name: "Cleanup the destination directory {{ resource_destination_directory }} on error"
+ file:
+ path: "{{ item.path }}"
state: absent
- when: upload_failed
- when: create_destination_dir.changed
+ with_items: "{{ files_after_fail.files | difference(original_files.files) }}"
+ when: files_after_fail is defined
+
+ - fail:
+ msg: "Upload of {{ resource_source_filename }} failed"
+