← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1506390] [NEW] LXC instances cannot reboot (reboot from container)

 

Public bug reported:

I have an LXC compute node. I can create LXC containers, they work fine.
When I try to reboot containers (reboot initiated from inside the container), the container goes into "SHUTOFF" status / "Shutdown" power state, and does not come back.

If I do a "nova start", the container comes back to "RUNNING", but with the following exception in logs:
----------
ERROR nova.virt.disk.api [req-63630337-923f-4994-8960-83368c6a192e admin admin] Failed to teardown container filesystem
TRACE nova.virt.disk.api Traceback (most recent call last):
TRACE nova.virt.disk.api   File "/opt/stack/nova/nova/virt/disk/api.py", line 472, in teardown_container
TRACE nova.virt.disk.api     run_as_root=True, attempts=3)
TRACE nova.virt.disk.api   File "/opt/stack/nova/nova/utils.py", line 389, in execute
TRACE nova.virt.disk.api     return RootwrapProcessHelper().execute(*cmd, **kwargs)
TRACE nova.virt.disk.api   File "/opt/stack/nova/nova/utils.py", line 272, in execute
TRACE nova.virt.disk.api     return processutils.execute(*cmd, **kwargs)
TRACE nova.virt.disk.api   File "/usr/local/lib/python2.7/dist-packages/oslo_concurrency/processutils.py", line 275, in execute
TRACE nova.virt.disk.api     cmd=sanitized_cmd)
TRACE nova.virt.disk.api ProcessExecutionError: Unexpected error while running command.
TRACE nova.virt.disk.api Command: sudo nova-rootwrap /etc/nova/rootwrap.conf losetup --detach /dev/loop0
TRACE nova.virt.disk.api Exit code: 1
TRACE nova.virt.disk.api Stdout: u''
TRACE nova.virt.disk.api Stderr: u"loop: can't delete device /dev/loop0: No such device or address\n"
TRACE nova.virt.disk.api 
----------


Tested on Juno/Kilo/Liberty/master, on an Ubuntu 14.04
(note that in Juno, nova start does not even work)


Below is my Devstack recipe if needed:
---------
sudo mkdir -p /opt/stack
sudo chown $USER /opt/stack
git clone -b stable/liberty https://git.openstack.org/openstack-dev/devstack /opt/stack/devstack

cat > /opt/stack/devstack/local.conf << END
[[local|localrc]]

VIRT_DRIVER=libvirt
LIBVIRT_TYPE=lxc

disable_service heat h-api h-api-cfn h-api-cw h-eng
disable_service horizon
disable_service tempest
disable_service c-sch c-api c-vol
disable_service s-proxy s-object s-container s-account
disable_service q-svc q-agt q-dhcp q-l3 q-meta neutron
disable_service tempest

DATABASE_PASSWORD=password
RABBIT_PASSWORD=password
SERVICE_TOKEN=password
SERVICE_PASSWORD=password
ADMIN_PASSWORD=password
END

cd /opt/stack/devstack/
./stack.sh
---------

** Affects: nova
     Importance: Undecided
         Status: New


** Tags: lxc reboot

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1506390

Title:
  LXC instances cannot reboot (reboot from container)

Status in OpenStack Compute (nova):
  New

Bug description:
  I have an LXC compute node. I can create LXC containers, they work fine.
  When I try to reboot containers (reboot initiated from inside the container), the container goes into "SHUTOFF" status / "Shutdown" power state, and does not come back.

  If I do a "nova start", the container comes back to "RUNNING", but with the following exception in logs:
  ----------
  ERROR nova.virt.disk.api [req-63630337-923f-4994-8960-83368c6a192e admin admin] Failed to teardown container filesystem
  TRACE nova.virt.disk.api Traceback (most recent call last):
  TRACE nova.virt.disk.api   File "/opt/stack/nova/nova/virt/disk/api.py", line 472, in teardown_container
  TRACE nova.virt.disk.api     run_as_root=True, attempts=3)
  TRACE nova.virt.disk.api   File "/opt/stack/nova/nova/utils.py", line 389, in execute
  TRACE nova.virt.disk.api     return RootwrapProcessHelper().execute(*cmd, **kwargs)
  TRACE nova.virt.disk.api   File "/opt/stack/nova/nova/utils.py", line 272, in execute
  TRACE nova.virt.disk.api     return processutils.execute(*cmd, **kwargs)
  TRACE nova.virt.disk.api   File "/usr/local/lib/python2.7/dist-packages/oslo_concurrency/processutils.py", line 275, in execute
  TRACE nova.virt.disk.api     cmd=sanitized_cmd)
  TRACE nova.virt.disk.api ProcessExecutionError: Unexpected error while running command.
  TRACE nova.virt.disk.api Command: sudo nova-rootwrap /etc/nova/rootwrap.conf losetup --detach /dev/loop0
  TRACE nova.virt.disk.api Exit code: 1
  TRACE nova.virt.disk.api Stdout: u''
  TRACE nova.virt.disk.api Stderr: u"loop: can't delete device /dev/loop0: No such device or address\n"
  TRACE nova.virt.disk.api 
  ----------

  
  Tested on Juno/Kilo/Liberty/master, on an Ubuntu 14.04
  (note that in Juno, nova start does not even work)


  Below is my Devstack recipe if needed:
  ---------
  sudo mkdir -p /opt/stack
  sudo chown $USER /opt/stack
  git clone -b stable/liberty https://git.openstack.org/openstack-dev/devstack /opt/stack/devstack

  cat > /opt/stack/devstack/local.conf << END
  [[local|localrc]]

  VIRT_DRIVER=libvirt
  LIBVIRT_TYPE=lxc

  disable_service heat h-api h-api-cfn h-api-cw h-eng
  disable_service horizon
  disable_service tempest
  disable_service c-sch c-api c-vol
  disable_service s-proxy s-object s-container s-account
  disable_service q-svc q-agt q-dhcp q-l3 q-meta neutron
  disable_service tempest

  DATABASE_PASSWORD=password
  RABBIT_PASSWORD=password
  SERVICE_TOKEN=password
  SERVICE_PASSWORD=password
  ADMIN_PASSWORD=password
  END

  cd /opt/stack/devstack/
  ./stack.sh
  ---------

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1506390/+subscriptions