osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/36390?usp=email )
(
1 is the latest approved patch-set. No files were changed between the latest approved patch-set and the submitted one. )Change subject: ttcn3-ggsn-test/jenkins: add functions for start ggsn/testsuite ......................................................................
ttcn3-ggsn-test/jenkins: add functions for start ggsn/testsuite
Prepare to run start_ggsn and start_testsuite multiple times with different configurations in a follow-up patch.
Related: OS#6096 Change-Id: I0754b0df5f1b0b162732c3db0797f65676553ab0 --- M ttcn3-ggsn-test/jenkins.sh 1 file changed, 78 insertions(+), 59 deletions(-)
Approvals: pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified laforge: Looks good to me, approved
diff --git a/ttcn3-ggsn-test/jenkins.sh b/ttcn3-ggsn-test/jenkins.sh index 3909036..1ea9d91 100755 --- a/ttcn3-ggsn-test/jenkins.sh +++ b/ttcn3-ggsn-test/jenkins.sh @@ -11,6 +11,69 @@ set_clean_up_trap set -e
+# Start container with ggsn in background +start_ggsn() { + GGSN_CMD="osmo-ggsn -c /data/osmo-ggsn.cfg" + GGSN_DOCKER_ARGS="" + if [ "$KERNEL_TEST" = "1" ]; then + cp osmo-ggsn-kernel-gtp.cfg $VOL_BASE_DIR/ggsn/osmo-ggsn.cfg + cp initrd-ggsn.sh $VOL_BASE_DIR/ggsn/ + network_replace_subnet_in_configs + + kernel_test_prepare \ + "defconfig" \ + "fragment.config" \ + "$VOL_BASE_DIR/ggsn/initrd-ggsn.sh" \ + "$REPO_USER/osmo-ggsn-$IMAGE_SUFFIX" \ + -v $VOL_BASE_DIR/ggsn:/data + + GGSN_CMD="/kernel-test/run-qemu.sh" + GGSN_DOCKER_ARGS=" + $(docker_network_params $SUBNET 200) + $(docker_kvm_param) + -v "$KERNEL_TEST_DIR:/kernel-test:ro" + -v "$CACHE_DIR:/cache" + " + OSMO_SUT_HOST="172.18.$SUBNET.200" + else + cp osmo-ggsn.cfg $VOL_BASE_DIR/ggsn/ + network_replace_subnet_in_configs + + GGSN_DOCKER_ARGS=" + $(docker_network_params $SUBNET 201) + " + OSMO_SUT_HOST="172.18.$SUBNET.201" + fi + docker run --rm \ + --cap-add=NET_ADMIN \ + --device /dev/net/tun:/dev/net/tun \ + --sysctl net.ipv6.conf.all.disable_ipv6=0 \ + --ulimit core=-1 \ + -v $VOL_BASE_DIR/ggsn:/data \ + --name ${BUILD_TAG}-ggsn -d \ + $DOCKER_ARGS \ + $GGSN_DOCKER_ARGS \ + $REPO_USER/osmo-ggsn-$IMAGE_SUFFIX \ + /bin/sh -c "$GGSN_CMD >/data/osmo-ggsn.log 2>&1" + + kernel_test_wait_for_vm "$VOL_BASE_DIR/ggsn/osmo-ggsn.log" +} + +# Start docker container with testsuite in foreground +start_testsuite() { + docker run --rm \ + --sysctl net.ipv6.conf.all.disable_ipv6=0 \ + $(docker_network_params $SUBNET 202) \ + --ulimit core=-1 \ + -v $VOL_BASE_DIR/ggsn-tester:/data \ + -e "TTCN3_PCAP_PATH=/data" \ + -e "OSMO_SUT_HOST=$OSMO_SUT_HOST" \ + -e "OSMO_SUT_PORT=4260" \ + --name ${BUILD_TAG}-ggsn-test \ + $DOCKER_ARGS \ + $REPO_USER/ttcn3-ggsn-test +} + mkdir $VOL_BASE_DIR/ggsn-tester cp GGSN_Tests.cfg $VOL_BASE_DIR/ggsn-tester/ write_mp_osmo_repo "$VOL_BASE_DIR/ggsn-tester/GGSN_Tests.cfg" @@ -18,62 +81,5 @@ mkdir $VOL_BASE_DIR/ggsn
network_create - -# start container with ggsn in background -GGSN_CMD="osmo-ggsn -c /data/osmo-ggsn.cfg" -GGSN_DOCKER_ARGS="" -if [ "$KERNEL_TEST" = "1" ]; then - cp osmo-ggsn-kernel-gtp.cfg $VOL_BASE_DIR/ggsn/osmo-ggsn.cfg - cp initrd-ggsn.sh $VOL_BASE_DIR/ggsn/ - network_replace_subnet_in_configs - - kernel_test_prepare \ - "defconfig" \ - "fragment.config" \ - "$VOL_BASE_DIR/ggsn/initrd-ggsn.sh" \ - "$REPO_USER/osmo-ggsn-$IMAGE_SUFFIX" \ - -v $VOL_BASE_DIR/ggsn:/data - - GGSN_CMD="/kernel-test/run-qemu.sh" - GGSN_DOCKER_ARGS=" - $(docker_network_params $SUBNET 200) - $(docker_kvm_param) - -v "$KERNEL_TEST_DIR:/kernel-test:ro" - -v "$CACHE_DIR:/cache" - " - OSMO_SUT_HOST="172.18.$SUBNET.200" -else - cp osmo-ggsn.cfg $VOL_BASE_DIR/ggsn/ - network_replace_subnet_in_configs - - GGSN_DOCKER_ARGS=" - $(docker_network_params $SUBNET 201) - " - OSMO_SUT_HOST="172.18.$SUBNET.201" -fi -docker run --rm \ - --cap-add=NET_ADMIN \ - --device /dev/net/tun:/dev/net/tun \ - --sysctl net.ipv6.conf.all.disable_ipv6=0 \ - --ulimit core=-1 \ - -v $VOL_BASE_DIR/ggsn:/data \ - --name ${BUILD_TAG}-ggsn -d \ - $DOCKER_ARGS \ - $GGSN_DOCKER_ARGS \ - $REPO_USER/osmo-ggsn-$IMAGE_SUFFIX \ - /bin/sh -c "$GGSN_CMD >/data/osmo-ggsn.log 2>&1" - -kernel_test_wait_for_vm "$VOL_BASE_DIR/ggsn/osmo-ggsn.log" - -# 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/ggsn-tester:/data \ - -e "TTCN3_PCAP_PATH=/data" \ - -e "OSMO_SUT_HOST=$OSMO_SUT_HOST" \ - -e "OSMO_SUT_PORT=4260" \ - --name ${BUILD_TAG}-ggsn-test \ - $DOCKER_ARGS \ - $REPO_USER/ttcn3-ggsn-test +start_ggsn +start_testsuite