[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"