Comment 38 for bug 1570472

Revision history for this message
Nish Aravamudan (nacc) wrote :

Alright, so this is a bug, but there is at least one clear workaround if you're on 15.04 or later, remove the 'upstart' package.
However, that's ugly, and I think there is a better fix, as in the attached debdiffs.

Please test https://launchpad.net/~nacc/+archive/ubuntu/lp1570472

Basically, my "fix" is to modify the provider logic in puppet so that systemd is used (regardless of ubuntu's version) if systemd is running (which is the case if /run/systemd/system exists, AIUI).

For 16.10, that is a small change to just remove the version checks for the systemd provider.

For 16.04, that is a larger change to add the confine for /run/systemd/system detection (similar to what is in 16.10, but without the conditional, since this is an Ubuntu package) and add the ubuntu default in the systemd provider.

In my testing, this fixes the issue in 16.04 and 16.10, with or without upstart installed.

I've filed https://tickets.puppetlabs.com/browse/PUP-6531 so hopefully upstream can remove the version checking logic, but in the meanwhile, we should probably simply carry this change in puppet in Ubuntu as a delta.

-Nish