Clone repos to temporary folder during packaging
[infra/stack/kubernetes.git] / playbooks / roles / package / tasks / prepare-packaging.yaml
1 ---
2 # ============LICENSE_START=======================================================
3 #  Copyright (C) 2019 The Nordix Foundation. All rights reserved.
4 # ================================================================================
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
8 #
9 #      http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 #
17 # SPDX-License-Identifier: Apache-2.0
18 # ============LICENSE_END=========================================================
19
20 - name: Create temporary folder to clone engine repositories
21   tempfile:
22     prefix: "engine."
23     state: directory
24   register: tempdir
25
26 - name: Clone engine provisioner repositories
27   git:
28     repo: "{{ provisioners[provisioner.key].src }}"
29     dest: "{{ tempdir.path }}/{{ provisioner.key }}"
30     version: "{{ provisioners[provisioner.key].version }}"
31     refspec: "{{ provisioners[provisioner.key].refspec | default(omit) }}"
32     force: true
33   with_dict: "{{ provisioners }}"
34   loop_control:
35     loop_var: provisioner
36   environment:
37     http_proxy: "{{ lookup('env','http_proxy') }}"
38     https_proxy: "{{ lookup('env','https_proxy') }}"
39     no_proxy: "{{ lookup('env','no_proxy') }}"
40
41 - name: Copy engine provisioner vars file into group_vars
42   copy:
43     src: "{{ tempdir.path }}/{{ provisioner.key }}/vars/{{ provisioner.key }}.yaml"
44     dest: "{{ engine_path }}/engine/inventory/group_vars/all/{{ provisioner.key }}.yaml"
45     force: true
46   with_dict: "{{ provisioners }}"
47   loop_control:
48     loop_var: provisioner
49
50 - name: Clone engine installer repositories
51   git:
52     repo: "{{ installers[installer.key].src }}"
53     dest: "{{ tempdir.path }}/{{ installer.key }}"
54     version: "{{ installers[installer.key].version }}"
55     refspec: "{{ installers[installer.key].refspec | default(omit) }}"
56     force: true
57   with_dict: "{{ installers }}"
58   loop_control:
59     loop_var: installer
60   environment:
61     http_proxy: "{{ lookup('env','http_proxy') }}"
62     https_proxy: "{{ lookup('env','https_proxy') }}"
63     no_proxy: "{{ lookup('env','no_proxy') }}"
64
65 - name: Copy engine installer vars file into group_vars
66   copy:
67     src: "{{ tempdir.path }}/{{ installer.key }}/vars/{{ installer.key }}.yaml"
68     dest: "{{ engine_path }}/engine/inventory/group_vars/all/{{ installer.key }}.yaml"
69     force: true
70   with_dict: "{{ installers }}"
71   loop_control:
72     loop_var: installer
73
74 - name: Delete temporary folder
75   file:
76     path: "{{ tempdir.path }}"
77     state: absent
78     force: true
79
80 - name: Include vars from collected provisioners and installers vars files
81   include_vars:
82     dir: "{{ engine_path }}/engine/inventory/group_vars/all"
83
84 # vim: set ts=2 sw=2 expandtab: