Bug 1199488

Summary: systemd-nspawn service enters failed state after shutting down container from inside
Product: Red Hat Enterprise Linux 7 Reporter: Karel Volný <kvolny>
Component: systemdAssignee: systemd-maint
Status: CLOSED ERRATA QA Contact: qe-baseos-daemons
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.1CC: jscotka, lnykryn, systemd-maint-list
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: systemd-219-1.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-11-19 15:06:22 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 Karel Volný 2015-03-06 13:36:13 UTC
Description of problem:
If a full system is installed into the container which is run as a service, and then the container shuts down itself, not via stopping the service, it is treated as if the service failed. But simply stopping a machine, no crash or whatever, isn't an error ...

Reading the docs[*] I fail to find/understand if some special action is needed to shut down the container without error.

Note that if the same container is run from the commandline, not as a service, it exits without error and after the last shutdown step "Sending SIGTERM to remaining processes..." systemd-nspawn reports "Container has been shut down."

[*] http://www.freedesktop.org/software/systemd/man/systemd-nspawn.html

Version-Release number of selected component (if applicable):
systemd-208-20.el7.x86_64

How reproducible:
always

Steps to Reproduce:
I'm getting the failure as a part of automated testcase, but the important steps go like this:

1. mkdir -p /var/lib/container/rhel7
2. yum -y --nogpgcheck --installroot /var/lib/container/rhel7 groupinstall minimal
3. ln -s '/usr/lib/systemd/system/systemd-nspawn@.service' '/etc/systemd/system/systemd-nspawn@rhel7'
4. systemctl start systemd-nspawn@rhel7
5. run 'poweroff' in the container
6. systemctl status systemd-nspawn@rhel7

Actual results:
systemd-nspawn - Container rhel7
   Loaded: loaded (/usr/lib/systemd/system/systemd-nspawn@.service; enabled)
   Active: failed (Result: exit-code) since Wed 2015-02-25 20:26:32 CET; 1min 36s ago
     Docs: man:systemd-nspawn(1)
  Process: 20063 ExecStart=/usr/bin/systemd-nspawn -bjD /var/lib/container/%i (code=exited, status=1/FAILURE)
 Main PID: 20063 (code=exited, status=1/FAILURE)

...
Feb 25 20:26:07 (hostname filtered) systemd[1]: Started Container rhel7.
Feb 25 20:26:32 (hostname filtered) systemd-nspawn[20063]: Container failed with error code 1.
Feb 25 20:26:32 (hostname filtered) systemd[1]: systemd-nspawn: main process exited, code=exited, status=1/FAILURE
Feb 25 20:26:32 (hostname filtered) systemd[1]: Unit systemd-nspawn entered failed state.


Expected results:
systemd-nspawn - Container rhel7
   Loaded: loaded (/usr/lib/systemd/system/systemd-nspawn@.service; enabled)
   Active: inactive (dead) since Wed 2015-02-25 20:26:32 CET; 1min 36s ago
     Docs: man:systemd-nspawn(1)
  Process: 20063 ExecStart=/usr/bin/systemd-nspawn -bjD /var/lib/container/%i (code=exited, status=0/SUCCESS)
 Main PID: 20063 (code=exited, status=0/SUCCESS)

...
Feb 25 20:26:07 (hostname filtered) systemd[1]: Started Container rhel7.
Feb 25 20:26:32 (hostname filtered) systemd-nspawn[20063]: Container has been shut down.
Feb 25 20:26:32 (hostname filtered) systemd[1]: systemd-nspawn: main process exited, code=exited, status=0/SUCCESS
Feb 25 20:26:32 (hostname filtered) systemd[1]: Unit systemd-nspawn entered stopped state.
...


Additional info:

Comment 3 Lukáš Nykrýn 2015-05-12 14:41:23 UTC
works for me after rebase

Comment 5 errata-xmlrpc 2015-11-19 15:06:22 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-2015-2092.html