Bootstrap provisioners and installers if they are defined
[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 - block:
27   - name: Clone engine provisioner repositories
28     git:
29       repo: "{{ provisioners[provisioner.key].src }}"
30       dest: "{{ tempdir.path }}/{{ provisioner.key }}"
31       version: "{{ provisioners[provisioner.key].version }}"
32       refspec: "{{ provisioners[provisioner.key].refspec | default(omit) }}"
33       force: true
34     with_dict: "{{ provisioners }}"
35     loop_control:
36       loop_var: provisioner
37     environment:
38       http_proxy: "{{ lookup('env','http_proxy') }}"
39       https_proxy: "{{ lookup('env','https_proxy') }}"
40       no_proxy: "{{ lookup('env','no_proxy') }}"
41
42   - name: Copy engine provisioner vars file into group_vars
43     copy:
44       src: "{{ tempdir.path }}/{{ provisioner.key }}/vars/{{ provisioner.key }}.yaml"
45       dest: "{{ engine_path }}/engine/inventory/group_vars/all/{{ provisioner.key }}.yaml"
46       force: true
47     with_dict: "{{ provisioners }}"
48     loop_control:
49       loop_var: provisioner
50   when: provisioners is defined
51
52 - block:
53   - name: Clone engine installer repositories
54     git:
55       repo: "{{ installers[installer.key].src }}"
56       dest: "{{ tempdir.path }}/{{ installer.key }}"
57       version: "{{ installers[installer.key].version }}"
58       refspec: "{{ installers[installer.key].refspec | default(omit) }}"
59       force: true
60     with_dict: "{{ installers }}"
61     loop_control:
62       loop_var: installer
63     environment:
64       http_proxy: "{{ lookup('env','http_proxy') }}"
65       https_proxy: "{{ lookup('env','https_proxy') }}"
66       no_proxy: "{{ lookup('env','no_proxy') }}"
67
68   - name: Copy engine installer vars file into group_vars
69     copy:
70       src: "{{ tempdir.path }}/{{ installer.key }}/vars/{{ installer.key }}.yaml"
71       dest: "{{ engine_path }}/engine/inventory/group_vars/all/{{ installer.key }}.yaml"
72       force: true
73     with_dict: "{{ installers }}"
74     loop_control:
75       loop_var: installer
76   when: installers is defined
77
78 - name: Delete temporary folder
79   file:
80     path: "{{ tempdir.path }}"
81     state: absent
82     force: true
83
84 - name: Include vars from collected provisioners and installers vars files
85   include_vars:
86     dir: "{{ engine_path }}/engine/inventory/group_vars/all"
87
88 # vim: set ts=2 sw=2 expandtab: