Refactor Helm role test setup 87/117287/4
authorBartek Grzybowski <b.grzybowski@partner.samsung.com>
Mon, 1 Feb 2021 09:13:03 +0000 (10:13 +0100)
committerBartek Grzybowski <b.grzybowski@partner.samsung.com>
Thu, 4 Feb 2021 08:16:13 +0000 (08:16 +0000)
Test setup variable inclusion reworked for better sanity.

General Molecule docker image is used instead of pre-built one.

Change-Id: I013b9d7b92ded86220e6f2092ce75ee47b094d89
Issue-ID: OOM-2665
Signed-off-by: Bartek Grzybowski <b.grzybowski@partner.samsung.com>
ansible/roles/helm/molecule/default/Dockerfile.j2 [new file with mode: 0644]
ansible/roles/helm/molecule/default/group_vars/infrastructure.yml [deleted symlink]
ansible/roles/helm/molecule/default/molecule.yml
ansible/roles/helm/molecule/default/playbook.yml
ansible/roles/helm/molecule/default/prepare.yml
ansible/roles/helm/molecule/default/vars.yml [new file with mode: 0644]
ansible/roles/helm/molecule/ubuntu/Dockerfile.j2 [new symlink]
ansible/roles/helm/molecule/ubuntu/group_vars [deleted symlink]
ansible/roles/helm/molecule/ubuntu/molecule.yml

diff --git a/ansible/roles/helm/molecule/default/Dockerfile.j2 b/ansible/roles/helm/molecule/default/Dockerfile.j2
new file mode 100644 (file)
index 0000000..e6aa95d
--- /dev/null
@@ -0,0 +1,14 @@
+# Molecule managed
+
+{% if item.registry is defined %}
+FROM {{ item.registry.url }}/{{ item.image }}
+{% else %}
+FROM {{ item.image }}
+{% endif %}
+
+RUN if [ $(command -v apt-get) ]; then apt-get update && apt-get install -y python sudo bash ca-certificates && apt-get clean; \
+    elif [ $(command -v dnf) ]; then dnf makecache && dnf --assumeyes install python sudo python-devel python*-dnf bash && dnf clean all; \
+    elif [ $(command -v yum) ]; then yum makecache fast && yum install -y python sudo yum-plugin-ovl bash && sed -i 's/plugins=0/plugins=1/g' /etc/yum.conf && yum clean all; \
+    elif [ $(command -v zypper) ]; then zypper refresh && zypper install -y python sudo bash python-xml && zypper clean -a; \
+    elif [ $(command -v apk) ]; then apk update && apk add --no-cache python sudo bash ca-certificates; \
+    elif [ $(command -v xbps-install) ]; then xbps-install -Syu && xbps-install -y python sudo bash ca-certificates && xbps-remove -O; fi
diff --git a/ansible/roles/helm/molecule/default/group_vars/infrastructure.yml b/ansible/roles/helm/molecule/default/group_vars/infrastructure.yml
deleted file mode 120000 (symlink)
index 3e9c2f0..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../group_vars/infrastructure.yml
\ No newline at end of file
index 0d46c2d..359d3ab 100644 (file)
@@ -7,10 +7,7 @@ lint:
   name: yamllint
 platforms:
   - name: infrastructure-server
-    image: molecule-${PREBUILD_PLATFORM_DISTRO:-centos}:${PREBUILD_DISTRO_VERSION:-centos7.6}
-    pre_build_image: True
-    privileged: true
-    override_command: False
+    image: centos:7
     groups:
       - infrastructure
 provisioner:
@@ -25,7 +22,6 @@ provisioner:
       all:
         app_name: onap
         app_data_path: "/opt/{{ app_name }}"
-        helm_bin_dir: /usr/local/bin
 scenario:
   name: default
 verifier:
index 2705b16..0f3fbc2 100644 (file)
@@ -1,5 +1,10 @@
 ---
 - name: Converge
   hosts: all
+  pre_tasks:
+    - name: Include infrastructure group variables
+      include_vars: ../../../../group_vars/infrastructure.yml
+    - name: Include test scenario variables
+      include_vars: vars.yml
   roles:
     - helm
index 34c41e8..10ccf23 100644 (file)
@@ -4,5 +4,7 @@
   pre_tasks:
     - name: Include infrastructure group variables
       include_vars: ../../../../group_vars/infrastructure.yml
+    - name: Include test scenario variables
+      include_vars: vars.yml
   roles:
     - prepare-helm
diff --git a/ansible/roles/helm/molecule/default/vars.yml b/ansible/roles/helm/molecule/default/vars.yml
new file mode 100644 (file)
index 0000000..ed97d53
--- /dev/null
@@ -0,0 +1 @@
+---
diff --git a/ansible/roles/helm/molecule/ubuntu/Dockerfile.j2 b/ansible/roles/helm/molecule/ubuntu/Dockerfile.j2
new file mode 120000 (symlink)
index 0000000..867ec5c
--- /dev/null
@@ -0,0 +1 @@
+../default/Dockerfile.j2
\ No newline at end of file
diff --git a/ansible/roles/helm/molecule/ubuntu/group_vars b/ansible/roles/helm/molecule/ubuntu/group_vars
deleted file mode 120000 (symlink)
index 5ce8257..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../default/group_vars/
\ No newline at end of file
index a375a32..a43ff07 100644 (file)
@@ -7,10 +7,7 @@ lint:
   name: yamllint
 platforms:
   - name: infrastructure-server
-    image: molecule-${PREBUILD_PLATFORM_DISTRO:-ubuntu}:${PREBUILD_DISTRO_VERSION:-18.04}
-    pre_build_image: True
-    privileged: true
-    override_command: False
+    image: ubuntu:18.04
     groups:
       - infrastructure
 provisioner:
@@ -28,7 +25,6 @@ provisioner:
       all:
         app_name: onap
         app_data_path: "/opt/{{ app_name }}"
-        helm_bin_dir: /usr/local/bin
 scenario:
   name: ubuntu
 verifier: