From f9ae600a61d5f2d0789fd4a16040ac31c9a7d5df Mon Sep 17 00:00:00 2001 From: Greg Szabo Date: Tue, 19 Sep 2017 23:40:32 -0400 Subject: [PATCH] Introduced setfile playbook --- ansible/roles/setfile/tasks/main.yml | 25 +++++++++++++++++++++++++ ansible/setfile.yml | 9 +++++++++ 2 files changed, 34 insertions(+) create mode 100644 ansible/roles/setfile/tasks/main.yml create mode 100644 ansible/setfile.yml diff --git a/ansible/roles/setfile/tasks/main.yml b/ansible/roles/setfile/tasks/main.yml new file mode 100644 index 000000000..fca02d683 --- /dev/null +++ b/ansible/roles/setfile/tasks/main.yml @@ -0,0 +1,25 @@ +--- + +- name: Download file if necessary + when: source | regex_search('^https?://') + get_url: "url={{source}} dest={{localdir}}/{{source | basename | regex_replace('\\?.*$','')}}" + register: downloaded + connection: local + run_once: yes + +- name: Figure out file source + set_fact: + compiledsource: "{{ (downloaded.skipped is defined) | ternary(source, downloaded.dest) }}" + connection: local + +- name: Extract file to destination + when: compiledsource | regex_search('\\.(zip|tar|tar\\.gz|tgz|tb2|tbz|tbz2|tar\\.bz2|txz|tar\\.xz)$') + register: extractcopy + unarchive: + src: "{{compiledsource}}" + dest: "{{destination}}" + +- name: Copy non-zipped file to destination + when: extractcopy.skipped is defined + copy: "src='{{compiledsource}}' dest='{{destination}}'" + diff --git a/ansible/setfile.yml b/ansible/setfile.yml new file mode 100644 index 000000000..9b6667cdf --- /dev/null +++ b/ansible/setfile.yml @@ -0,0 +1,9 @@ +--- + +#variable "source" is required +#variable "destination" is required + +- hosts: "{{ lookup('env','TF_VAR_TESTNET_NAME') }}:tag_Environment_{{ lookup('env','TF_VAR_TESTNET_NAME') | regex_replace('-','_') }}" + roles: + - setfile +