Plug packaging into stack
[infra/stack/kubernetes.git] / playbooks / roles / package / tasks / prepare-packaging.yaml
diff --git a/playbooks/roles/package/tasks/prepare-packaging.yaml b/playbooks/roles/package/tasks/prepare-packaging.yaml
new file mode 100644 (file)
index 0000000..48428e3
--- /dev/null
@@ -0,0 +1,82 @@
+---
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2019 The Nordix Foundation. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# 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: Clone engine provisioner repositories
+  git:
+    repo: "{{ provisioners[provisioner.key].src }}"
+    dest: "{{ engine_path }}/engine/provisioner/{{ provisioner.key }}"
+    version: "{{ provisioners[provisioner.key].version }}"
+    refspec: "{{ provisioners[provisioner.key].refspec | default(omit) }}"
+    force: true
+  with_dict: "{{ provisioners }}"
+  loop_control:
+    loop_var: provisioner
+  environment:
+    http_proxy: "{{ lookup('env','http_proxy') }}"
+    https_proxy: "{{ lookup('env','https_proxy') }}"
+    no_proxy: "{{ lookup('env','no_proxy') }}"
+
+- name: Copy engine provisioner vars file into group_vars
+  copy:
+    src: "{{ engine_path }}/engine/provisioner/{{ provisioner.key }}/vars/{{ provisioner.key }}.yaml"
+    dest: "{{ engine_path }}/engine/inventory/group_vars/all/{{ provisioner.key }}.yaml"
+    force: true
+  with_dict: "{{ provisioners }}"
+  loop_control:
+    loop_var: provisioner
+
+- name: Clone engine installer repositories
+  git:
+    repo: "{{ installers[installer.key].src }}"
+    dest: "{{ engine_path }}/engine/installer/{{ installer.key }}"
+    version: "{{ installers[installer.key].version }}"
+    refspec: "{{ installers[installer.key].refspec | default(omit) }}"
+    force: true
+  with_dict: "{{ installers }}"
+  loop_control:
+    loop_var: installer
+  environment:
+    http_proxy: "{{ lookup('env','http_proxy') }}"
+    https_proxy: "{{ lookup('env','https_proxy') }}"
+    no_proxy: "{{ lookup('env','no_proxy') }}"
+
+- name: Copy engine installer vars file into group_vars
+  copy:
+    src: "{{ engine_path }}/engine/installer/{{ 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: Include vars from collected provisioners and installers vars files
+  include_vars:
+    dir: "{{ engine_path }}/engine/inventory/group_vars/all"
+
+# vim: set ts=2 sw=2 expandtab: