← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1305399] Re: Cannot unshelve instance with user volumes

 

** Changed in: nova
       Status: Fix Committed => Fix Released

** Changed in: nova
    Milestone: None => juno-3

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

Title:
  Cannot unshelve instance with user volumes

Status in OpenStack Compute (Nova):
  Fix Released

Bug description:
  the steps to reproduce:

  1. boot an instance with user volume: nova boot --flavor 11 --image
  cirros --block-device-mapping /dev/vdb=a6118113-bce9-4e0f-89ce-
  d2aecb0148f8 test_vm1

  2. shelve the instance: nova shelve 958b6615-1a02-46a7-a0cf-
  a4b253f1b9de

  3. unshelve the instance: nova unshelve 958b6615-1a02-46a7-a0cf-
  a4b253f1b9de

  the instance will be in task_state of "unshelving", and the error
  message in log file is:

  [-] Exception during message handling: Invalid volume: status must be 'available'
  Traceback (most recent call last):
    File "/opt/stack/oslo.messaging/oslo/messaging/rpc/dispatcher.py", line 133, in _dispatch_and_reply
      incoming.message))
    File "/opt/stack/oslo.messaging/oslo/messaging/rpc/dispatcher.py", line 176, in _dispatch
      return self._do_dispatch(endpoint, method, ctxt, args)
    File "/opt/stack/oslo.messaging/oslo/messaging/rpc/dispatcher.py", line 122, in _do_dispatch
      result = getattr(endpoint, method)(ctxt, **new_args)
    File "/opt/stack/nova/nova/exception.py", line 88, in wrapped
      payload)
    File "/opt/stack/nova/nova/openstack/common/excutils.py", line 68, in __exit__
      six.reraise(self.type_, self.value, self.tb)
    File "/opt/stack/nova/nova/exception.py", line 71, in wrapped
      return f(self, context, *args, **kw)
    File "/opt/stack/nova/nova/compute/manager.py", line 243, in decorated_function
      pass
    File "/opt/stack/nova/nova/openstack/common/excutils.py", line 68, in __exit__
      six.reraise(self.type_, self.value, self.tb)
    File "/opt/stack/nova/nova/compute/manager.py", line 229, in decorated_function
      return function(self, context, *args, **kwargs)
    File "/opt/stack/nova/nova/compute/manager.py", line 294, in decorated_function
      function(self, context, *args, **kwargs)
    File "/opt/stack/nova/nova/compute/manager.py", line 271, in decorated_function
      e, sys.exc_info())
    File "/opt/stack/nova/nova/openstack/common/excutils.py", line 68, in __exit__
      six.reraise(self.type_, self.value, self.tb)
    File "/opt/stack/nova/nova/compute/manager.py", line 258, in decorated_function
      return function(self, context, *args, **kwargs)
    File "/opt/stack/nova/nova/compute/manager.py", line 3593, in unshelve_instance
      do_unshelve_instance()
    File "/opt/stack/nova/nova/openstack/common/lockutils.py", line 249, in inner
      return f(*args, **kwargs)
    File "/opt/stack/nova/nova/compute/manager.py", line 3592, in do_unshelve_instance
      filter_properties, node)
    File "/opt/stack/nova/nova/compute/manager.py", line 3617, in _unshelve_instance
      block_device_info = self._prep_block_device(context, instance, bdms)
    File "/opt/stack/nova/nova/compute/manager.py", line 1463, in _prep_block_device
      instance=instance)
    File "/opt/stack/nova/nova/openstack/common/excutils.py", line 68, in __exit__
      six.reraise(self.type_, self.value, self.tb)
    File "/opt/stack/nova/nova/compute/manager.py", line 1442, in _prep_block_device
      self.driver, self._await_block_device_map_created) +
    File "/opt/stack/nova/nova/virt/block_device.py", line 364, in attach_block_devices
      map(_log_and_attach, block_device_mapping)
    File "/opt/stack/nova/nova/virt/block_device.py", line 362, in _log_and_attach
      bdm.attach(*attach_args, **attach_kwargs)
    File "/opt/stack/nova/nova/virt/block_device.py", line 44, in wrapped
      ret_val = method(obj, context, *args, **kwargs)
    File "/opt/stack/nova/nova/virt/block_device.py", line 218, in attach
      volume_api.check_attach(context, volume, instance=instance)
    File "/opt/stack/nova/nova/volume/cinder.py", line 229, in check_attach
      raise exception.InvalidVolume(reason=msg)
  InvalidVolume: Invalid volume: status must be 'available'

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


References