← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1786189] [NEW] Unable to get device_path from network mounted volume in extend in use

 

Public bug reported:

While implementing support for extending in-use volumes for RBD, I've
hit a bug as the code relies on the server having access to the devices
that are visible in its filesystem through the device path. On network
attached volumes in which the qemu process directly access the device
over the network, this device_path attribute does not exist that leads
to an exception.

https://github.com/openstack/nova/blob/master/nova/virt/libvirt/driver.py#L1636

...
            state = guest.get_power_state(self._host)
            active_state = state in (power_state.RUNNING, power_state.PAUSED)
            if active_state:
                disk_path = connection_info['data']['device_path']              <=====
                LOG.debug('resizing block device %(dev)s to %(size)u kb',
                          {'dev': disk_path, 'size': new_size})
                dev = guest.get_block_device(disk_path)
...

** Affects: nova
     Importance: Undecided
     Assignee: Jose Castro Leon (jose-castro-leon)
         Status: In Progress

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

Title:
  Unable to get device_path from network mounted volume in extend in use

Status in OpenStack Compute (nova):
  In Progress

Bug description:
  While implementing support for extending in-use volumes for RBD, I've
  hit a bug as the code relies on the server having access to the
  devices that are visible in its filesystem through the device path. On
  network attached volumes in which the qemu process directly access the
  device over the network, this device_path attribute does not exist
  that leads to an exception.

  https://github.com/openstack/nova/blob/master/nova/virt/libvirt/driver.py#L1636

  ...
              state = guest.get_power_state(self._host)
              active_state = state in (power_state.RUNNING, power_state.PAUSED)
              if active_state:
                  disk_path = connection_info['data']['device_path']              <=====
                  LOG.debug('resizing block device %(dev)s to %(size)u kb',
                            {'dev': disk_path, 'size': new_size})
                  dev = guest.get_block_device(disk_path)
  ...

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


Follow ups