Bug #4379
closedttcn3-ggsn-test(-latest) sporadic all-test failures
100%
Description
See for instance ttcn3-ggsn-test-latest run 467 or ttcn3-ggsn-test 928.
All tests fail with:
Verdict: fail reason: VTY Timeout for prompt
That's because osmo-ggsn is not running. It happens because osmo-ggsn is not started (there's no ggsn.log created) by the osmo-ggsn-{master,latest} docker container. It doesn't start osmo-ggsn because the docker container fail during setup:
+ docker run --cap-add=NET_ADMIN --device /dev/net/tun:/dev/net/tun --sysctl net.ipv6.conf.all.disable_ipv6=0 --rm --network ttcn3-ggsn-test --ip 172.18.3.201 -v /home/osmocom-build/jenkins/workspace/ttcn3-ggsn-test-latest/logs/ggsn:/data --name jenkins-ttcn3-ggsn-test-latest-467-ggsn -d osmocom-build/osmo-ggsn-latest /bin/sh -c osmo-ggsn -c /data/osmo-ggsn.cfg >/data/osmo-ggsn.log 2>&1 4c6702e4fed587d1c44687f7cb247d872ed4e0f5e0b37cf151b011d74367f482 docker: Error response from daemon: linux runtime spec devices: error gathering device information while adding custom device "/dev/net/tun": no such file or directory.
The error line doesn't appear when tests run fine. So docker container is really failing to start.
I could find this same error here: https://drone.spritsail.io/spritsail/iodine/4/1/5
The error line seems to suggest that /dev/net/tun doesn't exist in the host running docker, which is a bit strange because some times it does have it (tests pass) and sometimes doesn't.
The issue seems to be that when tests succeed, they are run on:
Building remotely on build2-deb9build-ansible (ttcn3 obs osmo-gsm-tester-build osmocom-gerrit-debian9 osmocom-master-debian9 coverity) in workspace /home/osmocom-build/jenkins/workspace/ttcn3-ggsn-test-latest
But when they fail, they are run on:
Building remotely on admin2-deb9build (ttcn3 obs osmo-gsm-tester-build osmocom-gerrit-debian9 osmocom-master-debian9 coverity) in workspace /home/osmocom-build/jenkins/workspace/ttcn3-ggsn-test-latest
So "build2-deb9build-ansible" vs "admin2-deb9build" . I'd assume admin2-deb9build is missing the tun kernel module (installation or modprobe).