aboutsummaryrefslogtreecommitdiffstats
path: root/roles/oom_launch/tasks/main.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'roles/oom_launch/tasks/main.yaml')
-rw-r--r--roles/oom_launch/tasks/main.yaml199
1 files changed, 199 insertions, 0 deletions
diff --git a/roles/oom_launch/tasks/main.yaml b/roles/oom_launch/tasks/main.yaml
new file mode 100644
index 0000000..9ed4144
--- /dev/null
+++ b/roles/oom_launch/tasks/main.yaml
@@ -0,0 +1,199 @@
+---
+- name: check if onap/Chart.yaml file exists
+ ansible.builtin.stat:
+ path: "{{ onap_chart_path }}"
+ register: onap_chart_stat
+
+- name: load onap/Chart.yaml
+ ansible.builtin.slurp:
+ src: "{{ onap_chart_path }}"
+ register: onap_chart_content
+ when: onap_chart_stat.stat.exists
+
+- name: set version according to release found in onap chart
+ set_fact:
+ onap_version:
+ "{{ (onap_chart_content['content'] | b64decode | from_yaml).version }}"
+ when: onap_chart_stat.stat.exists
+
+- name: show version that will be used
+ debug:
+ msg: "will deploy onap version {{ onap_version }}"
+
+- name: check if a environment.yaml exists
+ ansible.builtin.stat:
+ path: "{{ generic_override_path }}/environment.yaml"
+ register: environment_stat
+
+- name: set environment.yaml override
+ ansible.builtin.set_fact:
+ environment_override: "--values {{ generic_override_path }}/environment.yaml"
+ when: environment_stat.stat.exists
+
+- name: do not set environment.yaml override
+ ansible.builtin.set_fact:
+ environment_override: ""
+ when: not environment_stat.stat.exists
+
+- name: check if a onap-components.yaml exists
+ ansible.builtin.stat:
+ path: "{{ override_components }}"
+ register: component_stat
+
+- name: set onap-components.yaml override
+ ansible.builtin.set_fact:
+ component_override: "--values {{ override_components }}"
+ when: component_stat.stat.exists
+
+- name: do not set onap-components.yaml override
+ ansible.builtin.set_fact:
+ component_override: ""
+ when: not component_stat.stat.exists
+
+- name: check if a component-gating-overrides.yaml exists
+ ansible.builtin.stat:
+ path: "{{ override_gating_component }}"
+ register: gating_stat
+
+- name: set component-gating-overrides.yaml override
+ ansible.builtin.set_fact:
+ so_override: "--values {{ override_gating_component }}"
+ when: gating_stat.stat.exists and project == "so"
+
+- name: do not set component-gating-overrides.yaml override
+ ansible.builtin.set_fact:
+ so_override: ""
+ when: not gating_stat.stat.exists or project != "so"
+
+- name: check helm version
+ command: "helm version --template {% raw %}'{{.Version}}'{% endraw %}"
+ register: helm_version
+
+# Return of previous command will be "v3.3.4" for v3 and up and "<no value>"
+# for version 2.
+- name: store helm version
+ ansible.builtin.set_fact:
+ helmv3: "{{ ('<' in helm_version.stdout) | ternary(false, true) }}"
+
+- name: "HELM 3 not installed - stop playbook"
+ ansible.builtin.fail:
+ msg: HELM 3 not installed
+ when: not helmv3
+
+- name: set timeout
+ set_fact:
+ onap_timeout: "{{ onap_timeout }}s"
+
+- name: retrieve helm postgres secret
+ community.kubernetes.k8s_info:
+ api_version: v1
+ kind: Secret
+ name: "{{ postgres_secret_name }}"
+ namespace: "{{ postgres_namespace }}"
+ register: postgres_secrets
+ when: helmv3_use_sql|bool
+
+- name: retrieve helm postgres password
+ set_fact:
+ postgres_password: "{{
+ postgres_secrets.resources[0].data['postgresql-password'] | b64decode }}"
+ when: helmv3_use_sql|bool
+
+- name: set helm environment with postgres
+ set_fact:
+ helm_env: "{{ helm_env_postgres }}"
+ when: helmv3_use_sql|bool
+
+- name: update helm repo
+ command: "helm repo up"
+
+- name: create ONAP namespace
+ run_once: "yes"
+ community.kubernetes.k8s:
+ state: present
+ definition:
+ apiVersion: v1
+ kind: Namespace
+ metadata:
+ name: "{{ onap_namespace }}"
+ labels:
+ istio-injection: "{{ (os_infra.onap.istioEnabled | default(true)) |
+ ternary ('enabled', 'disabled') }}"
+ name: "{{ onap_namespace }}"
+
+- name: generate command line for launch
+ set_fact:
+ helm_launch: >
+ helm deploy {{ chart_name }} local/onap
+ --namespace {{ onap_namespace }}
+ --version {{ onap_version }}
+ --values {{ onap_all_file }}
+ {{ environment_override }}
+ --values {{ override_file }}
+ {{ component_override }}
+ {{ so_override }}
+ --timeout {{ onap_timeout }}
+
+- name: show deploy execution command line
+ debug:
+ var: helm_launch
+
+- name: "[HELMv3] launch installation"
+ command: "{{ helm_launch }}"
+ register: yolo3
+ changed_when: true
+ async: 4800
+ poll: 0
+ when: helmv3
+ environment: "{{ helm_env }}"
+
+- name: "[HELMv3] wait for helm deploy to finish"
+ async_status:
+ jid: "{{ yolo3.ansible_job_id }}"
+ register: job_result3
+ until: job_result3.finished
+ retries: 480
+ delay: 10
+ when: helmv3
+
+- name: "[HELMv3] see output"
+ ansible.builtin.debug:
+ msg: "{{ job_result3.stdout }}"
+ when: helmv3
+
+- name: check if a deployment has already been done
+ ansible.builtin.stat:
+ path: "{{ deployment_file }}"
+ register: deployment_stat
+
+- name: get deployment.yaml
+ when: deployment_stat.stat.exists
+ block:
+ - name: create temporary local file for deployment.yaml
+ ansible.builtin.tempfile:
+ state: file
+ suffix: temp
+ register: tmp_deployment
+ delegate_to: "127.0.0.1"
+
+ - name: fetch deployment info
+ ansible.builtin.fetch:
+ dest: "{{ tmp_deployment.path }}"
+ src: "{{ deployment_file }}"
+ flat: "yes"
+
+ - name: load deployment info
+ include_vars:
+ file: "{{ tmp_deployment.path }}"
+
+ always:
+ - name: destroy the local tmp_deployment
+ ansible.builtin.file:
+ path: "{{ tmp_deployment.path }}"
+ state: absent
+ delegate_to: "127.0.0.1"
+
+- name: grab a beer
+ ansible.builtin.debug:
+ msg: " .:.\n _oOoOo\n \
+ [_|||||\n |||||\n ~~~~~"