Adapt xtesting-onap to stack oriented framework
This commit adds an initial testing capability for onap with the following two testsuits
support.
1. infra-healthcheck
2. healthcheck
Signed-off-by: eprasad <prasad.mukhedkar@est.tech>
Change-Id: I1f669880ba7ae9301c8f86974072e114ae28951d
Signed-off-by: eprasad <prasad.mukhedkar@est.tech>
diff --git a/playbooks/roles/run-tests/tasks/healthcheck.yaml b/playbooks/roles/run-tests/tasks/healthcheck.yaml
new file mode 100644
index 0000000..34df2ff
--- /dev/null
+++ b/playbooks/roles/run-tests/tasks/healthcheck.yaml
@@ -0,0 +1,54 @@
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2020 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: start healthcheck job
+ k8s:
+ state: present
+ src: "{{ config_path }}/xtesting/healthcheck-{{ test_type }}.yaml"
+
+- name: Get the name of pod created by healthcheck job
+ shell: kubectl get pods -l job-name=xtesting-onap-{{ test_type }} -o name --no-headers=true | sed 's/\<pod\>//g' | sed 's/\///'
+ register: xtesting_pod
+
+- name: Wait for healthcheck job to complete
+ shell: "kubectl get pods {{ xtesting_pod.stdout }}"
+ register: healthcheck_pod
+ until: '" Completed " in healthcheck_pod.stdout'
+ retries: 100
+ delay: 4
+
+- name: collect healthcheck testsuite logs
+ shell: "kubectl logs {{ xtesting_pod.stdout }}"
+ register: healthcheck_log
+
+- name: Log healthcheck testsuite output to console
+ debug:
+ var: healthcheck_log.stdout_lines
+
+- name: Save healthcheck testsuite output on jumphost
+ copy:
+ content: healthcheck_log.stdout_lines
+ dest: "{{ test_cache }}/xtesting/{{ test_type }}/results/xtesting.log"
+
+- name: Determine the test verdict
+ fail:
+ msg: "Tests failed!"
+ when: "'Result.EX_ERROR' in healthcheck_log.stdout"
+
+# vim: set ts=2 sw=2 expandtab:
diff --git a/playbooks/roles/run-tests/tasks/infra-healthcheck.yaml b/playbooks/roles/run-tests/tasks/infra-healthcheck.yaml
new file mode 100644
index 0000000..abd2767
--- /dev/null
+++ b/playbooks/roles/run-tests/tasks/infra-healthcheck.yaml
@@ -0,0 +1,35 @@
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2020 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: Run tests
+ command: "{{ test_cache }}/{{ test_framework }}/run-tests.sh"
+ changed_when: false
+ register: run_tests
+ ignore_errors: true
+
+- name: Log run-tests.sh output to console
+ debug:
+ msg: "{{ run_tests.stdout_lines }}"
+
+- name: Determine the test verdict
+ fail:
+ msg: "Tests failed!"
+ when: run_tests.rc != 0
+
+# vim: set ts=2 sw=2 expandtab:
diff --git a/playbooks/roles/run-tests/tasks/main.yaml b/playbooks/roles/run-tests/tasks/main.yaml
new file mode 100644
index 0000000..31d07ba
--- /dev/null
+++ b/playbooks/roles/run-tests/tasks/main.yaml
@@ -0,0 +1,25 @@
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2020 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=========================================================
+
+# run tests
+- include: "{{ test_suite }}.yaml"
+ when: test_suite == "infra-healthcheck"
+
+- include: "{{ test_suite }}.yaml"
+ when: test_suite == "healthcheck"
diff --git a/playbooks/roles/run-tests/vars/main.yaml b/playbooks/roles/run-tests/vars/main.yaml
new file mode 100644
index 0000000..ed97d53
--- /dev/null
+++ b/playbooks/roles/run-tests/vars/main.yaml
@@ -0,0 +1 @@
+---