goss icon indicating copy to clipboard operation
goss copied to clipboard

Add Debian Bookworm to integration-tests

Open dklimpel opened this issue 1 year ago • 5 comments

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: []

dklimpel avatar May 07 '24 20:05 dklimpel

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.

dklimpel avatar May 08 '24 12:05 dklimpel

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).

aelsabbahy avatar Jul 19 '24 16:07 aelsabbahy

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

dklimpel avatar Jul 21 '24 15:07 dklimpel

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.

aelsabbahy avatar Aug 29 '24 18:08 aelsabbahy