docker-playground/ttcn3-hss-test-ogs/jenkins.sh

82 lines
2.5 KiB
Bash
Executable File

#!/bin/sh
. ../jenkins-common.sh
IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}"
docker_images_require \
"open5gs-$IMAGE_SUFFIX" \
"ttcn3-hss-test-ogs"
set_clean_up_trap
set -e
mkdir -p $VOL_BASE_DIR/mongo/db
cp ogs/mongod.conf $VOL_BASE_DIR/mongo/
mkdir $VOL_BASE_DIR/hss-tester
cp ogs/HSS_Tests.cfg $VOL_BASE_DIR/hss-tester/
write_mp_osmo_repo "$VOL_BASE_DIR/hss-tester/HSS_Tests.cfg"
mkdir $VOL_BASE_DIR/hss
cp ogs/open5gs-*-$IMAGE_SUFFIX.yaml $VOL_BASE_DIR/hss/
cp ogs/freediameter.conf $VOL_BASE_DIR/hss/
network_create
network_replace_subnet_in_configs
MONGOD_ADDR="172.18.$SUBNET.103"
DBCTL="open5gs-dbctl --db_uri=mongodb://$MONGOD_ADDR/open5gs"
# start container with mongod in background
docker run --rm --user $(id -u) \
$(docker_network_params $SUBNET 103) \
--ulimit core=-1 \
-v $VOL_BASE_DIR/mongo:/data \
--name ${BUILD_TAG}-mongo -d \
$DOCKER_ARGS \
$REPO_USER/open5gs-$IMAGE_SUFFIX \
/bin/sh -c "mongod -f /data/mongod.conf >/data/mongod.out 2>&1"
# mongod needs some time to bootstrap...
while ! nc -z $MONGOD_ADDR 27017; do sleep 1; done
# create a test subscriber with IMSI=001010000000000
docker run --rm \
$(docker_network_params $SUBNET 8) \
$REPO_USER/open5gs-$IMAGE_SUFFIX \
$DBCTL add 001010000000000 3c6e0b8a9c15224a8228b9a98ca1531d 762a2206fe0b4151ace403c86a11e479
# Mark test subscriber with IMSI=001010000000001 as:
# Subscriber-Status=OPERATOR_DETERMINED_BARRING (1)
# Operator-Determined-Barring="Barring of all outgoing inter-zonal calls except those directed to the home PLMN country" (7)
docker run --rm \
$(docker_network_params $SUBNET 8) \
$REPO_USER/open5gs-$IMAGE_SUFFIX \
/bin/sh -c "$DBCTL add 001010000000001 3c6e0b8a9c15224a8228b9a98ca1531d 762a2206fe0b4151ace403c86a11e479 &&
$DBCTL subscriber_status 001010000000001 1 7"
# start container with hss in background
docker run --sysctl net.ipv6.conf.all.disable_ipv6=0 \
--rm \
--ulimit core=-1 \
-v $VOL_BASE_DIR/hss:/data \
--name ${BUILD_TAG}-ogs-hss -d \
$DOCKER_ARGS \
$(docker_network_params $SUBNET 201) \
$REPO_USER/open5gs-$IMAGE_SUFFIX \
/bin/sh -c "open5gs-hssd -c /data/open5gs-hss-$IMAGE_SUFFIX.yaml >/data/open5gs-hssd.out 2>&1"
# start docker container with testsuite in foreground
docker run --rm \
--sysctl net.ipv6.conf.all.disable_ipv6=0 \
$(docker_network_params $SUBNET 202) \
--ulimit core=-1 \
-v $VOL_BASE_DIR/hss-tester:/data \
-e "TTCN3_PCAP_PATH=/data" \
--name ${BUILD_TAG}-hss-test \
$DOCKER_ARGS \
$REPO_USER/ttcn3-hss-test-ogs
# remove mongodb's database
rm -rf $VOL_BASE_DIR/mongo/db/