[MOLECULE] Add molecule setup for kube_prometheus.yml playbook
nfs_mount_path in kube-prometheus-stack role is coerced to global
value from group_vars to allow direct verifier test reuse in
playbook run.
Change-Id: I125355f2b65b57ae6782b9eafcb6d6b58a7444e0
Issue-ID: OOM-2908
Signed-off-by: Bartek Grzybowski <b.grzybowski@partner.samsung.com>
diff --git a/ansible/roles/kube-prometheus-stack/molecule/default/molecule.yml b/ansible/roles/kube-prometheus-stack/molecule/default/molecule.yml
index c1eafa3..bf9ed85 100644
--- a/ansible/roles/kube-prometheus-stack/molecule/default/molecule.yml
+++ b/ansible/roles/kube-prometheus-stack/molecule/default/molecule.yml
@@ -23,6 +23,6 @@
all:
app_name: onap
app_data_path: "/opt/{{ app_name }}"
- nfs_mount_path: "/nfs"
+ nfs_mount_path: "/dockerdata-nfs"
verifier:
name: testinfra
diff --git a/ansible/roles/kube-prometheus-stack/molecule/default/tests/test_default.py b/ansible/roles/kube-prometheus-stack/molecule/default/tests/test_default.py
index ad2d90c..18da24e 100644
--- a/ansible/roles/kube-prometheus-stack/molecule/default/tests/test_default.py
+++ b/ansible/roles/kube-prometheus-stack/molecule/default/tests/test_default.py
@@ -26,7 +26,7 @@
def test_grafana_dashboards(host):
- assert host.file('/nfs/kube-prometheus/kube-prometheus-grafana/'
+ assert host.file('/dockerdata-nfs/kube-prometheus/kube-prometheus-grafana/'
'dashboards/custom/grafana_dashboard.json').exists
- assert host.file('/nfs/kube-prometheus/kube-prometheus-grafana/'
+ assert host.file('/dockerdata-nfs/kube-prometheus/kube-prometheus-grafana/'
'dashboards/grafana_home.json').exists
diff --git a/ansible/test/play-kube_prometheus/.yamllint b/ansible/test/play-kube_prometheus/.yamllint
new file mode 100644
index 0000000..c5ae64b
--- /dev/null
+++ b/ansible/test/play-kube_prometheus/.yamllint
@@ -0,0 +1,12 @@
+---
+extends: default
+
+rules:
+ braces:
+ max-spaces-inside: 1
+ level: error
+ brackets:
+ max-spaces-inside: 1
+ level: error
+ line-length: disable
+ truthy: disable
diff --git a/ansible/test/play-kube_prometheus/molecule/default/converge.yml b/ansible/test/play-kube_prometheus/molecule/default/converge.yml
new file mode 100644
index 0000000..f47c622
--- /dev/null
+++ b/ansible/test/play-kube_prometheus/molecule/default/converge.yml
@@ -0,0 +1,8 @@
+---
+- name: Initialize
+ hosts: all
+ tasks:
+ - name: Include variables
+ include_vars: vars.yml
+
+- import_playbook: ../../../../kube_prometheus.yml
diff --git a/ansible/test/play-kube_prometheus/molecule/default/molecule.yml b/ansible/test/play-kube_prometheus/molecule/default/molecule.yml
new file mode 100644
index 0000000..a21bf1e
--- /dev/null
+++ b/ansible/test/play-kube_prometheus/molecule/default/molecule.yml
@@ -0,0 +1,24 @@
+---
+dependency:
+ name: galaxy
+driver:
+ name: docker
+lint: |
+ set -e
+ yamllint .
+ ansible-lint .
+ flake8
+platforms:
+ - name: infrastructure-play-kube-prometheus
+ image: molecule-${PREBUILD_PLATFORM_DISTRO:-centos}:${PREBUILD_DISTRO_VERSION:-centos7.9}
+ pre_build_image: true
+ groups:
+ - infrastructure
+provisioner:
+ name: ansible
+ env:
+ ANSIBLE_ROLES_PATH: ../../../../test/roles
+ ANSIBLE_LIBRARY: ../../../../library
+verifier:
+ name: testinfra
+ directory: ../../../../roles/kube-prometheus-stack/molecule/default/tests/
diff --git a/ansible/test/play-kube_prometheus/molecule/default/prepare.yml b/ansible/test/play-kube_prometheus/molecule/default/prepare.yml
new file mode 100644
index 0000000..1a1a298
--- /dev/null
+++ b/ansible/test/play-kube_prometheus/molecule/default/prepare.yml
@@ -0,0 +1,10 @@
+---
+- name: Prepare infra
+ hosts: infrastructure
+ pre_tasks:
+ - name: Include infrastructure group variables
+ include_vars: ../../../../group_vars/infrastructure.yml
+ - name: Include test setup variables
+ include_vars: vars.yml
+ roles:
+ - prepare-kube-prometheus-stack
diff --git a/ansible/test/play-kube_prometheus/molecule/default/vars.yml b/ansible/test/play-kube_prometheus/molecule/default/vars.yml
new file mode 100644
index 0000000..1256ac4
--- /dev/null
+++ b/ansible/test/play-kube_prometheus/molecule/default/vars.yml
@@ -0,0 +1,5 @@
+---
+k8s_volumes: []
+app_name: onap
+app_data_path: "/opt/{{ app_name }}"
+nfs_mount_path: "/dockerdata-nfs"