diff options
author | Samuli Silvius <s.silvius@partner.samsung.com> | 2019-02-19 16:00:37 +0200 |
---|---|---|
committer | Michal Ptacek <m.ptacek@partner.samsung.com> | 2019-03-07 08:01:08 +0000 |
commit | 29886f09d53bee1ecdc1bc8612e8edb4a130a270 (patch) | |
tree | 9507ee70a95e27afd81adf284f1dfe2c8b946491 /ansible/roles/resource-data/tasks/unarchive-resource.yml | |
parent | f968e170316ee1e514d4cf03a56137ba93c1a0bf (diff) |
Re-factored resources upload into role
Whole functionality of resource files upload is
implemented in resource-data role instead of
playbook level tasks.
This will make roles easier to test
and make it easier to implement other OS support later.
Issue-ID: OOM-1654
Change-Id: I3d3da9381b0e804f511ee854c41554b924d18883
Signed-off-by: Samuli Silvius <s.silvius@partner.samsung.com>
Diffstat (limited to 'ansible/roles/resource-data/tasks/unarchive-resource.yml')
-rw-r--r-- | ansible/roles/resource-data/tasks/unarchive-resource.yml | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/ansible/roles/resource-data/tasks/unarchive-resource.yml b/ansible/roles/resource-data/tasks/unarchive-resource.yml new file mode 100644 index 00000000..9eafc220 --- /dev/null +++ b/ansible/roles/resource-data/tasks/unarchive-resource.yml @@ -0,0 +1,36 @@ +--- +# +# Wrapper to pass through following variables +# resources_source_host +# resources_dir +# resource_source_filename +# resource_destination_directory +# And handling target directory creation and possible removal on failure. +# Idempotence is also handled here as nothing is done if resource_destination_directory +# was already created. +# +# Logically also tranport method selection belongs to here but left it to caller +# as this is called in a loop causing "package_facts" called many times +# (not sure if it would matter). +# +- name: "Create {{ resource_destination_directory }} directory" + file: + path: "{{ resource_destination_directory }}" + state: directory + register: create_destination_dir + +- name: "Handle transport of one archive file" + block: + - name: Re-set upload_failed + set_fact: + upload_failed: false + + - 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: + path: "{{ resource_destination_directory }}" + state: absent + when: upload_failed + when: create_destination_dir.changed |