Bug 983685

Summary: lxc container with networking hangs udevadm settle on the host
Product: [Fedora] Fedora Reporter: Cole Robinson <crobinso>
Component: systemdAssignee: systemd-maint
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: bcl, berrange, clalancette, dallan, gczarcinski, itamar, jforbes, johannbg, laine, libvirt-maint, lnykryn, msekleta, plautrba, rvokal, systemd-maint, veillard, virt-maint, vpavlin, zbyszek
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 984026 (view as bug list) Environment:
Last Closed: 2014-06-19 19:10:34 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:
Attachments:
Description Flags
udev-remove-seqnum-API-and-all-assumption none

Description Cole Robinson 2013-07-11 17:45:03 UTC
If I start a simple bash container with networking, udevadm settle proceeds to hang on the host. This affects other libvirt functions like storage pool listing. If I remove the <interface> XML, settle doesn't hang.

Any recommendations on getting more info is appreciated.


I have this container:

<domain type='lxc'>
  <name>bash</name>
  <uuid>f1a972fc-eefd-4ca2-cc4b-b769cd25cadc</uuid>
  <memory unit='KiB'>65536</memory>
  <currentMemory unit='KiB'>61440</currentMemory>
  <vcpu placement='static'>1</vcpu>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64'>exe</type>
    <init>/bin/sh</init>
  </os>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/libexec/libvirt_lxc</emulator>
    <interface type='network'>
      <mac address='00:16:3e:ab:9a:cd'/>
      <source network='default'/>
    </interface>
    <console type='pty'>
      <target type='lxc' port='0'/>
    </console>
  </devices>
</domain>


Default network XML is:

<network>
  <name>default</name>
  <uuid>ff473bff-797f-41dd-b3df-f5a67b0a5f20</uuid>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='virbr0' stp='on' delay='0' />
  <mac address='52:54:00:d1:52:aa'/>
  <ip address='192.168.123.1' netmask='255.255.255.0'>
    <tftp root='/var/lib/tftpboot' />
    <dhcp>
      <range start='192.168.123.2' end='192.168.123.254' />
      <bootp file='pxelinux.0' />
    </dhcp>
  </ip>
</network>



To test, dump the first XML to file, sudo virsh --connect lxc:/// define <vmxml>, sudo virsh --connect lxc:/// start bash, udevadm settle on host.udev

Comment 1 Daniel Berrangé 2013-07-12 09:17:20 UTC
I've seen this before too, but never managed to get to the bottom of it. Will look again & ask systemd folks for opinions.

Comment 3 Brian Lane 2014-04-30 18:30:09 UTC
This is now also hitting the boot.iso in rawhide.

It looks like commit 9ea28c55a2 is the fix for it but we need a new build for rawhide.

Comment 4 Gene Czarcinski 2014-05-08 14:16:02 UTC
This problem is also a large problem in rawhide install

Comment 5 Gene Czarcinski 2014-05-08 15:09:23 UTC
I got the patch for commit 9ea28c55a2, applied to to systemd-212-2, rebuild the package using mock, and then tested it.

I have a live-LXDE rawhide spin installed on aUSB stick.  I updated systemd there and then ran /usr/bin/liveinst

No hanged; works great.  Get this into rawhide soonest.

Comment 6 Gene Czarcinski 2014-05-08 15:11:25 UTC
Created attachment 893658 [details]
udev-remove-seqnum-API-and-all-assumption

applies to systemd-212-2 OK

Comment 7 Brian Lane 2014-05-08 15:34:52 UTC
systemd-212-4 has the fix applied.

Comment 8 Lennart Poettering 2014-06-19 19:10:34 UTC
This is fixed in rawhide.