diff options
Diffstat (limited to 'csit')
-rwxr-xr-x | csit/apex-pdp/plans/setup.sh | 2 | ||||
-rwxr-xr-x | csit/api/plans/setup.sh | 6 | ||||
-rwxr-xr-x | csit/clamp/plans/setup.sh | 4 | ||||
-rw-r--r-- | csit/common-library.robot | 5 | ||||
-rw-r--r-- | csit/compose-grafana.yml | 283 | ||||
-rw-r--r-- | csit/docker-compose-all.yml | 38 | ||||
-rwxr-xr-x | csit/include-raw-integration-install-robotframework.sh | 37 | ||||
-rw-r--r-- | csit/metrics/prometheus.yml | 4 | ||||
-rwxr-xr-x | csit/pap/plans/setup.sh | 4 | ||||
-rwxr-xr-x | csit/prepare-robot-env.sh (renamed from csit/prepare-csit.sh) | 24 | ||||
-rwxr-xr-x | csit/run-k8s-csit.sh | 120 | ||||
-rwxr-xr-x | csit/run-project-csit.sh | 6 | ||||
-rwxr-xr-x | csit/start-grafana.sh | 14 | ||||
-rwxr-xr-x | csit/stop-grafana.sh | 26 |
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 |