add ttcn3-hnbgw-test variant with-pfcp

Run HNBGW tests a second time with PFCP enabled. Just run all the same
tests again, no matter if they are related to PS RAB Assignment or not,
to also ensure no ill side effects from PFCP configuration.

Related: SYS#5895
Depends: I511e758807e0512c18f3f9e0a8c4699b9a3f5992 (osmo-ttcn3-hacks)
Change-Id: I02b60941343000a4618e95f56326bec170c32bfe
This commit is contained in:
Neels Hofmeyr 2022-09-13 14:30:28 +02:00
parent 395cdbb41f
commit 85f0b311f9
3 changed files with 164 additions and 44 deletions

View File

@ -10,53 +10,71 @@ docker_images_require \
set_clean_up_trap
set -e
mkdir $VOL_BASE_DIR/hnbgw-tester
mkdir $VOL_BASE_DIR/hnbgw-tester/unix
cp HNBGW_Tests.cfg $VOL_BASE_DIR/hnbgw-tester/
write_mp_osmo_repo "$VOL_BASE_DIR/hnbgw-tester/HNBGW_Tests.cfg"
mkdir $VOL_BASE_DIR/stp
cp osmo-stp.cfg $VOL_BASE_DIR/stp/
mkdir $VOL_BASE_DIR/hnbgw
mkdir $VOL_BASE_DIR/hnbgw/unix
cp osmo-hnbgw.cfg $VOL_BASE_DIR/hnbgw/
mkdir $VOL_BASE_DIR/unix
SUBNET=35
network_create $SUBNET
echo Starting container with STP
docker run --rm \
$(docker_network_params $SUBNET 200) \
--ulimit core=-1 \
-v $VOL_BASE_DIR/stp:/data \
--name ${BUILD_TAG}-stp -d \
$DOCKER_ARGS \
$REPO_USER/osmo-stp-$IMAGE_SUFFIX
run_tests() {
base_dir="$1"
tests_cfg="$2"
stp_cfg="$3"
hnbgw_cfg="$4"
echo Starting container with HNBGW
docker run --rm \
$(docker_network_params $SUBNET 20) \
--ulimit core=-1 \
-v $VOL_BASE_DIR/hnbgw:/data \
-v $VOL_BASE_DIR/unix:/data/unix \
--name ${BUILD_TAG}-hnbgw -d \
$DOCKER_ARGS \
$REPO_USER/osmo-hnbgw-$IMAGE_SUFFIX
mkdir $base_dir/hnbgw-tester
mkdir $base_dir/hnbgw-tester/unix
cp "$tests_cfg" $base_dir/hnbgw-tester/
write_mp_osmo_repo "$base_dir/hnbgw-tester/HNBGW_Tests.cfg"
echo Starting container with HNBGW testsuite
docker run --rm \
$(docker_network_params $SUBNET 203) \
--ulimit core=-1 \
-e "TTCN3_PCAP_PATH=/data" \
-v $VOL_BASE_DIR/hnbgw-tester:/data \
-v $VOL_BASE_DIR/unix:/data/unix \
--name ${BUILD_TAG}-ttcn3-hnbgw-test \
$DOCKER_ARGS \
$REPO_USER/ttcn3-hnbgw-test
mkdir $base_dir/stp
cp "$stp_cfg" $base_dir/stp/
echo Stopping containers
docker container kill ${BUILD_TAG}-hnbgw
docker container kill ${BUILD_TAG}-stp
mkdir $base_dir/hnbgw
mkdir $base_dir/hnbgw/unix
cp "$hnbgw_cfg" $base_dir/hnbgw/
mkdir $base_dir/unix
echo Starting container with STP
docker run --rm \
$(docker_network_params $SUBNET 200) \
--ulimit core=-1 \
-v $base_dir/stp:/data \
--name ${BUILD_TAG}-stp -d \
$DOCKER_ARGS \
$REPO_USER/osmo-stp-$IMAGE_SUFFIX
echo Starting container with HNBGW
docker run --rm \
$(docker_network_params $SUBNET 20) \
--ulimit core=-1 \
-v $base_dir/hnbgw:/data \
-v $base_dir/unix:/data/unix \
--name ${BUILD_TAG}-hnbgw -d \
$DOCKER_ARGS \
$REPO_USER/osmo-hnbgw-$IMAGE_SUFFIX
echo Starting container with HNBGW testsuite
docker run --rm \
$(docker_network_params $SUBNET 203) \
--ulimit core=-1 \
-e "TTCN3_PCAP_PATH=/data" \
-v $base_dir/hnbgw-tester:/data \
-v $base_dir/unix:/data/unix \
--name ${BUILD_TAG}-ttcn3-hnbgw-test \
$DOCKER_ARGS \
$REPO_USER/ttcn3-hnbgw-test
echo Stopping containers
docker container kill ${BUILD_TAG}-hnbgw
docker container kill ${BUILD_TAG}-stp
}
echo Testing without PFCP
run_tests "$VOL_BASE_DIR" "HNBGW_Tests.cfg" "osmo-stp.cfg" "osmo-hnbgw.cfg"
echo Testing with PFCP
VOL_BASE_DIR_PFCP="$VOL_BASE_DIR/with-pfcp"
mkdir "$VOL_BASE_DIR_PFCP"
run_tests "$VOL_BASE_DIR_PFCP" "with-pfcp/HNBGW_Tests.cfg" "osmo-stp.cfg" "with-pfcp/osmo-hnbgw.cfg"
# Make jenkins results show ':with-pfcp': append ':with-pfcp' to the jenkins results classnames
sed -i "s/classname='\([^']\+\)'/classname='\1:with-pfcp'/g" \
$VOL_BASE_DIR_PFCP/hnbgw-tester/junit-xml-*.log

View File

@ -0,0 +1,49 @@
[ORDERED_INCLUDE]
# Common configuration, shared between test suites
"/osmo-ttcn3-hacks/Common.cfg"
# testsuite specific configuration, not expected to change
"/osmo-ttcn3-hacks/hnbgw/HNBGW_Tests.default"
# Local configuration below
[LOGGING]
[TESTPORT_PARAMETERS]
*.HNBGWVTY.CTRL_HOSTNAME := "172.18.35.20"
[MODULE_PARAMETERS]
HNBGW_Tests.mp_hnodeb_ip := "172.18.35.203";
HNBGW_Tests.mp_hnbgw_ip := "172.18.35.20";
HNBGW_Tests.mp_mgw_ip := "172.18.35.203";
HNBGW_Tests.mp_msc_cfg := {
transport := RANAP_TRANSPORT_IuCS,
sccp_service_type := "mtp3_itu",
sctp_addr := { 23905, "172.18.35.203", 2905, "172.18.35.200" },
own_pc := 188, /* 0.23.4 first MSC emulation */
own_ssn := 142,
peer_pc := 189, /* 0.23.5 osmo-hnbgw */
peer_ssn := 142,
sio := '83'O,
rctx := 1
};
HNBGW_Tests.mp_sgsn_cfg := {
transport := RANAP_TRANSPORT_IuCS,
sccp_service_type := "mtp3_itu",
sctp_addr := { 23906, "172.18.35.203", 2905, "172.18.35.200" },
own_pc := 185, /* 0.23.1 first SGSN emulation */
own_ssn := 142,
peer_pc := 189, /* 0.23.5 osmo-hnbgw */
peer_ssn := 142,
sio := '83'O,
rctx := 2
};
HNBGW_Tests.mp_enable_pfcp_tests := true;
HNBGW_Tests.mp_pfcp_ip_local := "172.18.35.203";
HNBGW_Tests.mp_pfcp_ip_remote := "172.18.35.20";
[MAIN_CONTROLLER]
[EXECUTE]
HNBGW_Tests.control

View File

@ -0,0 +1,53 @@
!
! OsmoHNBGW (1.1.0) configuration saved from vty
!!
!
log gsmtap 172.18.35.203
logging level set-all debug
logging filter all 1
!
log stderr
logging filter all 1
logging color 1
logging print category-hex 1
logging print category 1
logging print thread-id 0
logging print extended-timestamp 1
logging print file 1
logging level set-all debug
!
line vty
no login
bind 0.0.0.0
!
cs7 instance 0
asp asp-clnt-msc-0 2905 2905 m3ua
local-ip 172.18.35.20
remote-ip 172.18.35.200
point-code 0.23.5
sccp-address msc
routing-indicator PC
point-code 0.23.4
sccp-address sgsn
routing-indicator PC
point-code 0.23.1
hnbgw
log-prefix hnb-id
iuh
local-ip 172.18.35.20
local-port 29169
hnbap-allow-tmsi 1
iucs
remote-addr msc
iups
remote-addr sgsn
mgcp
mgw local-ip 172.18.35.20
mgw remote-ip 172.18.35.203
pfcp
remote-addr 172.18.35.203
local-addr 172.18.35.20
# so far HNBGW_Tests.ttcn does not heed the port an Assoc Setup Req came from, it always responds to port 8805
local-port 8805
# send PFCP Assoc Setup Req more often
timer pfcp x26 5