Allow to change the path between OSMOCOM_REPO_MIRROR and
OSMOCOM_REPO_VERSION. While at it, tweak related comments (comment above
the variable as usually, replace "repo" wording with "feed" for the
latest/nightly variable as we usually refer to it as feed), and mention
OSMOCOM_REPO_* in README.md.
In order to be able to use a different mirror for testsuite and systems
under test, the testsuite related Dockerfiles (osmocom-bb-host-master,
debian-stretch-titan) are not using OSMOCOM_REPO_PATH. We could add a
OSMOCOM_REPO_TESTSUITE_PATH on demand, as mentioned in the next commit.
Disable KVM if /dev/kvm is missing, as it is apparently the case on our
jenkins nodes. This makes the tests run a bit slower, but not much. Add
kernel_test_wait_for_vm to sleep until the VM is booted up (~5s instead
of ~1s without KVM), so the first test in the testsuite does not fail
when using KVM.
The variable is useful to test the non-KVM code path even if KVM is
available on the host.
Make it possible to run ttcn3-ggsn-test against osmo-ggsn with the GTP
kernel module. This feature is enabled by environment variables
explained in ttcn3-ggsn-test/jenkins.sh, and can either use the
pre-built kernel from Debian, or build a kernel from source.
The kernel runs inside QEMU inside the usual osmo-ggsn-master docker
Thanks to Pau for providing the kernel config and kernel-test scripts
that this patch is based on! I ended up modifying them quite a bit to
fit the docker use case, and to build the initrd (so we can use the
stock debian kernel).
Don't list debian-stretch-build and debian-stretch-titan as dependencies
anymore, now that docker_images_require finds them automatically.
Set the OSMO_TTCN3_BRANCH build argument from ttcn3-*/Dockerfile from
the environment variable of the same name, so it can be changed when
building the images with 'make' or './jenkins.sh'.
Dockerfiles that do not have a OSMO_TCCN3_BRANCH build arg produce a
warning. But this is also the case with Dockerfiles that don't have an
USER build arg, and avoiding the warning would only be possible with a
much more complex patch.
Obsoleted by docker_images_require(). The top-level Makefile had the
* it was not maintained: many targets were missing, and some of the
existing ones did not build anymore
* make targets have the same names as the folders, so if they are not
listed in the Makefile, it will assume that the target has been built
already (prone to making mistakes)
Extend README.md to describe how to run tests, container caching, how
container dependencies are resolved now and the reasoning for doing
it that way instead of using a top-level Makefile.