← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1330981] [NEW] Cannot attach volumes to LXC instances

 

Public bug reported:

Volumes cannot be attach to any LXC instances
since it's root device cannot be parsed properly.
This later causes a failure in device name generation in get_next_device_name(),
when attempting to generate a name for the attached volume.
The generated device name, will not be recognized by get_dev_prefix_for_disk_bus()
when trying to select a disk bus, nor libvirt will be able to attach the volume
with an unrecognized device name.

When creating a LXC instance, the /dev/nbd1 or /dev/loop0 devices will be saved as
instance root device in _create_domain()
Later, when attaching the volume, block_device.match_device will be called from compute_utils.get_next_device_name(),
The formed device will be named as /dev/na (for /dev/nbdX)
Which will not be recognized in blockinfo.get_dev_prefix_for_disk_bus()
Even if it will be recognized, libvirt wont be able to attach a volume named /dev/na

** Affects: nova
     Importance: Undecided
     Assignee: Vladik Romanovsky (vladik-romanovsky)
         Status: New


** Tags: libvirt lxc

** Tags added: lxc

** Tags added: libvirt

** Changed in: nova
     Assignee: (unassigned) => Vladik Romanovsky (vladik-romanovsky)

-- 
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/1330981

Title:
  Cannot attach volumes to LXC instances

Status in OpenStack Compute (Nova):
  New

Bug description:
  Volumes cannot be attach to any LXC instances
  since it's root device cannot be parsed properly.
  This later causes a failure in device name generation in get_next_device_name(),
  when attempting to generate a name for the attached volume.
  The generated device name, will not be recognized by get_dev_prefix_for_disk_bus()
  when trying to select a disk bus, nor libvirt will be able to attach the volume
  with an unrecognized device name.

  When creating a LXC instance, the /dev/nbd1 or /dev/loop0 devices will be saved as
  instance root device in _create_domain()
  Later, when attaching the volume, block_device.match_device will be called from compute_utils.get_next_device_name(),
  The formed device will be named as /dev/na (for /dev/nbdX)
  Which will not be recognized in blockinfo.get_dev_prefix_for_disk_bus()
  Even if it will be recognized, libvirt wont be able to attach a volume named /dev/na

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


Follow ups

References