95 lines
2.7 KiB
Bash
Executable File
95 lines
2.7 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
. ../jenkins-common.sh
|
|
IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}"
|
|
docker_images_require \
|
|
"open5gs-$IMAGE_SUFFIX" \
|
|
"osmo-uecups-master" \
|
|
"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-*.yaml $VOL_BASE_DIR/pgw/
|
|
cp ogstun-setup.sh $VOL_BASE_DIR/pgw/
|
|
|
|
SUBNET=18
|
|
network_create $SUBNET
|
|
|
|
# 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 \
|
|
open5gs-nrfd -c /data/open5gs-nrf.yaml
|
|
|
|
# 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 \
|
|
open5gs-upfd -c /data/open5gs-upf.yaml
|
|
|
|
# configure the 'ogstun' device for open5gs-upfd
|
|
docker exec ${BUILD_TAG}-upf /data/ogstun-setup.sh
|
|
|
|
# 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 \
|
|
open5gs-smfd -c /data/open5gs-smf.yaml
|
|
|
|
# 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-master \
|
|
/bin/sh -c "osmo-uecups-daemon >/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
|
|
docker container stop ${BUILD_TAG}-smf
|
|
docker container stop ${BUILD_TAG}-upf
|
|
docker container stop ${BUILD_TAG}-nrf
|
|
|
|
network_remove
|
|
collect_logs
|