diff options
-rw-r--r-- | cps-dependencies/pom.xml | 2 | ||||
-rwxr-xr-x | csit/run-csit.sh | 5 | ||||
-rw-r--r-- | docker-compose/docker-compose.yml | 18 | ||||
-rw-r--r-- | docker-compose/nginx.conf | 52 | ||||
-rw-r--r-- | docker-compose/proxy_params | 4 | ||||
-rwxr-xr-x | k6-tests/setup.sh | 12 |
6 files changed, 85 insertions, 8 deletions
diff --git a/cps-dependencies/pom.xml b/cps-dependencies/pom.xml index 380c00a391..16b1697efc 100644 --- a/cps-dependencies/pom.xml +++ b/cps-dependencies/pom.xml @@ -146,7 +146,7 @@ <dependency> <groupId>com.hazelcast</groupId> <artifactId>hazelcast-spring</artifactId> - <version>5.3.1</version> + <version>5.3.7</version> </dependency> <dependency> <groupId>com.squareup.okhttp3</groupId> diff --git a/csit/run-csit.sh b/csit/run-csit.sh index 0981fc6edd..7f8f6b5270 100755 --- a/csit/run-csit.sh +++ b/csit/run-csit.sh @@ -2,6 +2,7 @@ # # Copyright 2016-2017 Huawei Technologies Co., Ltd. # Modification Copyright 2019-2021 © Samsung Electronics Co., Ltd. +# Modification 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. @@ -186,6 +187,10 @@ export TESTOPTIONS="${2}" rm -rf "$WORKSPACE/archives/$TESTPLAN" mkdir -p "$WORKSPACE/archives/$TESTPLAN" +rm -rf "$WORKSPACE/nginx-log" +mkdir -p "$WORKSPACE/nginx-log" +chmod -R 755 "$WORKSPACE/nginx-log" + TESTPLANDIR="${WORKSPACE}/${TESTPLAN}" # Run installation of prerequired libraries diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index 5620c4c17e..f75915ae04 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -43,11 +43,7 @@ services: memory: 3G cps-and-ncmp: - container_name: cps-and-ncmp image: ${DOCKER_REPO:-nexus3.onap.org:10003}/onap/cps-and-ncmp:${CPS_VERSION:-latest} - ports: - - ${CPS_CORE_PORT:-8883}:8080 - # - ${CPS_CORE_DEBUG_PORT:-5005}:5005 environment: CPS_USERNAME: ${CPS_CORE_USERNAME:-cpsuser} CPS_PASSWORD: ${CPS_CORE_PASSWORD:-cpsr0cks!} @@ -58,11 +54,11 @@ services: DMI_PASSWORD: ${DMI_PASSWORD:-cpsr0cks!} KAFKA_BOOTSTRAP_SERVER: kafka:29092 notification.enabled: 'true' - # JAVA_TOOL_OPTIONS: -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 restart: unless-stopped depends_on: - dbpostgresql deploy: + replicas: 2 resources: reservations: cpus: '2' @@ -71,6 +67,18 @@ services: cpus: '3' memory: 3G + nginx: + container_name: nginx-loadbalancer + image: nginx:latest + ports: + - ${CPS_CORE_PORT:-8883}:80 + depends_on: + - cps-and-ncmp + volumes: + - ./nginx.conf:/etc/nginx/nginx.conf + - ./proxy_params:/etc/nginx/proxy_params + - ../csit/nginx-log:/var/log/nginx + ### if kafka is not required comment out zookeeper and kafka ### zookeeper: image: confluentinc/cp-zookeeper:6.2.1 diff --git a/docker-compose/nginx.conf b/docker-compose/nginx.conf new file mode 100644 index 0000000000..17fad1b876 --- /dev/null +++ b/docker-compose/nginx.conf @@ -0,0 +1,52 @@ +# ============LICENSE_START=============================================== +# Copyright (C) 2024 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. +# ============LICENSE_END================================================= + +events { } + +http { + + # Add more server entries here for scaling or load balancing + upstream cps-and-ncmp { + server cps-and-ncmp:8080; + } + + server { + listen 80; + + # Root location proxying + location / { + proxy_pass http://cps-and-ncmp; + include /etc/nginx/proxy_params; # Include common proxy parameters + } + + location /swagger-ui/ { # Swagger UI location + proxy_pass http://cps-and-ncmp/swagger-ui/; + } + + location /v3/api-docs/ { # API docs location + proxy_pass http://cps-and-ncmp/v3/api-docs/; + } + + location /actuator/health { # Actuator health endpoint + proxy_pass http://cps-and-ncmp/actuator/health; + } + + location /actuator/health/readiness { # Actuator readiness endpoint + proxy_pass http://cps-and-ncmp/actuator/health/readiness; + } + + } +} diff --git a/docker-compose/proxy_params b/docker-compose/proxy_params new file mode 100644 index 0000000000..ab092a98f3 --- /dev/null +++ b/docker-compose/proxy_params @@ -0,0 +1,4 @@ +proxy_set_header Host $host; +proxy_set_header X-Real-IP $remote_addr; +proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; +proxy_set_header X-Forwarded-Proto $scheme;
\ No newline at end of file diff --git a/k6-tests/setup.sh b/k6-tests/setup.sh index 4805e2ea43..86f6d26acd 100755 --- a/k6-tests/setup.sh +++ b/k6-tests/setup.sh @@ -18,5 +18,13 @@ docker-compose -f ../docker-compose/docker-compose.yml --profile dmi-stub up -d echo "Waiting for CPS to start..." -READY_MESSAGE='Processing module sync fetched 0 advised cm handles from DB' -docker logs cps-and-ncmp -f | grep -m 1 "$READY_MESSAGE" >/dev/null || true +READY_MESSAGE="Processing module sync fetched 0 advised cm handles from DB" + +# Get the container IDs of the cps-and-ncmp replicas +CONTAINER_IDS=$(docker ps --filter "name=cps-and-ncmp" --format "{{.ID}}") + +# Check the logs for each container +for CONTAINER_ID in $CONTAINER_IDS; do + echo "Checking logs for container: $CONTAINER_ID" + docker logs "$CONTAINER_ID" -f | grep -m 1 "$READY_MESSAGE" >/dev/null || true +done |