virsh failure to start lxc container - internal error: Unable to find 'cpuacct' cgroups controller mount

Bug #1524339 reported by Larry Michel
22
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Ubuntu Cloud Archive
Expired
Low
Unassigned
libvirt (Ubuntu)
Expired
High
Unassigned

Bug Description

Seeing libvirt error while trying to deploy instances in OpenStack deployment:
"error: internal error: Unable to find 'cpuacct' cgroups controller mount".

This is recreatable for kilo and liberty.

The cloud version for kilo is root@lambert:~# dpkg -l|grep virt
ii libvirt-bin 1.2.12-0ubuntu14.2~cloud0 amd64 programs f
or the libvirt library
ii libvirt0 1.2.12-0ubuntu14.2~cloud0 amd64 library fo
r interfacing with different virtualization systems

And I was also able to recreate with liberty version:

root@lambert:/etc/apt/sources.list.d# apt-cache policy libvirt-bin
libvirt-bin:
  Installed: 1.2.16-2ubuntu11~cloud0
  Candidate: 1.2.16-2ubuntu11~cloud0
  Version table:
 *** 1.2.16-2ubuntu11~cloud0 0
        500 http://ubuntu-cloud.archive.canonical.com/ubuntu/ trusty-updates/liberty/main amd64 Packages
        100 /var/lib/dpkg/status
     1.2.2-0ubuntu13.1.14 0
        500 http://archive.ubuntu.com//ubuntu/ trusty-updates/main amd64 Packages
     1.2.2-0ubuntu13.1.7 0
        500 http://archive.ubuntu.com//ubuntu/ trusty-security/main amd64 Packages
     1.2.2-0ubuntu13 0
        500 http://archive.ubuntu.com//ubuntu/ trusty/main amd64 Packages

When I tried on a system with 1.2.2-0ubuntu13.1.7, there was no issue starting the container.

If this is an issue with the version in the cloud archives, when was it fixed and when does the fix makes it to the kilo and liberty cloud archives?

Below is the error on the nova-compute node with actual instance xml and I also recreated with a basic container:

root@lambert:~# virsh -c lxc:/// dumpxml instance-00000001
<domain type='lxc'>
  <name>instance-00000001</name>
  <uuid>9d5ecebb-f387-4eb7-b337-c1a47589094b</uuid>
  <metadata>
    <nova:instance xmlns:nova="http://openstack.org/xmlns/libvirt/nova/1.0">
      <nova:package version="2015.1.2"/>
      <nova:name>guestOS-test-lxc-precise_0</nova:name>
      <nova:creationTime>2015-12-09 11:12:13</nova:creationTime>
      <nova:flavor name="m1.small">
        <nova:memory>2048</nova:memory>
        <nova:disk>20</nova:disk>
        <nova:swap>0</nova:swap>
        <nova:ephemeral>0</nova:ephemeral>
        <nova:vcpus>1</nova:vcpus>
      </nova:flavor>
      <nova:owner>
        <nova:user uuid="2abcabaf56fd41fc8378498c11a85f47">admin</nova:user>
        <nova:project uuid="93afe3cf82d940618c1450936feaed85">admin</nova:project>
      </nova:owner>
      <nova:root type="image" uuid="6950412f-2fb4-4a8e-93b3-e0b5dc7a2c3d"/>
    </nova:instance>
  </metadata>
  <memory unit='KiB'>2097152</memory>
  <vcpu placement='static'>1</vcpu>
  <cputune>
    <shares>1024</shares>
  </cputune>
  <os>
    <type arch='x86_64'>exe</type>
    <init>/sbin/init</init>
    <cmdline>console=tty0 console=ttyS0 console=ttyAMA0</cmdline>
  </os>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/lib/libvirt/libvirt_lxc</emulator>
    <filesystem type='mount' accessmode='passthrough'>
      <source dir='/var/lib/nova/instances/9d5ecebb-f387-4eb7-b337-c1a47589094b/rootfs'/>
      <target dir='/'/>
    </filesystem>
    <interface type='bridge'>
      <mac address='fa:16:3e:d8:cc:72'/>
      <source bridge='qbr1962ef4b-ee'/>
      <target dev='tap1962ef4b-ee'/>
    </interface>
    <console type='pty'> [583/1825]
      <target type='lxc' port='0'/>
    </console>
  </devices>
</domain>

root@lambert:~# virsh -c lxc:/// start instance-00000001
error: Failed to start domain instance-00000001
error: internal error: Unable to find 'cpuacct' cgroups controller mount

root@lambert:~# virsh -c lxc:/// dumpxml myinstance
<domain type='lxc'>
  <name>myinstance</name>
  <uuid>704269a9-d9ae-49eb-ae5e-1222fd703872</uuid>
  <memory unit='KiB'>102400</memory>
  <currentMemory unit='KiB'>102400</currentMemory>
  <vcpu placement='static'>1</vcpu>
  <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>destroy</on_crash>
  <devices>
    <emulator>/usr/lib/libvirt/libvirt_lxc</emulator>
    <console type='pty'>
      <target type='lxc' port='0'/>
    </console>
  </devices>
</domain>

root@lambert:~# virsh -c lxc:/// start myinstance
error: Failed to start domain myinstance
error: internal error: Unable to find 'cpuacct' cgroups controller mount

Tags: oil
Larry Michel (lmic)
summary: - Failure to start lxc container - internal error: Unable to find
+ virsh failure to start lxc container - internal error: Unable to find
'cpuacct' cgroups controller mount
Chris J Arges (arges)
Changed in libvirt (Ubuntu):
importance: Undecided → High
status: New → Triaged
Revision history for this message
James Page (james-page) wrote :

lxc driver is not that well maintained upstream; I'd suspect some sort of kernel/libvirt mismatch here so maybe we could try reproducing with the hwe-w kernel which matches the libvirt release?

That would allow us to bisect the root cause a little further.

Changed in cloud-archive:
importance: Undecided → Low
status: New → Incomplete
Changed in libvirt (Ubuntu):
status: Triaged → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for Ubuntu Cloud Archive because there has been no activity for 60 days.]

Changed in cloud-archive:
status: Incomplete → Expired
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for libvirt (Ubuntu) because there has been no activity for 60 days.]

Changed in libvirt (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.