I propose that we use the systemd Linux installers for Jenkins 2.332.1.
The Linux installers for Jenkins 2.335 and Jenkins 2.336 weekly releases use systemd instead of System V init. They include migration steps that read the existing System V init script settings and convert them to systemd override configuration settings.
The systemd service has been the default and preferred system and service manager on most Linux distributions for many years. Jenkins use of systemd unifies the service management method across all three of our Linux installers and allows us to describe configuration actions for Debian, Red Hat, and SUSE installers with a single set of instructions.
The systemd implementation resolves the following known issues with the installers:
- JENKINS-41218 -
Switch Linux installers from System V init to systemd
- JENKINS-65809 -
Restart the Jenkins service after plugin updates on Debian 11 (bullseye)
- JENKINS-56219 -
Restart systemd service when the controller exits unexpectedly
- JENKINS-31656 - Return zero from RPM init script on successful stop
- JENKINS-67487 -
Correctly report startup result on Amazon Linux 2 installed with the rpm package
- JENKINS-67404 - Do not fail startup with timeout on systems with slow DNS resolution
We prefer to introduce infrastructure changes like this one on the first release in an LTS series and we like to have some experience with the change in weekly before the LTS release.
If we choose to not use systemd for the 2.332.1 release, then the current configuration of the 2.332.1 Linux installer will use the Linux installer from 2.334. That installer is a variant of the System V Linux installer but without the requirement for the `daemon` program on Debian or the `daemonize` program on Red Hat and SUSE. It was only available in one weekly release before it was superseded by the installer based on systemd.
Our choices are:
- Use systemd installer from 2.335 and 2.336 in 2.332.1
- Use System V init installer from 2.334 (no dependency on daemon program)
- Use System V init installer from 2.333 and earlier
We'll need additional documentation for managing services with systemd. Basil Crow and I are willing to work on that documentation.
We'll need entries in the upgrade guide for the systemd transition. I'm willing to work on that with Basil's help.
Comments and concerns are welcomed,
Mark Waite