Bug 1375097

Summary: systemctl preset-all doesn't work if there is a dangling aliases present in /usr/lib/systemd/system
Product: Red Hat Enterprise Linux 7 Reporter: Michal Sekletar <msekleta>
Component: systemdAssignee: systemd-maint
Status: CLOSED ERRATA QA Contact: Petr Sklenar <psklenar>
Severity: high Docs Contact:
Priority: high    
Version: 7.3CC: fdeutsch, fsumsal, ovasik, psklenar, systemd-maint-list
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: systemd-219-30.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-04 00:56:49 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Michal Sekletar 2016-09-12 07:46:07 UTC
Description of problem:
$subject

Version-Release number of selected component (if applicable):
systemd-219-29.el7

How reproducible:
always

Steps to Reproduce:
1. Have dangling alias, e.g. /usr/lib/systemd/system/dbus-org.freedesktop.network1.service -> systemd-networkd.service
2. Execute systemctl preset-all

Actual results:
systemctl preset-all
Failed to execute operation: No such file or directory

Expected results:
systemd carries out enable/disable operations for all unit files on the system according to the current preset policy.

Additional info:
This is already fixed upstream by, https://github.com/systemd/systemd/commit/893275df36c8c358d3c0b851ca255a6169dac138. Note that we will not backport this commit as is, rather we will include only the code that is necessary to fix the bug, i.e. systemctl will *NOT* inform user about the presence of a dangling symlink.

Comment 1 Michal Sekletar 2016-09-12 07:50:21 UTC
This bug got introduced during RHEL-7.3 development. It may affect state of the system after reboot, i.e. some system services that were supposed to be running are not started. Proposing as a release blocker.

Comment 5 Michal Sekletar 2016-09-15 16:51:54 UTC
(In reply to Michal Sekletar from comment #0)
> Additional info:
> This is already fixed upstream by,
> https://github.com/systemd/systemd/commit/
> 893275df36c8c358d3c0b851ca255a6169dac138. Note that we will not backport
> this commit as is, rather we will include only the code that is necessary to
> fix the bug, i.e. systemctl will *NOT* inform user about the presence of a
> dangling symlink.

Please disregard additional info section. I did backport the change as it was upstream and user *is* informed that there is a dangling symlink present.

Example:
[0 root@qeos-141 x86_64]# systemctl preset-all
Unit dbus-org.freedesktop.network1.service is an alias to a unit that is not present, ignoring.

Comment 9 errata-xmlrpc 2016-11-04 00:56:49 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2016-2216.html