Osmocom docker containers
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

73 lines
2.2 KiB

# WARNING: This cannot be executed on any random Linux machine or jenkins slave node!
# We require a kernel with HLDC net-devices, specifically eight pairs of devices named
# hdlc1 + hdlcnet1 ... hdlc8 + hdclnet8.
# Those pairs of netdevices can e.g. be implemented by actually physically looping back
# the related E1 interfaces, or e.g.by using DAHDI_NET + dahdi_dynamic_loc to create
# pairs of virtual E1 spans.
# In addition, we need to use 'sudo' permissions in order to move the hdlc
# net-devices into the docker containers. So in automatic test execution this means
# that the user will need sudo privileges without entering a password (NOPASS)
. ../jenkins-common.sh
docker_images_require \
"osmo-ns-$IMAGE_SUFFIX" \
set -e
network_create $SUBNET
mkdir $VOL_BASE_DIR/ns-tester
cp fr/NS_Tests.cfg $VOL_BASE_DIR/ns-tester/
mkdir $VOL_BASE_DIR/ns
cp fr/osmo-ns-dummy.cfg $VOL_BASE_DIR/ns/
echo Starting container with osmo-ns-dummy
docker run --rm \
--cap-add=NET_RAW --cap-add=SYS_RAWIO \
$(docker_network_params $SUBNET 101) \
--ulimit core=-1 \
-e "WAIT_FOR_NETDEV=hdlcnet8" \
-v $VOL_BASE_DIR/ns:/data \
--name ${BUILD_TAG}-ns -d \
# move all hdlcX net-devices into container
for i in `seq 1 8`; do
#sudo sethdlc ${DEV} fr lmi none
sudo ./netdev-to-docker.sh ${DEV} ${BUILD_TAG}-ns
echo Starting container with NS testsuite
docker run --rm \
--cap-add=NET_RAW --cap-add=SYS_RAWIO \
$(docker_network_params $SUBNET 10) \
--ulimit core=-1 \
-e "TTCN3_PCAP_PATH=/data" \
-e "WAIT_FOR_NETDEV=hdlc8" \
-v $VOL_BASE_DIR/ns-tester:/data \
--name ${BUILD_TAG}-ttcn3-ns-test -d \
# move all hdlcnetX net-devices into container
for i in `seq 1 8`; do
#sudo sethdlc ${DEV} fr lmi none
sudo ./netdev-to-docker.sh ${DEV} ${BUILD_TAG}-ttcn3-ns-test
# emulate running container in foreground, which is no longer possible as we
# must shift the net-devices into the container _after_ it is started
docker logs -f ${BUILD_TAG}-ttcn3-ns-test