98 lines
3.0 KiB
Bash
Executable File
98 lines
3.0 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
. ../jenkins-common.sh
|
|
IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}"
|
|
docker_images_require \
|
|
"open5gs-$IMAGE_SUFFIX" \
|
|
"osmo-uecups-$IMAGE_SUFFIX" \
|
|
"ttcn3-pgw-test"
|
|
|
|
mkdir $VOL_BASE_DIR/pgw-tester
|
|
cp PGW_Tests.cfg $VOL_BASE_DIR/pgw-tester/
|
|
|
|
mkdir $VOL_BASE_DIR/osmo-uecups
|
|
cp osmo-uecups-daemon.cfg $VOL_BASE_DIR/osmo-uecups/
|
|
|
|
mkdir $VOL_BASE_DIR/pgw
|
|
cp freeDiameter-smf.conf $VOL_BASE_DIR/pgw/
|
|
cp open5gs-*-$IMAGE_SUFFIX.yaml $VOL_BASE_DIR/pgw/
|
|
cp upfd.sh $VOL_BASE_DIR/pgw/
|
|
cp upfd-setup.sh $VOL_BASE_DIR/pgw/
|
|
|
|
# make the testsuite dir writable by all users
|
|
chmod 777 $VOL_BASE_DIR/pgw-tester/
|
|
|
|
network_create
|
|
network_replace_subnet_in_configs
|
|
|
|
# start container with open5gs-nrfd in background
|
|
docker run --rm \
|
|
$(docker_network_params $SUBNET 10) \
|
|
--ulimit core=-1 \
|
|
-v $VOL_BASE_DIR/pgw:/data \
|
|
--name ${BUILD_TAG}-nrf -d \
|
|
$DOCKER_ARGS \
|
|
$REPO_USER/open5gs-$IMAGE_SUFFIX \
|
|
/bin/sh -c "open5gs-nrfd -c /data/open5gs-nrf-$IMAGE_SUFFIX.yaml >/data/open5gs-nrf.out 2>&1"
|
|
|
|
# start container with open5gs-upfd in background
|
|
docker run --cap-add=NET_ADMIN \
|
|
--device /dev/net/tun:/dev/net/tun \
|
|
--sysctl net.ipv6.conf.all.disable_ipv6=0 \
|
|
--rm \
|
|
$(docker_network_params $SUBNET 7) \
|
|
--ulimit core=-1 \
|
|
-v $VOL_BASE_DIR/pgw:/data \
|
|
--name ${BUILD_TAG}-upf -d \
|
|
$DOCKER_ARGS \
|
|
$REPO_USER/open5gs-$IMAGE_SUFFIX \
|
|
/bin/sh -c "/data/upfd.sh -c /data/open5gs-upf-$IMAGE_SUFFIX.yaml >/data/open5gs-upfd.out 2>&1"
|
|
|
|
# start container with open5gs-smfd in background
|
|
docker run --cap-add=NET_ADMIN \
|
|
--device /dev/net/tun:/dev/net/tun \
|
|
--sysctl net.ipv6.conf.all.disable_ipv6=0 \
|
|
--rm \
|
|
$(docker_network_params $SUBNET 4) \
|
|
--ulimit core=-1 \
|
|
-v $VOL_BASE_DIR/pgw:/data \
|
|
--name ${BUILD_TAG}-smf -d \
|
|
$DOCKER_ARGS \
|
|
$REPO_USER/open5gs-$IMAGE_SUFFIX \
|
|
/bin/sh -c "open5gs-smfd -c /data/open5gs-smf-$IMAGE_SUFFIX.yaml >/data/open5gs-smfd.out 2>&1"
|
|
#/bin/sh -c "gdb -ex 'handle SIG32 pass nostop noprint' -ex 'run' -ex 'bt' --arg open5gs-smfd -c /data/open5gs-smf-$IMAGE_SUFFIX.yaml >/data/open5gs-smfd.out 2>&1"
|
|
|
|
# start container with osmo-ugcups-daemon in background; SYS_ADMIN required for CLONE_NEWNS
|
|
docker run --cap-add=NET_ADMIN --cap-add=SYS_ADMIN \
|
|
--device /dev/net/tun:/dev/net/tun \
|
|
--sysctl net.ipv6.conf.all.disable_ipv6=0 \
|
|
--rm \
|
|
$(docker_network_params $SUBNET 20) \
|
|
--ulimit core=-1 \
|
|
-v $VOL_BASE_DIR/osmo-uecups:/data \
|
|
-e "WORKDIR=/data" \
|
|
--name ${BUILD_TAG}-uecups -d \
|
|
$DOCKER_ARGS \
|
|
$REPO_USER/osmo-uecups-$IMAGE_SUFFIX \
|
|
/bin/sh -c "osmo-uecups-daemon -c /data/osmo-uecups-daemon.cfg >/data/osmo-uecups-daemon.log 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) \
|
|
-e "TTCN3_PCAP_PATH=/data" \
|
|
-v $VOL_BASE_DIR/pgw-tester:/data \
|
|
--name ${BUILD_TAG}-pgw-test \
|
|
$DOCKER_ARGS \
|
|
$REPO_USER/ttcn3-pgw-test
|
|
|
|
# stop uecups + PGW after test has completed
|
|
docker container stop \
|
|
${BUILD_TAG}-uecups \
|
|
${BUILD_TAG}-smf \
|
|
${BUILD_TAG}-upf \
|
|
${BUILD_TAG}-nrf
|
|
|
|
network_remove
|
|
collect_logs
|