Systemd unit cleanup and enhancement
Introducing new systemd documentation feature along with various units cleanups.
- Name: Jóhann B. Guðmundsson
- Email: johannbg AT gmail DOT com
- Targeted release: Fedora 18
- Last updated:
- Percentage of completion: 20
Introducing and including in units new Documentation support that got added to systemd.
Fixing PIDFile path to point to the actual runtime directory instead of pointing it to the obsolete /var/run directory which is bind mounted to it and various other minor unit cleanups.
Removal of EnvironmentalFile reference in units which uses /etc/sysconfig/foo file,
Benefit to Fedora
Adding the Documentation Field will bring more informational status output to our users base which links to the relevant man pages for the daemon/service.
EnvironmentalFiles that reside in /etc/sysconfig directory are Fedora specific which makes those unit not upstream feasible and work against the de-balkanization of the Linux platform.
If it's truly necessary for those environment files to be continued to be used which is rather exception than a rule since users/administrator should be using How_do I customize a unit file when altering daemon/service startup, they should be placed in a subdir directly in /etc with the name of the package/subsystem and the environment file reference point to that instead.
- Add Documentation= field which will contain relevant man pages to already existing units
- Remove various entries in units which are no longer necessary since they are systemd defaults for unit simplification
- Change PIDFile=/var/run/foo fields to point to PIDFile=/run/foo instead
- Drop any EnvironmentalFile= field in units that points to /etc/sysconfig/foo files
How To Test
- Install/update to the package that contains the new native systemd unit file.
- Check if the update process happened cleanly
- Check if the service starts cleanly after install
- check if the service stops cleanly after and install
- Check if the service reloads cleanly correctly if applicable
- Check if the service status output contains reference to the relevant man pages
- Enable the service then restart
- check if the shutdown process happened cleanly with the service enabled
- check if the service started cleanly at startup
Other than the added informative documentation field in the units status output the user should not notice any change.
Depends on legacy sysv initscript to have been converted to native systemd units.
Continue to ship the systemd units as is.
- It's recommended that documentation for relevant applications that contained and used EnvironmentFile reference points users to How_do I customize a unit file use instead when altering daemon/service startup.
There shouldn't be anything we need to specifically say other than highlighting the change.