Clone repos to temporary folder during packaging 86/4786/2
authorFatih Degirmenci <fdegir@gmail.com>
Thu, 14 May 2020 17:14:26 +0000 (17:14 +0000)
committerFatih Degirmenci <fdegir@gmail.com>
Mon, 18 May 2020 09:40:50 +0000 (09:40 +0000)
Change-Id: I1fbdf892130b0d91de1d13e8261abb7b46d9213b

playbooks/bootstrap-swconfig.yaml
playbooks/package.yaml
playbooks/roles/package/tasks/prepare-packaging.yaml

index 5b42dba39aaf13c12871ce7cb7456a4489bba2db..bd8d24fb13c8a47bbfca374ec358f0a2a2379215 100644 (file)
@@ -24,3 +24,5 @@
 
   roles:
     - role: bootstrap-swconfig
+
+# vim: set ts=2 sw=2 expandtab:
index 2d5f5b4cc34c98fe71d8f3b65bfd8170d99e102e..1cf4c348a4cd06fe58837af92e3fd3c026a33a80 100644 (file)
@@ -24,3 +24,5 @@
 
   roles:
     - role: package
+
+# vim: set ts=2 sw=2 expandtab:
index 48428e3185f45fbc48bddf82f01a1927530f4114..48ceebc944569db25303d2fee5c89b6ec22d28f3 100644 (file)
 # SPDX-License-Identifier: Apache-2.0
 # ============LICENSE_END=========================================================
 
-- name: Ensure provisioner and installer folders exist and empty
-  file:
-    path: "{{ engine_path }}/engine/{{ item.path}}"
-    state: "{{ item.state }}"
-  with_items:
-    - {path: "{{ engine_path }}/engine/provisioner", state: absent}
-    - {path: "{{ engine_path }}/engine/provisioner", state: directory}
-    - {path: "{{ engine_path }}/engine/installer", state: absent}
-    - {path: "{{ engine_path }}/engine/installer", state: directory}
+- name: Create temporary folder to clone engine repositories
+  tempfile:
+    prefix: "engine."
+    state: directory
+  register: tempdir
 
 - name: Clone engine provisioner repositories
   git:
     repo: "{{ provisioners[provisioner.key].src }}"
-    dest: "{{ engine_path }}/engine/provisioner/{{ provisioner.key }}"
+    dest: "{{ tempdir.path }}/{{ provisioner.key }}"
     version: "{{ provisioners[provisioner.key].version }}"
     refspec: "{{ provisioners[provisioner.key].refspec | default(omit) }}"
     force: true
@@ -44,7 +40,7 @@
 
 - name: Copy engine provisioner vars file into group_vars
   copy:
-    src: "{{ engine_path }}/engine/provisioner/{{ provisioner.key }}/vars/{{ provisioner.key }}.yaml"
+    src: "{{ tempdir.path }}/{{ provisioner.key }}/vars/{{ provisioner.key }}.yaml"
     dest: "{{ engine_path }}/engine/inventory/group_vars/all/{{ provisioner.key }}.yaml"
     force: true
   with_dict: "{{ provisioners }}"
@@ -54,7 +50,7 @@
 - name: Clone engine installer repositories
   git:
     repo: "{{ installers[installer.key].src }}"
-    dest: "{{ engine_path }}/engine/installer/{{ installer.key }}"
+    dest: "{{ tempdir.path }}/{{ installer.key }}"
     version: "{{ installers[installer.key].version }}"
     refspec: "{{ installers[installer.key].refspec | default(omit) }}"
     force: true
 
 - name: Copy engine installer vars file into group_vars
   copy:
-    src: "{{ engine_path }}/engine/installer/{{ installer.key }}/vars/{{ installer.key }}.yaml"
+    src: "{{ tempdir.path }}/{{ installer.key }}/vars/{{ installer.key }}.yaml"
     dest: "{{ engine_path }}/engine/inventory/group_vars/all/{{ installer.key }}.yaml"
     force: true
   with_dict: "{{ installers }}"
   loop_control:
     loop_var: installer
 
+- name: Delete temporary folder
+  file:
+    path: "{{ tempdir.path }}"
+    state: absent
+    force: true
+
 - name: Include vars from collected provisioners and installers vars files
   include_vars:
     dir: "{{ engine_path }}/engine/inventory/group_vars/all"