summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrameshiyer27 <ramesh.murugan.iyer@est.tech>2024-07-02 09:16:56 +0000
committerRamesh Murugan Iyer <ramesh.murugan.iyer@est.tech>2024-07-04 22:00:18 +0000
commitf851a5eda60629690cc078d4d659e2c296d4d69f (patch)
treead03e68142d11f278b8828134aeafac09b916442
parent36127476ae049d82b843ef34577a330a34c82c61 (diff)
Add docker compose for clamp replica
New docker-compose for installing clamp in replica CSIT can be triggerred against replica with "clamp-replica" keyword Issue-ID: POLICY-4913 Signed-off-by: zrrmmua <ramesh.murugan.iyer@est.tech> Change-Id: I2b0344c02152387d66fe0c3069a997120bdf0f9d
-rw-r--r--compose/config/nginx/nginx-acm.conf17
-rw-r--r--compose/docker-compose.acm.scale.yml147
-rw-r--r--compose/docker-compose.pdp.scale.yml23
-rwxr-xr-xcompose/start-acm-replica.sh40
-rwxr-xr-xcompose/start-multiple-pdp.sh8
-rwxr-xr-xcsit/run-project-csit.sh16
6 files changed, 225 insertions, 26 deletions
diff --git a/compose/config/nginx/nginx-acm.conf b/compose/config/nginx/nginx-acm.conf
new file mode 100644
index 00000000..59d12109
--- /dev/null
+++ b/compose/config/nginx/nginx-acm.conf
@@ -0,0 +1,17 @@
+user nginx;
+
+events {
+ worker_connections 1000;
+}
+
+http {
+ upstream runtime {
+ server policy-clamp-runtime-acm-replica:6969;
+ }
+ server {
+ listen 30007;
+ location / {
+ proxy_pass http://runtime;
+ }
+ }
+}
diff --git a/compose/docker-compose.acm.scale.yml b/compose/docker-compose.acm.scale.yml
new file mode 100644
index 00000000..676ffa2d
--- /dev/null
+++ b/compose/docker-compose.acm.scale.yml
@@ -0,0 +1,147 @@
+#
+# ===========LICENSE_START====================================================
+# Copyright (C) 2024 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=====================================================
+#
+
+services:
+ policy-clamp-runtime-acm-replica:
+ image: ${CONTAINER_LOCATION}onap/policy-clamp-runtime-acm:${POLICY_CLAMP_VERSION}
+ hostname: policy-clamp-runtime-acm
+ depends_on:
+ - policy-db-migrator-clamp
+ - kafka
+ - jaeger
+ - policy-clamp-ac-http-ppnt-replica
+ - policy-clamp-ac-k8s-ppnt-replica
+ - policy-clamp-ac-pf-ppnt-replica
+ - policy-clamp-ac-sim-ppnt
+ - apex-pdp
+ expose:
+ - 6969
+ deploy:
+ mode: replicated
+ replicas: ${REPLICAS}
+ environment:
+ OTEL_SERVICE_NAME: acm-r
+ OTEL_EXPORTER_OTLP_PROTOCOL: http/protobuf
+ OTEL_EXPORTER_OTLP_TRACES_PROTOCOL: http/protobuf
+ OTEL_EXPORTER_OTLP_ENDPOINT: http://jaeger:4318
+ # Tracing can be configured for grpc or http - default is http
+ #OTEL_EXPORTER_OTLP_PROTOCOL: grpc
+ #OTEL_EXPORTER_OTLP_TRACES_PROTOCOL: grpc
+ #OTEL_EXPORTER_OTLP_ENDPOINT: http://jaeger:4317
+ volumes:
+ - ./config/clamp/AcRuntimeParameters.yaml:/opt/app/policy/clamp/etc/AcRuntimeParameters.yaml
+ - ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml:ro
+ - ./config/clamp/acm-runtime.sh:/opt/app/policy/clamp/bin/acm-runtime.sh:rw
+ - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
+ entrypoint: /opt/app/policy/bin/wait_for_port.sh
+ command: [
+ '-c', './acm-runtime.sh',
+ 'mariadb', '3306',
+ 'kafka', '9092',
+ 'policy-clamp-ac-http-ppnt', '6969',
+ 'policy-clamp-ac-k8s-ppnt', '6969',
+ 'policy-clamp-ac-pf-ppnt', '6969',
+ 'policy-clamp-ac-sim-ppnt', '6969'
+ ]
+ policy-clamp-ac-http-ppnt-replica:
+ image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-http-ppnt:${POLICY_CLAMP_PPNT_VERSION}
+ hostname: policy-clamp-ac-http-ppnt
+ depends_on:
+ - kafka
+ - jaeger
+ expose:
+ - 6969
+ deploy:
+ mode: replicated
+ replicas: ${REPLICAS}
+ environment:
+ OTEL_SERVICE_NAME: http-ppnt
+ OTEL_EXPORTER_OTLP_PROTOCOL: http/protobuf
+ OTEL_EXPORTER_OTLP_TRACES_PROTOCOL: http/protobuf
+ OTEL_EXPORTER_OTLP_ENDPOINT: http://jaeger:4318
+ volumes:
+ - ./config/clamp/HttpParticipantParameters.yaml:/opt/app/policy/clamp/etc/HttpParticipantParameters.yaml
+ - ./config/clamp/http-participant.sh:/opt/app/policy/clamp/bin/http-participant.sh:rw
+ - ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml: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', './http-participant.sh',
+ 'kafka', '9092'
+ ]
+ policy-clamp-ac-k8s-ppnt-replica:
+ image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-k8s-ppnt:${POLICY_CLAMP_PPNT_VERSION}
+ hostname: policy-clamp-ac-k8s-ppnt
+ depends_on:
+ - kafka
+ - jaeger
+ environment:
+ OTEL_SERVICE_NAME: k8s-ppnt
+ OTEL_EXPORTER_OTLP_PROTOCOL: http/protobuf
+ OTEL_EXPORTER_OTLP_TRACES_PROTOCOL: http/protobuf
+ OTEL_EXPORTER_OTLP_ENDPOINT: http://jaeger:4318
+ expose:
+ - 6969
+ deploy:
+ mode: replicated
+ replicas: ${REPLICAS}
+ volumes:
+ - ./config/clamp/KubernetesParticipantParameters.yaml:/opt/app/policy/clamp/etc/KubernetesParticipantParameters.yaml
+ - ./config/clamp/kubernetes-participant.sh:/opt/app/policy/clamp/bin/kubernetes-participant.sh:rw
+ - ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml: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', './kubernetes-participant.sh',
+ 'kafka', '9092'
+ ]
+ policy-clamp-ac-pf-ppnt-replica:
+ image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-pf-ppnt:${POLICY_CLAMP_PPNT_VERSION}
+ hostname: policy-clamp-ac-pf-ppnt
+ depends_on:
+ - kafka
+ - jaeger
+ expose:
+ - 6969
+ deploy:
+ mode: replicated
+ replicas: ${REPLICAS}
+ environment:
+ OTEL_SERVICE_NAME: policy-ppnt
+ OTEL_EXPORTER_OTLP_PROTOCOL: http/protobuf
+ OTEL_EXPORTER_OTLP_TRACES_PROTOCOL: http/protobuf
+ OTEL_EXPORTER_OTLP_ENDPOINT: http://jaeger:4318
+ volumes:
+ - ./config/clamp/PolicyParticipantParameters.yaml:/opt/app/policy/clamp/etc/PolicyParticipantParameters.yaml:ro
+ - ./config/clamp/policy-participant.sh:/opt/app/policy/clamp/bin/policy-participant.sh:rw
+ - ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml: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-participant.sh',
+ 'kafka', '9092'
+ ]
+ nginx:
+ image: ${CONTAINER_LOCATION}library/nginx:latest
+ volumes:
+ - ./config/nginx/nginx-acm.conf:/etc/nginx/nginx.conf:ro
+ depends_on:
+ - policy-clamp-runtime-acm-replica
+ ports:
+ - ${ACM_PORT}:${ACM_PORT}
+
diff --git a/compose/docker-compose.pdp.scale.yml b/compose/docker-compose.pdp.scale.yml
index a10264a5..242cb3d8 100644
--- a/compose/docker-compose.pdp.scale.yml
+++ b/compose/docker-compose.pdp.scale.yml
@@ -50,25 +50,4 @@ services:
- apexpdp
ports:
- ${APEX_PORT}:${APEX_PORT}
- zookeeper:
- image: confluentinc/cp-zookeeper:latest
- environment:
- ZOOKEEPER_CLIENT_PORT: 2181
- ZOOKEEPER_TICK_TIME: 2000
- ports:
- - 2181:2181
- kafka:
- image: confluentinc/cp-kafka:latest
- container_name: kafka
- depends_on:
- - zookeeper
- ports:
- - 29092:29092
- - 9092:9092
- environment:
- KAFKA_BROKER_ID: 1
- KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
- KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,PLAINTEXT_HOST://localhost:29092
- KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
- KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
- KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
+
diff --git a/compose/start-acm-replica.sh b/compose/start-acm-replica.sh
new file mode 100755
index 00000000..373261e6
--- /dev/null
+++ b/compose/start-acm-replica.sh
@@ -0,0 +1,40 @@
+#!/bin/bash
+#
+# ============LICENSE_START====================================================
+# Copyright (C) 2024 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======================================================
+
+if [ -z "${WORKSPACE}" ]; then
+ WORKSPACE=$(git rev-parse --show-toplevel)
+ export WORKSPACE
+fi
+
+if [ -z "$ROBOT_LOG_DIR" ]; then
+ export ROBOT_LOG_DIR=/tmp/
+fi
+
+COMPOSE_FOLDER="${WORKSPACE}"/compose
+
+cd ${COMPOSE_FOLDER}
+
+echo "Configuring docker compose..."
+source export-ports.sh > /dev/null 2>&1
+source get-versions.sh > /dev/null 2>&1
+
+export REPLICAS=${1}
+docker compose -f docker-compose.yml -f docker-compose.acm.scale.yml up -d nginx
+cd ${WORKSPACE}
diff --git a/compose/start-multiple-pdp.sh b/compose/start-multiple-pdp.sh
index 30572875..b97760e7 100755
--- a/compose/start-multiple-pdp.sh
+++ b/compose/start-multiple-pdp.sh
@@ -24,6 +24,10 @@ if [ -z "${WORKSPACE}" ]; then
fi
COMPOSE_FOLDER="${WORKSPACE}"/compose
+if [ -z "$ROBOT_LOG_DIR" ]; then
+ export ROBOT_LOG_DIR=/tmp/
+fi
+
cd ${COMPOSE_FOLDER}
echo "Configuring docker compose..."
@@ -31,6 +35,6 @@ source export-ports.sh > /dev/null 2>&1
source get-versions.sh > /dev/null 2>&1
export REPLICAS=${1}
-docker-compose -f docker-compose.yml -f docker-compose.pdp.scale.yml up -d apexpdp nginx grafana
+docker compose -f docker-compose.yml -f docker-compose.pdp.scale.yml up -d apexpdp nginx grafana
-cd ${WORKSPACE} \ No newline at end of file
+cd ${WORKSPACE}
diff --git a/csit/run-project-csit.sh b/csit/run-project-csit.sh
index bd2a33eb..aa19b257 100755
--- a/csit/run-project-csit.sh
+++ b/csit/run-project-csit.sh
@@ -47,6 +47,14 @@ function setup_clamp() {
bash "${SCRIPTS}"/wait_for_rest.sh localhost "${ACM_PORT}"
}
+function setup_clamp_replica() {
+ export ROBOT_FILES="policy-clamp-test.robot"
+ export TEST_ENV="docker"
+ source "${WORKSPACE}"/compose/start-acm-replica.sh 2
+ sleep 30
+ bash "${SCRIPTS}"/wait_for_rest.sh localhost "${ACM_PORT}"
+}
+
function setup_api() {
export ROBOT_FILES="api-test.robot api-slas.robot"
source "${WORKSPACE}"/compose/start-compose.sh api --grafana
@@ -172,6 +180,10 @@ function set_project_config() {
setup_clamp
;;
+ clamp-replica | policy-clamp-replica)
+ setup_clamp_replica
+ ;;
+
api | policy-api)
setup_api
;;
@@ -189,11 +201,11 @@ function set_project_config() {
;;
apex-pdp-medium | policy-apex-pdp-medium)
- setup_apex
+ setup_apex_medium
;;
apex-pdp-large | policy-apex-pdp-large)
- setup_apex
+ setup_apex_large
;;
xacml-pdp | policy-xacml-pdp)