summaryrefslogtreecommitdiffstats
path: root/csit
diff options
context:
space:
mode:
Diffstat (limited to 'csit')
-rwxr-xr-xcsit/apex-pdp/plans/setup.sh2
-rwxr-xr-xcsit/api/plans/setup.sh6
-rwxr-xr-xcsit/clamp/plans/setup.sh4
-rw-r--r--csit/common-library.robot5
-rw-r--r--csit/compose-grafana.yml283
-rw-r--r--csit/docker-compose-all.yml38
-rwxr-xr-xcsit/include-raw-integration-install-robotframework.sh37
-rw-r--r--csit/metrics/prometheus.yml4
-rwxr-xr-xcsit/pap/plans/setup.sh4
-rwxr-xr-xcsit/prepare-robot-env.sh (renamed from csit/prepare-csit.sh)24
-rwxr-xr-xcsit/run-k8s-csit.sh120
-rwxr-xr-xcsit/run-project-csit.sh6
-rwxr-xr-xcsit/start-grafana.sh14
-rwxr-xr-xcsit/stop-grafana.sh26
14 files changed, 192 insertions, 381 deletions
diff --git a/csit/apex-pdp/plans/setup.sh b/csit/apex-pdp/plans/setup.sh
index 1320b520..f38b9e45 100755
--- a/csit/apex-pdp/plans/setup.sh
+++ b/csit/apex-pdp/plans/setup.sh
@@ -30,7 +30,7 @@ sudo apt-get -y install libxml2-utils
source "${SCRIPTS}"/get-versions.sh
-docker-compose -f "${SCRIPTS}"/docker-compose-all.yml up -d apex-pdp
+docker-compose -f "${SCRIPTS}"/docker-compose-all.yml up -d apex-pdp grafana
unset http_proxy https_proxy
diff --git a/csit/api/plans/setup.sh b/csit/api/plans/setup.sh
index 8a20d93d..874eb954 100755
--- a/csit/api/plans/setup.sh
+++ b/csit/api/plans/setup.sh
@@ -1,7 +1,7 @@
#!/bin/bash
# ============LICENSE_START=======================================================
-# Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved.
-# Modifications Copyright 2021-2022 Nordix Foundation.
+# Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved.
+# Modifications Copyright 2021-2023 Nordix Foundation.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -45,7 +45,7 @@ sed -e 's!"version": "1.0.0"!"version": "2.0.0"!' \
echo "${POLICY_API_VERSION}"
cd "${SCRIPTS}"
-docker-compose -f "${SCRIPTS}"/docker-compose-all.yml up -d api
+docker-compose -f "${SCRIPTS}"/docker-compose-all.yml up -d api grafana
sleep 10
unset http_proxy https_proxy
diff --git a/csit/clamp/plans/setup.sh b/csit/clamp/plans/setup.sh
index 4ce48297..02770a86 100755
--- a/csit/clamp/plans/setup.sh
+++ b/csit/clamp/plans/setup.sh
@@ -1,6 +1,6 @@
#!/bin/bash
# ============LICENSE_START=======================================================
-# Copyright (C) 2021-2022 Nordix Foundation.
+# Copyright (C) 2021-2023 Nordix Foundation.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -27,7 +27,7 @@ sudo apt-get -y install libxml2-utils
source "${SCRIPTS}"/get-versions.sh
# Bringup ACM runtime containers
-docker-compose -f "${SCRIPTS}"/docker-compose-all.yml up -d policy-clamp-runtime-acm
+docker-compose -f "${SCRIPTS}"/docker-compose-all.yml up -d policy-clamp-runtime-acm grafana
sleep 10
unset http_proxy https_proxy
diff --git a/csit/common-library.robot b/csit/common-library.robot
index 95831b0d..c19f78cd 100644
--- a/csit/common-library.robot
+++ b/csit/common-library.robot
@@ -119,3 +119,8 @@ GetMetrics
${resp}= GET On Session policy ${context_path}metrics expected_status=200
Log Received response from policy ${resp.text}
[return] ${resp}
+
+QueryPrometheus ${query}
+ ${resp}= GET http://localhost:30259/api/v1/query?query=${query} expected_status=200
+ Log Received response from policy ${resp.text}
+ [return] ${resp}
diff --git a/csit/compose-grafana.yml b/csit/compose-grafana.yml
deleted file mode 100644
index 65106b18..00000000
--- a/csit/compose-grafana.yml
+++ /dev/null
@@ -1,283 +0,0 @@
-#
-# ===========LICENSE_START====================================================
-# Copyright (C) 2022 Nordix Foundation.
-# ============================================================================
-# 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.
-# ============LICENSE_END=====================================================
-#
-version: '2'
-services:
- mariadb:
- image: nexus3.onap.org:10001/mariadb:${POLICY_MARIADB_VER}
- container_name: mariadb
- hostname: mariadb
- command: ['--lower-case-table-names=1', '--wait_timeout=28800']
- env_file: config/db/db.conf
- volumes:
- - ./config/db:/docker-entrypoint-initdb.d:ro
- - ./config/clamp/policy-clamp-create-tables.sql:/tmp/policy-clamp-create-tables.sql
- expose:
- - 3306
- policy-db-migrator:
- image: nexus3.onap.org:10001/onap/policy-db-migrator:${POLICY_DOCKER_VERSION}
- container_name: policy-db-migrator
- hostname: policy-db-migrator
- depends_on:
- - mariadb
- expose:
- - 6824
- env_file: config/db/db.conf
- environment:
- SQL_DB: policyadmin
- SQL_HOST: mariadb
- volumes:
- - ./db_migrator_policy_init.sh:/opt/app/policy/bin/db_migrator_policy_init.sh:ro
- - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
- entrypoint: /opt/app/policy/bin/wait_for_port.sh
- command: [
- '-c',
- '/opt/app/policy/bin/db_migrator_policy_init.sh',
- 'mariadb', '3306'
- ]
- simulator:
- image: nexus3.onap.org:10001/onap/policy-models-simulator:${POLICY_MODELS_VERSION}
- container_name: simulator
- hostname: simulator
- networks:
- default:
- aliases:
- - message-router
- - aai-sim
- - grpc-sim
- - sdnc-sim
- - so-sim
- - vfc-sim
- volumes:
- - ./config/sim-all:/opt/app/policy/simulators/etc/mounted:ro
- expose:
- - 6666
- - 6668
- - 6669
- - 6670
- - 3904
- - 6680
- ports:
- - 30227:3904
- api:
- image: nexus3.onap.org:10001/onap/policy-api:${POLICY_API_VERSION}
- container_name: policy-api
- depends_on:
- - policy-db-migrator
- hostname: policy-api
- ports:
- - 30440:6969
- volumes:
- - ./config/api/apiParameters.yaml:/opt/app/policy/api/etc/apiParameters.yaml:ro
- - ./wait_for_port.sh:/opt/app/policy/api/bin/wait_for_port.sh:ro
- entrypoint: ./wait_for_port.sh
- command: [
- '-c', './policy-api.sh',
- 'mariadb', '3306',
- 'policy-db-migrator', '6824'
- ]
- pap:
- image: nexus3.onap.org:10001/onap/policy-pap:${POLICY_PAP_VERSION}
- container_name: policy-pap
- depends_on:
- - mariadb
- - simulator
- - api
- hostname: policy-pap
- ports:
- - 30442:6969
- volumes:
- - ./config/pap/papParameters.yaml:/opt/app/policy/pap/etc/papParameters.yaml:ro
- - ./config/pap/groups.json:/opt/app/policy/pap/etc/mounted/groups.json:ro
- - ./wait_for_port.sh:/opt/app/policy/pap/bin/wait_for_port.sh:ro
- entrypoint: ./wait_for_port.sh
- command: [
- '-c', './policy-pap.sh',
- 'mariadb', '3306',
- 'message-router', '3904',
- 'api', '6969'
- ]
- xacml-pdp:
- image: nexus3.onap.org:10001/onap/policy-xacml-pdp:${POLICY_XACML_PDP_VERSION}
- container_name: policy-xacml-pdp
- depends_on:
- - mariadb
- - simulator
- - pap
- hostname: policy-xacml-pdp
- ports:
- - 30441:6969
- - 30999:3904
- volumes:
- - ./config/xacml-pdp/defaultConfig.json:/opt/app/policy/pdpx/etc/defaultConfig.json:ro
- - ./wait_for_port.sh:/opt/app/policy/pdpx/bin/wait_for_port.sh:ro
- entrypoint: ./wait_for_port.sh
- command: [
- '-c', './policy-pdpx.sh',
- 'mariadb', '3306',
- 'message-router', '3904',
- 'pap', '6969'
- ]
- drools:
- image: nexus3.onap.org:10001/onap/policy-drools:${POLICY_DROOLS_PDP_VERSION}
- container_name: drools
- depends_on:
- - mariadb
- - simulator
- - pap
- hostname: drools
- ports:
- - 30217:6969
- - 30216:9696
- volumes:
- - ./config/drools-pdp/custom:/tmp/policy-install/config:ro
- - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
- env_file:
- - config/drools-pdp/env/base.conf
- entrypoint: /opt/app/policy/bin/wait_for_port.sh
- command: [
- '-c', '/opt/app/policy/bin/pdpd-entrypoint.sh boot',
- 'mariadb', '3306',
- 'message-router', '3904'
- ]
- drools-apps:
- image: nexus3.onap.org:10001/onap/policy-pdpd-cl:${POLICY_DROOLS_APPS_VERSION}
- container_name: drools-apps
- depends_on:
- - mariadb
- - simulator
- - pap
- - xacml-pdp
- hostname: drools-apps
- ports:
- - 30221:6969
- - 30219:9696
- volumes:
- - ./config/drools-applications/custom:/tmp/policy-install/config:ro
- - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
- env_file:
- - config/drools-applications/env/base.conf
- - config/drools-applications/env/feature-healthcheck.conf
- - config/drools-applications/env/feature-pooling-dmaap.conf
- entrypoint: /opt/app/policy/bin/wait_for_port.sh
- command: [
- '-c', '/opt/app/policy/bin/pdpd-cl-entrypoint.sh boot',
- 'mariadb', '3306',
- 'message-router', '3904',
- 'pap', '6969',
- 'aai-sim', '6666',
- 'sdnc-sim', '6668',
- 'so-sim', '6669',
- 'vfc-sim', '6670'
- ]
- apex-pdp:
- image: nexus3.onap.org:10001/onap/policy-apex-pdp:${POLICY_APEX_PDP_VERSION}
- container_name: policy-apex-pdp
- depends_on:
- - mariadb
- - simulator
- - pap
- hostname: policy-apex-pdp
- ports:
- - 30237:6969
- expose:
- - 23324
- volumes:
- - ./config/apex-pdp/OnapPfConfig.json:/opt/app/policy/apex-pdp/etc/onappf/config/OnapPfConfig.json:ro
- - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
- entrypoint: /opt/app/policy/bin/wait_for_port.sh
- command: [
- '-c', '/opt/app/policy/apex-pdp/bin/apexOnapPf.sh -c /opt/app/policy/apex-pdp/etc/onappf/config/OnapPfConfig.json',
- 'mariadb', '3306',
- 'message-router', '3904',
- 'pap', '6969'
- ]
- distribution:
- image: nexus3.onap.org:10001/onap/policy-distribution:${POLICY_DISTRIBUTION_VERSION}
- container_name: policy-distribution
- depends_on:
- - mariadb
- - api
- - pap
- - apex-pdp
- hostname: policy-distribution
- ports:
- - 30238:6969
- volumes:
- - ./config/distribution/defaultConfig.json:/opt/app/policy/distribution/etc/defaultConfig.json:ro
- - ./distribution/config/temp/:/opt/app/policy/distribution/etc/temp/:ro
- - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
- entrypoint: /opt/app/policy/bin/wait_for_port.sh
- command: [
- '-c', './policy-dist.sh',
- 'mariadb', '3306',
- 'message-router', '3904',
- 'pap', '6969',
- 'apex-pdp', '6969'
- ]
- policy-clamp-runtime-acm:
- image: nexus3.onap.org:10001/onap/policy-clamp-runtime-acm:${POLICY_CLAMP_VERSION}
- container_name: policy-clamp-runtime-acm
- depends_on:
- - mariadb
- - simulator
- hostname: policy-clamp-runtime-acm
- ports:
- - 30258:6969
- volumes:
- - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
- - ./config/clamp/AcRuntimeParameters.yaml:/opt/app/policy/clamp/etc/AcRuntimeParameters.yaml:ro
- entrypoint: /opt/app/policy/bin/wait_for_port.sh
- command: [
- '-c', './acm-runtime.sh',
- 'message-router', '3904'
- ]
- prometheus:
- image: prom/prometheus:v2.32.1
- container_name: prometheus
- hostname: prometheus
- ports:
- - 30259:9090
- volumes:
- - ./metrics/prometheus.yml:/etc/prometheus/prometheus.yml
- grafana:
- image: grafana/grafana-oss:8.3.4
- container_name: grafana
- depends_on:
- - prometheus
- hostname: grafana
- ports:
- - 30269:3000
- volumes:
- - ./metrics/dashboard.yaml:/etc/grafana/provisioning/dashboards/dashboard.yaml
- - ./metrics/datasource.yaml:/etc/grafana/provisioning/datasources/datasource.yaml
- - ./metrics/dashboards:/var/lib/grafana/dashboards
- node-exporter:
- image: prom/node-exporter:latest
- container_name: node-exporter
- restart: unless-stopped
- volumes:
- - /proc:/host/proc:ro
- - /sys:/host/sys:ro
- - /:/rootfs:ro
- command:
- - '--path.procfs=/host/proc'
- - '--path.rootfs=/rootfs'
- - '--path.sysfs=/host/sys'
- - '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)'
- expose:
- - 9100
diff --git a/csit/docker-compose-all.yml b/csit/docker-compose-all.yml
index e64ac8a9..38a5de51 100644
--- a/csit/docker-compose-all.yml
+++ b/csit/docker-compose-all.yml
@@ -2,7 +2,7 @@
# ===========LICENSE_START====================================================
# Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved.
# Modifications Copyright (C) 2021 Bell Canada. All rights reserved.
-# Modification Copyright 2021-2022 Nordix Foundation.
+# Modification Copyright 2021-2023 Nordix Foundation.
# ============================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -365,3 +365,39 @@ services:
-jar ./policy-clamp-backend.jar
--spring.config.name=ClampBackend
--spring.config.location=/opt/policy/clamp/config/ClampBackend.properties
+ prometheus:
+ image: prom/prometheus:v2.32.1
+ container_name: prometheus
+ hostname: prometheus
+ ports:
+ - 30259:9090
+ volumes:
+ - ./metrics/prometheus.yml:/etc/prometheus/prometheus.yml
+ grafana:
+ image: grafana/grafana-oss:8.3.4
+ container_name: grafana
+ depends_on:
+ - prometheus
+ hostname: grafana
+ ports:
+ - 30269:3000
+ volumes:
+ - ./metrics/dashboard.yaml:/etc/grafana/provisioning/dashboards/dashboard.yaml
+ - ./metrics/datasource.yaml:/etc/grafana/provisioning/datasources/datasource.yaml
+ - ./metrics/dashboards:/var/lib/grafana/dashboards
+ node-exporter:
+ image: prom/node-exporter:latest
+ container_name: node-exporter
+ restart: unless-stopped
+ volumes:
+ - /proc:/host/proc:ro
+ - /sys:/host/sys:ro
+ - /:/rootfs:ro
+ command:
+ - '--path.procfs=/host/proc'
+ - '--path.rootfs=/rootfs'
+ - '--path.sysfs=/host/sys'
+ - '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)'
+ expose:
+ - 9100
+
diff --git a/csit/include-raw-integration-install-robotframework.sh b/csit/include-raw-integration-install-robotframework.sh
deleted file mode 100755
index 2711d18e..00000000
--- a/csit/include-raw-integration-install-robotframework.sh
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/bash
-#
-# ============LICENSE_START===================================================
-# Copyright (c) 2016 The Linux Foundation and others.
-# Modification Copyright 2021. Nordix Foundation.
-# Modification Copyright 2021 AT&T Intellectual Property. 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.
-# ============LICENSE_END=====================================================
-#
-
-ROBOT_VENV=$(mktemp -d)
-echo "ROBOT_VENV=${ROBOT_VENV}" >> "${WORKSPACE}/env.properties"
-
-echo "Python version is: $(python3 --version)"
-
-python3 -m venv "${ROBOT_VENV}"
-source "${ROBOT_VENV}/bin/activate"
-
-set -exu
-
-# Make sure pip3 itself us up-to-date.
-python3 -m pip install --upgrade pip
-
-echo "Installing Python Requirements"
-python3 -m pip install -r ${SCRIPTS}/pylibs.txt
-python3 -m pip freeze
diff --git a/csit/metrics/prometheus.yml b/csit/metrics/prometheus.yml
index a5e1680a..789cfc2a 100644
--- a/csit/metrics/prometheus.yml
+++ b/csit/metrics/prometheus.yml
@@ -1,6 +1,6 @@
#
# ===========LICENSE_START====================================================
-# Copyright (C) 2022 Nordix Foundation.
+# Copyright (C) 2022-2023 Nordix Foundation.
# ============================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -32,6 +32,7 @@ alerting:
scrape_configs:
- job_name: "api-metrics"
+ metrics_path: /policy/api/v1/metrics
static_configs:
- targets: ["policy-api:6969"]
basic_auth:
@@ -39,6 +40,7 @@ scrape_configs:
password: "zb!XztG34"
- job_name: "pap-metrics"
+ metrics_path: /policy/pap/v1/metrics
static_configs:
- targets: ["policy-pap:6969"]
basic_auth:
diff --git a/csit/pap/plans/setup.sh b/csit/pap/plans/setup.sh
index c5b75937..4f48d124 100755
--- a/csit/pap/plans/setup.sh
+++ b/csit/pap/plans/setup.sh
@@ -2,7 +2,7 @@
# ============LICENSE_START=======================================================
# Copyright (C) 2019-2022 Nordix Foundation.
# Modifications Copyright (C) 2019-2021 AT&T Intellectual Property.
-# Modifications Copyright (C) 2022 Nordix Foundation.
+# Modifications Copyright (C) 2022-2023 Nordix Foundation.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -32,7 +32,7 @@ bash "${SCRIPTS}"/get-models-examples.sh
echo "${POLICY_PAP_VERSION}"
cd "${SCRIPTS}"
-docker-compose -f "${SCRIPTS}"/docker-compose-all.yml up -d pap apex-pdp
+docker-compose -f "${SCRIPTS}"/docker-compose-all.yml up -d pap apex-pdp grafana
sleep 10
unset http_proxy https_proxy
diff --git a/csit/prepare-csit.sh b/csit/prepare-robot-env.sh
index b51e0a13..25376cda 100755
--- a/csit/prepare-csit.sh
+++ b/csit/prepare-robot-env.sh
@@ -2,7 +2,7 @@
#
# Copyright 2019 © Samsung Electronics Co., Ltd.
# Modification Copyright 2021 © AT&T Intellectual Property.
-# Modification Copyright 2021-2022 Nordix Foundation.
+# Modification Copyright 2021-2023 Nordix Foundation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -23,18 +23,20 @@ if [ -z "$WORKSPACE" ]; then
export WORKSPACE=$(git rev-parse --show-toplevel)
fi
-# Assume that if ROBOT_VENV is set and virtualenv with system site packages can be activated,
-# include-raw-integration-install-robotframework.sh has already been executed
+ROBOT_VENV=$(mktemp -d)
+echo "ROBOT_VENV=${ROBOT_VENV}" >> "${WORKSPACE}/env.properties"
-if [ -f "${WORKSPACE}"/env.properties ]; then
- source "${WORKSPACE}"/env.properties
-fi
-if [ -f "${ROBOT_VENV}"/bin/activate ]; then
- source "${ROBOT_VENV}"/bin/activate
-else
- source ${SCRIPTS}/include-raw-integration-install-robotframework.sh
-fi
+echo "Python version is: $(python3 --version)"
+
+python3 -m venv --clear "${ROBOT_VENV}"
+source "${ROBOT_VENV}/bin/activate"
+set -exu
+
+python3 -m pip install --upgrade pip setuptools
+echo "Installing Python Requirements"
+python3 -m pip install -r ${SCRIPTS}/pylibs.txt
+python3 -m pip freeze
# install eteutils
mkdir -p "${ROBOT_VENV}"/src/onap
diff --git a/csit/run-k8s-csit.sh b/csit/run-k8s-csit.sh
index 63df5dc2..33cf2f8a 100755
--- a/csit/run-k8s-csit.sh
+++ b/csit/run-k8s-csit.sh
@@ -19,6 +19,24 @@
# ============LICENSE_END======================================================
# This script spins up kubernetes cluster in Microk8s for deploying policy helm charts.
+# Runs CSITs in kubernetes.
+
+CSIT_SCRIPT="run-test.sh"
+ROBOT_DOCKER_IMAGE="policy-csit-robot"
+POLICY_CLAMP_ROBOT="policy-clamp-test.robot"
+POLICY_API_ROBOT="api-test.robot"
+POLICY_PAP_ROBOT="pap-test.robot"
+POLICY_APEX_PDP_ROBOT="apex-pdp-test.robot"
+POLICY_XACML_PDP_ROBOT="xacml-pdp-test.robot"
+POLICY_DROOLS_PDP_ROBOT="drools-pdp-test.robot"
+POLICY_API_CONTAINER="policy-api"
+POLICY_PAP_CONTAINER="policy-pap"
+POLICY_CLAMP_CONTAINER="policy-clamp-runtime-acm"
+POLICY_APEX_CONTAINER="policy-apex-pdp"
+
+export PROJECT=""
+export ROBOT_FILE=""
+export READINESS_CONTAINERS=()
function spin_microk8s_cluster () {
echo "Verify if Microk8s cluster is running.."
@@ -35,37 +53,133 @@ function spin_microk8s_cluster () {
fi
echo "Microk8s cluster installed successfully"
sudo usermod -a -G microk8s $USER
- echo "Enabling DNS and helm3"
+ echo "Enabling DNS and helm3 plugins"
microk8s.enable dns helm3
echo "Creating configuration file for Microk8s"
microk8s kubectl config view --raw > $HOME/.kube/config
chmod 600 $HOME/.kube/config
echo "K8s installation completed"
+ echo "----------------------------------------"
else
echo "K8s cluster is already running"
+ echo "----------------------------------------"
return 0
fi
}
+
function teardown_cluster () {
echo "Removing k8s cluster and k8s configuration file"
sudo snap remove microk8s;rm -rf $HOME/.kube/config
+ sudo rm -rf /dockerdata-nfs/mariadb-galera/
echo "K8s Cluster removed"
}
+function build_robot_image () {
+ echo "Build docker image for robot framework"
+ cd ../helm;
+ clone_models
+ echo "Build robot framework docker image"
+ docker login -u docker -p docker nexus3.onap.org:10001
+ docker build . --file Dockerfile --build-arg CSIT_SCRIPT="$CSIT_SCRIPT" --build-arg ROBOT_FILE="$ROBOT_FILE" --tag "${ROBOT_DOCKER_IMAGE}" --no-cache
+ echo "---------------------------------------------"
+ echo "Importing robot image in to microk8s registry"
+ docker save -o policy-csit-robot.tar ${ROBOT_DOCKER_IMAGE}:latest
+ microk8s ctr image import policy-csit-robot.tar
+ if [ "${?}" -eq 0 ]; then
+ rm -rf policy-csit-robot.tar
+ rm -rf tests/models/
+ echo "---------------------------------------------"
+ echo "Installing Robot framework pod for running CSIT"
+ microk8s helm install csit-robot robot --set robot=$ROBOT_FILE --set "readiness={${READINESS_CONTAINERS[*]}}";
+ echo "Please check the logs of policy-csit-robot pod for the test execution results"
+ fi
+}
+
+function clone_models () {
+ GIT_TOP=$(git rev-parse --show-toplevel)
+ GERRIT_BRANCH=$(awk -F= '$1 == "defaultbranch" { print $2 }' \
+ "${GIT_TOP}"/.gitreview)
+ echo GERRIT_BRANCH="${GERRIT_BRANCH}"
+ # download models examples
+ git clone -b "${GERRIT_BRANCH}" --single-branch https://github.com/onap/policy-models.git tests/models
+
+ # create a couple of variations of the policy definitions
+ sed -e 's!Measurement_vGMUX!ADifferentValue!' \
+ tests/models/models-examples/src/main/resources/policies/vCPE.policy.monitoring.input.tosca.json \
+ >tests/models/models-examples/src/main/resources/policies/vCPE.policy.monitoring.input.tosca.v1_2.json
+
+ sed -e 's!"version": "1.0.0"!"version": "2.0.0"!' \
+ -e 's!"policy-version": 1!"policy-version": 2!' \
+ tests/models/models-examples/src/main/resources/policies/vCPE.policy.monitoring.input.tosca.json \
+ >tests/models/models-examples/src/main/resources/policies/vCPE.policy.monitoring.input.tosca.v2.json
+}
+
+
+function get_robot_file () {
+ case $PROJECT in
+
+ clamp | policy-clamp)
+ export ROBOT_FILE=$POLICY_CLAMP_ROBOT
+ export READINESS_CONTAINERS=($POLICY_CLAMP_CONTAINER)
+ ;;
+
+ api | policy-api)
+ export ROBOT_FILE=$POLICY_API_ROBOT
+ export READINESS_CONTAINERS=($POLICY_API_CONTAINER)
+ ;;
+
+ pap | policy-pap)
+ export ROBOT_FILE=$POLICY_PAP_ROBOT
+ export READINESS_CONTAINERS=($POLICY_PAP_CONTAINER,$POLICY_API_CONTAINER)
+ ;;
+
+ apex-pdp | policy-apex-pdp)
+ export ROBOT_FILE=$POLICY_APEX_PDP_ROBOT
+ export READINESS_CONTAINERS=($POLICY_APEX_CONTAINER,$POLICY_API_CONTAINER,$POLICY_PAP_CONTAINER)
+ ;;
+
+ xacml-pdp | policy-xacml-pdp)
+ export ROBOT_FILE=($POLICY_XACML_PDP_ROBOT)
+ ;;
+
+ drools-pdp | policy-drools-pdp)
+ export ROBOT_FILE=($POLICY_DROOLS_PDP_ROBOT)
+ ;;
+
+ *)
+ echo "unknown project supplied"
+ ;;
+esac
+
+}
+
+
if [ $1 == "install" ]; then
spin_microk8s_cluster
if [ "${?}" -eq 0 ]; then
echo "Installing policy helm charts in the default namespace"
- cd ../helm/;helm dependency build policy;microk8s helm install dev-policy policy;
+ cd ../helm/;microk8s helm dependency build policy;microk8s helm install csit-policy policy;
echo "Policy chart installation completed"
+ echo "-------------------------------------------"
+ fi
+
+ if [ "$2" ]; then
+ export PROJECT=$2
+ get_robot_file
+ echo "CSIT will be invoked from $ROBOT_FILE"
+ echo "Readiness containers: ${READINESS_CONTAINERS[*]}"
+ echo "-------------------------------------------"
+ build_robot_image
+ else
+ echo "No project supplied for running CSIT"
fi
elif [ $1 == "uninstall" ]; then
teardown_cluster
else
- echo "Invalid arguments provided. Usage: $0 [option..] {install | uninstall}"
+ echo "Invalid arguments provided. Usage: $0 [option..] {install {project} | uninstall}"
fi
diff --git a/csit/run-project-csit.sh b/csit/run-project-csit.sh
index 6a4a9bb3..a3837b03 100755
--- a/csit/run-project-csit.sh
+++ b/csit/run-project-csit.sh
@@ -3,7 +3,7 @@
# Copyright 2016-2017 Huawei Technologies Co., Ltd.
# Modification Copyright 2019 © Samsung Electronics Co., Ltd.
# Modification Copyright 2021 © AT&T Intellectual Property.
-# Modification Copyright 2021-2022 Nordix Foundation.
+# Modification Copyright 2021-2023 Nordix Foundation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -178,9 +178,9 @@ rm -rf "${WORKSPACE}/csit/archives/${PROJECT}"
mkdir -p "${WORKSPACE}/csit/archives/${PROJECT}"
# Run installation of prerequired libraries
-source_safely "${SCRIPTS}/prepare-csit.sh"
+source_safely "${SCRIPTS}/prepare-robot-env.sh"
-# Activate the virtualenv containing all the required libraries installed by prepare-csit.sh
+# Activate the virtualenv containing all the required libraries installed by prepare-robot-env.sh
source_safely "${ROBOT_VENV}/bin/activate"
WORKDIR=$(mktemp -d)
diff --git a/csit/start-grafana.sh b/csit/start-grafana.sh
index e081d04c..646b6f6d 100755
--- a/csit/start-grafana.sh
+++ b/csit/start-grafana.sh
@@ -1,7 +1,7 @@
#!/bin/bash
#
# ============LICENSE_START====================================================
-# Copyright (C) 2022 Nordix Foundation.
+# Copyright (C) 2022-2023 Nordix Foundation.
# =============================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -20,6 +20,7 @@
SCRIPTS=$(git rev-parse --show-toplevel)
export SCRIPTS="${SCRIPTS}"/csit
+export CONTAINER_LOCATION="nexus3.onap.org:10001/"
source "${SCRIPTS}"/get-versions.sh
@@ -27,14 +28,11 @@ export PROJECT="${1}"
if [ -z "${PROJECT}" ]; then
echo "Starting all components..."
- docker-compose -f "${SCRIPTS}"/compose-grafana.yml up -d
+ docker-compose -f "${SCRIPTS}"/docker-compose-all.yml up -d
else
echo "Starting ${PROJECT} application..."
- docker-compose -f "${SCRIPTS}"/compose-grafana.yml up -d "${PROJECT}" grafana
+ docker-compose -f "${SCRIPTS}"/docker-compose-all.yml up -d "${PROJECT}" grafana
fi
-prometheus=$(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' prometheus)
-grafana=$(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' grafana)
-
-echo "Prometheus server: http://${prometheus}:9090"
-echo "Grafana server: http://${grafana}:3000"
+echo "Prometheus server: http://localhost:30259"
+echo "Grafana server: http://localhost:30269"
diff --git a/csit/stop-grafana.sh b/csit/stop-grafana.sh
deleted file mode 100755
index 901a0341..00000000
--- a/csit/stop-grafana.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/bash
-#
-# ============LICENSE_START====================================================
-# Copyright (C) 2022 Nordix Foundation.
-# =============================================================================
-# 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======================================================
-
-SCRIPTS=$(git rev-parse --show-toplevel)
-export SCRIPTS="${SCRIPTS}"/csit
-
-source "${SCRIPTS}"/get-versions.sh
-
-docker-compose -f "${SCRIPTS}"/compose-grafana.yml down