Bug 1413964

Summary: systemctl exits with status 0 on a nonexisting service unit
Product: Red Hat Enterprise Linux 7 Reporter: Zdenek Pytela <zpytela>
Component: systemdAssignee: systemd-maint
Status: CLOSED ERRATA QA Contact: Branislav Blaškovič <bblaskov>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.3CC: bblaskov, dsilakov, jsynacek, systemd-maint-list
Target Milestone: rcKeywords: Patch
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: systemd-219-31.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-08-01 09:14:52 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:
Bug Depends On:    
Bug Blocks: 1383699    
Attachments:
Description Flags
strace of systemctl is-enabled iscsi none

Description Zdenek Pytela 2017-01-17 13:01:01 UTC
Created attachment 1241770 [details]
strace of systemctl is-enabled iscsi

Description of problem:
Under some conditions, systemctl reports an error on a nonexisting service unit, but exits with exit status 0. Therefore also subsequent actions based on exit status fail. It happens during a kickstart update with selinux enforcing, most likely only when selinux-policy package is updated.

Version-Release number of selected component (if applicable):
systemd-219-30.el7_3.6.x86_64

How reproducible:
always on customer's site

Steps to Reproduce:
1. On a satellite server, prepare updates to deploy.
2. Add setenforce 1 to %post section
3. Execute
systemctl is-enabled nonexisting; echo $?

Actual results:
Failed to get unit file state for nonexisting.service: No such file or directory
0

Expected results:
Failed to get unit file state for nonexisting.service: No such file or directory
1


Additional info:
Not sure if it is relevant, but the current working theory is that it happens only when selinux-policy package is part of the update suite. Additionally, after leaving the chrooted environment, no command can be run any longer. A known workaround is to execute setenforce 0.

Comment 5 Jan Synacek 2017-01-23 11:47:59 UTC
https://github.com/lnykryn/systemd-rhel/pull/81

Test build incoming.

Comment 9 Jan Synacek 2017-01-24 14:54:57 UTC
*** Bug 1397354 has been marked as a duplicate of this bug. ***

Comment 10 Lukáš Nykrýn 2017-01-25 09:31:49 UTC
fix merged to upstream staging branch ->
https://github.com/lnykryn/systemd-rhel/commit/e8507d683bce9dd61adc3fa5d19ec35e3caadff9
-> post

Comment 11 Branislav Blaškovič 2017-02-02 14:23:53 UTC
Qa acking for 7.4

Comment 14 errata-xmlrpc 2017-08-01 09:14:52 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://access.redhat.com/errata/RHBA-2017:2297