summaryrefslogtreecommitdiffstats
path: root/compose/start-multiple-pdp.sh
diff options
context:
space:
mode:
Diffstat (limited to 'compose/start-multiple-pdp.sh')
-rwxr-xr-xcompose/start-multiple-pdp.sh62
1 files changed, 54 insertions, 8 deletions
diff --git a/compose/start-multiple-pdp.sh b/compose/start-multiple-pdp.sh
index b97760e7..b0641b41 100755
--- a/compose/start-multiple-pdp.sh
+++ b/compose/start-multiple-pdp.sh
@@ -1,7 +1,7 @@
#!/bin/bash
#
# ============LICENSE_START====================================================
-# Copyright (C) 2023 Nordix Foundation.
+# Copyright (C) 2023-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.
@@ -18,23 +18,69 @@
# SPDX-License-Identifier: Apache-2.0
# ============LICENSE_END======================================================
+# Usage: --start to run the docker compose with apex-pdp replicas
+# --stop to stop the docker compose containers
+# --replicas number of replicas (defaults to 2)
+
+# Initialize variables
+START=false
+REPLICAS=2
+
+# Parse arguments
+while [[ "$#" -gt 0 ]]; do
+ case $1 in
+ --start)
+ START=true
+ shift
+ ;;
+ --stop)
+ START=false
+ shift
+ ;;
+ --replicas=*)
+ REPLICAS="${1#*=}"
+ shift
+ ;;
+ *)
+ echo "Unknown option: $1"
+ exit 1
+ ;;
+ esac
+done
+
if [ -z "${WORKSPACE}" ]; then
WORKSPACE=$(git rev-parse --show-toplevel)
export WORKSPACE
fi
-COMPOSE_FOLDER="${WORKSPACE}"/compose
-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.pdp.scale.yml up -d apexpdp nginx grafana
+export REPLICAS
+
+export database=postgres
+
+if [ "$START" = true ]; then
+ echo "Configuring docker compose for apex-pdp scaled with ${REPLICAS} replicas..."
+ docker compose -f compose.pdp.scale.yml up -d apexpdp nginx grafana postgres
+else
+ echo "Collecting logs..."
+ containers=$(docker compose -f compose.pdp.scale.yml ps --all --format '{{.Service}}')
+
+ IFS=$'\n' read -d '' -r -a item_list <<< "$containers"
+ for item in "${item_list[@]}"
+ do
+ if [ -n "$item" ]; then
+ docker compose -f compose.pdp.scale.yml logs $item >> $item.log
+ fi
+ done
+
+ echo "Stopping compose containers..."
+ docker compose -f compose.pdp.scale.yml down -v --remove-orphans
+fi
cd ${WORKSPACE}