Add Debian Bookworm to integration-tests
Checklist
- [x]
make test-all(UNIX) passes. CI will also test this - [x] unit and/or integration tests are included (if applicable)
- [x] documentation is changed or added (if applicable)
Description of change
The current used images / Dockerfiles are EoL. Starting add a supported Debian Bookworm image.
I did a few tests. Since Debian Jessy the check for run level does not work anymore.
bookworm:
services:
apache2: []
A few results for the ticket.
The new container image runs in podman without any problems. In docker the container terminates immediately.
I have the same result as the CI on my local machine.
-> edit: fixed with docker run ... --privileged
The old cent os image does not run on my local machine as well. It behaves in the same way as in the github pipeline (my tests). The container freezes without starting the services it contains (webserver/proxy).
The images all contain more or less systemd/init. This is not really an architecture or a use case for containers. Starting multiple processes could also be done with the help of e.g. supervisord.
The real reason why init/systemd is included is probably to check services via goss. This would certainly not be possible in standard containers.
Ok, so I think we need to be careful with upgrading different Linux versions. The purpose of the integration tests is to test against real world examples of services/package managers that goss supports.
https://github.com/goss-org/goss/blob/aed56336c3e8ff683e9540065b502f423dd6760d/system/system.go#L162-L179
So if upgrading a distro will move it from say sysV init to systemd then the integration tests now have a gap in coverage. Also, it probably means they are potentially redundant (e.g. Debian may no longer be providing any value over ubuntu tests).
I understand the arguments. And that is also correct.
On the other hand "test against real world examples" is not possible with the current versions that are EOL.
| version | EOL |
|---|---|
| centos7 | 30 Jun 2024 |
| wheezy | 31 May 2018 |
| trusty | 02 Apr 2019 |
sure, I wonder if that part of the codebase should be deprecated or if I need to see if any non-EOL linux distributions still use sysV init.