[PUP-6370] systemd provider does not honor documented enabled states Created: 2016/05/27  Updated: 2017/02/01  Resolved: 2017/02/01

Status: Closed
Project: Puppet
Component/s: None
Affects Version/s: PUP 4.5.0, PUP 4.5.1
Fix Version/s: PUP 4.6.0

Type: Bug Priority: Major
Reporter: Cody Herriges Assignee: Unassigned
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
is cloned by PUP-7163 regression - systemd provider does no... Resolved
relates to PUP-5353 Statically-enabled systemd service is... Closed
Story Points: 0
Sprint: Client 2016-06-29
Release Notes: Bug Fix
Release Notes Summary: Previously, when checking whether a service was enabled, the systemd provider used hardcoded strings to compare to the output of {{systemctl}}. Now, we use the exit code from {{systemctl}}, which ensures that the provider's view of a service is in line with that of the system.


The systemd provider considers too many states as "disabled" and should probably just simply track the return value of "is-enabled" instead of capturing stdout and comparing it to a static list of knows states. This has the added benefit of us not having to externally track new states added to systemd over time.

This issue was found in puppet-nova's CI where we found that the virtlockd and virtlogd services attempt to be enabled on every run; their "is-enabled" state is "indirect".


Comment by Emilien Macchi [ 2017/02/01 ]

We are seeing this issue again:

version: puppet-agent 1.9.0-1xenial

Comment by Emilien Macchi [ 2017/02/01 ]

Closing it, and using PUP-7163 (clone) for this regression.

Generated at Sat Jul 11 11:16:31 PDT 2020 using Jira 8.5.2#805002-sha1:a66f9354b9e12ac788984e5d84669c903a370049.