Bug 1123452 - systemd-nspawn Host and machine ids are equal: refusing to link journals
Summary: systemd-nspawn Host and machine ids are equal: refusing to link journals
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: systemd
Version: 7.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: systemd-maint
QA Contact: Karel Volný
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-07-25 17:28 UTC by Major Hayden
Modified: 2015-08-19 10:58 UTC (History)
5 users (show)

Fixed In Version: systemd-208-12.el7
Doc Type: Bug Fix
Doc Text:
Cause: When generating UUID for machine we have tried to determine if we are running in VM and if so we have set UUID to match the VM. If that failed we have used other methods. Consequence: When running container inside VM, we have found that we are running inside VM and every container got the same name as the host. Fix: We have moved detection of VM to the end. Result: Containers on VM hosts have proper unique UUIDs.
Clone Of:
Environment:
Last Closed: 2015-03-05 11:11:18 UTC


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2015:0509 normal SHIPPED_LIVE systemd bug fix and enhancement update 2015-03-05 16:01:17 UTC

Description Major Hayden 2014-07-25 17:28:45 UTC
Description of problem:
When running a container inside of a KVM virtual machine, systemd tries to use the same UUID as the KVM virtual machine for the container.  This prevents the journals from being linked and prevents the container from starting via the systemd-nspawn@[containername].service

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

Steps to Reproduce:
1. Build a RHEL 7 root in /var/lib/container/rhel7 using yum --installroot
2. Start the container using: systemd-nspawn -bD /var/lib/container/rhel7
3. The boot sequence will display: "Initializing machine ID from KVM UUID."
4. Stop the container.
5. ln -s /usr/lib/systemd/system/systemd-nspawn\@.service /etc/systemd/system/multi-user.target.wants/systemd-nspawn\@rhel7.service
6. systemctl start systemd-nspawn@rhel7
7. Container will not start.  Run journalctl and you'll find this:

systemd-nspawn[9912]: Host and machine ids are equal (59515fd022d049bb81418697bd315def): refusing to link journals
systemd-nspawn[9912]: Container failed with error code 1.

Actual results:
Container does not start. Errors appear in journald.

Expected results:
Container should start with a UUID that is different than the KVM container and journals should be linked.

Additional info:

Relevant thread from systemd-devel list:

  https://www.mail-archive.com/systemd-devel@lists.freedesktop.org/msg18617.html

Possible fix from Lennart:

  http://cgit.freedesktop.org/systemd/systemd/commit/?id=0b36bbc42d3a408531517a02acaf56105b863d55

For what it's worth, Fedora 20 runs a *very* similar version of systemd and it does not have this bug:

  systemd-208-20.fc20.x86_64 <-- works

Comment 6 errata-xmlrpc 2015-03-05 11:11:18 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-0509.html


Note You need to log in before you can comment on or make changes to this bug.