-
-
Notifications
You must be signed in to change notification settings - Fork 102
Proposal - increase proportion of testing performed in docker containers #1809
Description
testdocker.tar.gz (NOTE: Needs hostname and which added to install list on Fedora33)
We are currently losing some of our capacity as a result of #1781. The biggest impact of this is on the Linux/x64 systems where we currently have 12 test systems (4 each of CentOS7, Debian8, and Ubuntu16.04). Losing this capacity will have a significant impact on our abnility to run testing.
In order to mitigate this, I am proposing running a subset (not all, since we need to test some using the real kernel for the operating system) in Docker containers. For prototyping purposes I am using one large system with static docker images of differnet OSs to give us a mix, but going forward we could probably spin them up on the fly in a comparable way to how we build the Linux/x64 and Linux/aarch64 builds using the dockerBuild nodes today.
I have configured a 24-core (48 thread) system docker-packet-ubuntu2004-x64-1 with six static docker containers (One each of Ubuntu 16,04, 18.04, 20.04, 20.10) and two Fedora 33) and these are in jenkins with the name of the host system and a suffix to indicate the OS in the container. While this doesn't quite match the 12-machine set at GoDaddy it will still be adequate to prevent xLinux capacity from being a limiting factor
The important thing about this is that we need to understand how many tests can be performed within docker containers as (external tests excepted) it is not something we have tried before. The containers on this host are restricted to 4 CPUs each and 6Gb of RAM. This limitation prevents the system test suites in particular consuming all the resources on the machine. Initial testing from last night shows that the load on the machine was around the 25-30 mark, which is likely OK.
Issues relating to running tests in docker specifically can be captured in adoptium/aqa-tests#2138
Dockerfiles used to create these images (not the full playbooks are in the attachment
If you have an concerns about this approach, feel free to add them into the comments :-)