← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1404801] [NEW] Unshelve instance not working if instance is boot from volume

 

Public bug reported:

If instance is booted from volume, then shelving the instance sets the
status as SHELVED_OFFLOADED, instance files are getting deleted properly
from the base path. When you call the unshelve instance, it fails on the
conductor with error "Unshelve attempted but the image_id is not
provided", and instance goes in to error state.

Steps to reproduce:
-------------------

1. Log in to Horizon, create a new volume.
2. Create an Instance using newly created volume.
3. Verify instance is in active state.
$ source devstack/openrc demo demo
$ nova list
+--------------------------------------+------+--------+------------+-------------+------------------+
| ID                                   | Name | Status | Task State | Power State | Networks         |
+--------------------------------------+------+--------+------------+-------------+------------------+
| dae3a13b-6aa8-4794-93cd-5ab7bf90f604 | nova | ACTIVE | -          | Running     | private=10.0.0.3 |
+--------------------------------------+------+--------+------------+-------------+------------------+

4. Shelve the instance
$ nova shelve <instance-uuid>

5. Verify the status is SHELVED_OFFLOADED.
$ nova list
+--------------------------------------+------+-------------------+------------+-------------+------------------+
| ID                                   | Name | Status            | Task State | Power State | Networks         |
+--------------------------------------+------+-------------------+------------+-------------+------------------+
| dae3a13b-6aa8-4794-93cd-5ab7bf90f604 | nova | SHELVED_OFFLOADED | -          | Shutdown    | private=10.0.0.3 |
+--------------------------------------+------+-------------------+------------+-------------+------------------+

6. Unshelve the instance.
$ nova unshelve <instance-uuid>

Following stack-trace logged in nova-conductor

2014-12-19 02:55:59.634 ERROR nova.conductor.manager [req-a071fbc9-1c23-4e7a-8adf-7b3d0951aadf demo demo] [instance: dae3a13b-6aa8-4794-93cd-5ab7bf90f604] Unshelve attempted but the image_id is not provided
2014-12-19 02:55:59.647 ERROR oslo.messaging.rpc.dispatcher [req-a071fbc9-1c23-4e7a-8adf-7b3d0951aadf demo demo] Exception during message handling: Error during unshelve instance dae3a13b-6aa8-4794-93cd-5ab7bf90f604: Unshelve attempted but the image_id is not provided
2014-12-19 02:55:59.647 TRACE oslo.messaging.rpc.dispatcher Traceback (most recent call last):
2014-12-19 02:55:59.647 TRACE oslo.messaging.rpc.dispatcher   File "/usr/local/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 137, in _dispatch_and_reply
2014-12-19 02:55:59.647 TRACE oslo.messaging.rpc.dispatcher     incoming.message))
2014-12-19 02:55:59.647 TRACE oslo.messaging.rpc.dispatcher   File "/usr/local/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 180, in _dispatch
2014-12-19 02:55:59.647 TRACE oslo.messaging.rpc.dispatcher     return self._do_dispatch(endpoint, method, ctxt, args)
2014-12-19 02:55:59.647 TRACE oslo.messaging.rpc.dispatcher   File "/usr/local/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 126, in _do_dispatch
2014-12-19 02:55:59.647 TRACE oslo.messaging.rpc.dispatcher     result = getattr(endpoint, method)(ctxt, **new_args)
2014-12-19 02:55:59.647 TRACE oslo.messaging.rpc.dispatcher   File "/opt/stack/nova/nova/conductor/manager.py", line 727, in unshelve_instance
2014-12-19 02:55:59.647 TRACE oslo.messaging.rpc.dispatcher     instance_id=instance.uuid, reason=reason)
2014-12-19 02:55:59.647 TRACE oslo.messaging.rpc.dispatcher UnshelveException: Error during unshelve instance dae3a13b-6aa8-4794-93cd-5ab7bf90f604: Unshelve attempted but the image_id is not provided
2014-12-19 02:55:59.647 TRACE oslo.messaging.rpc.dispatcher

7. Instance goes into error state.
$ nova list
+--------------------------------------+------+--------+------------+-------------+------------------+
| ID                                   | Name | Status | Task State | Power State | Networks         |
+--------------------------------------+------+--------+------------+-------------+------------------+
| dae3a13b-6aa8-4794-93cd-5ab7bf90f604 | nova | ERROR  | unshelving | Shutdown    | private=10.0.0.3 |
+--------------------------------------+------+--------+------------+-------------+------------------+

Note:
1. This issue is reproducible with admin as well as demo tenant.
2. In all cases of shelved_offload_time values (-1, 0, > 0) this issue is reproducible.

** Affects: nova
     Importance: Undecided
     Assignee: Abhishek Kekane (abhishek-kekane)
         Status: New


** Tags: ntt

** Changed in: nova
     Assignee: (unassigned) => Abhishek Kekane (abhishek-kekane)

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

Title:
  Unshelve instance not working if instance is boot from volume

Status in OpenStack Compute (Nova):
  New

Bug description:
  If instance is booted from volume, then shelving the instance sets the
  status as SHELVED_OFFLOADED, instance files are getting deleted
  properly from the base path. When you call the unshelve instance, it
  fails on the conductor with error "Unshelve attempted but the image_id
  is not provided", and instance goes in to error state.

  Steps to reproduce:
  -------------------

  1. Log in to Horizon, create a new volume.
  2. Create an Instance using newly created volume.
  3. Verify instance is in active state.
  $ source devstack/openrc demo demo
  $ nova list
  +--------------------------------------+------+--------+------------+-------------+------------------+
  | ID                                   | Name | Status | Task State | Power State | Networks         |
  +--------------------------------------+------+--------+------------+-------------+------------------+
  | dae3a13b-6aa8-4794-93cd-5ab7bf90f604 | nova | ACTIVE | -          | Running     | private=10.0.0.3 |
  +--------------------------------------+------+--------+------------+-------------+------------------+

  4. Shelve the instance
  $ nova shelve <instance-uuid>

  5. Verify the status is SHELVED_OFFLOADED.
  $ nova list
  +--------------------------------------+------+-------------------+------------+-------------+------------------+
  | ID                                   | Name | Status            | Task State | Power State | Networks         |
  +--------------------------------------+------+-------------------+------------+-------------+------------------+
  | dae3a13b-6aa8-4794-93cd-5ab7bf90f604 | nova | SHELVED_OFFLOADED | -          | Shutdown    | private=10.0.0.3 |
  +--------------------------------------+------+-------------------+------------+-------------+------------------+

  6. Unshelve the instance.
  $ nova unshelve <instance-uuid>

  Following stack-trace logged in nova-conductor

  2014-12-19 02:55:59.634 ERROR nova.conductor.manager [req-a071fbc9-1c23-4e7a-8adf-7b3d0951aadf demo demo] [instance: dae3a13b-6aa8-4794-93cd-5ab7bf90f604] Unshelve attempted but the image_id is not provided
  2014-12-19 02:55:59.647 ERROR oslo.messaging.rpc.dispatcher [req-a071fbc9-1c23-4e7a-8adf-7b3d0951aadf demo demo] Exception during message handling: Error during unshelve instance dae3a13b-6aa8-4794-93cd-5ab7bf90f604: Unshelve attempted but the image_id is not provided
  2014-12-19 02:55:59.647 TRACE oslo.messaging.rpc.dispatcher Traceback (most recent call last):
  2014-12-19 02:55:59.647 TRACE oslo.messaging.rpc.dispatcher   File "/usr/local/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 137, in _dispatch_and_reply
  2014-12-19 02:55:59.647 TRACE oslo.messaging.rpc.dispatcher     incoming.message))
  2014-12-19 02:55:59.647 TRACE oslo.messaging.rpc.dispatcher   File "/usr/local/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 180, in _dispatch
  2014-12-19 02:55:59.647 TRACE oslo.messaging.rpc.dispatcher     return self._do_dispatch(endpoint, method, ctxt, args)
  2014-12-19 02:55:59.647 TRACE oslo.messaging.rpc.dispatcher   File "/usr/local/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 126, in _do_dispatch
  2014-12-19 02:55:59.647 TRACE oslo.messaging.rpc.dispatcher     result = getattr(endpoint, method)(ctxt, **new_args)
  2014-12-19 02:55:59.647 TRACE oslo.messaging.rpc.dispatcher   File "/opt/stack/nova/nova/conductor/manager.py", line 727, in unshelve_instance
  2014-12-19 02:55:59.647 TRACE oslo.messaging.rpc.dispatcher     instance_id=instance.uuid, reason=reason)
  2014-12-19 02:55:59.647 TRACE oslo.messaging.rpc.dispatcher UnshelveException: Error during unshelve instance dae3a13b-6aa8-4794-93cd-5ab7bf90f604: Unshelve attempted but the image_id is not provided
  2014-12-19 02:55:59.647 TRACE oslo.messaging.rpc.dispatcher

  7. Instance goes into error state.
  $ nova list
  +--------------------------------------+------+--------+------------+-------------+------------------+
  | ID                                   | Name | Status | Task State | Power State | Networks         |
  +--------------------------------------+------+--------+------------+-------------+------------------+
  | dae3a13b-6aa8-4794-93cd-5ab7bf90f604 | nova | ERROR  | unshelving | Shutdown    | private=10.0.0.3 |
  +--------------------------------------+------+--------+------------+-------------+------------------+

  Note:
  1. This issue is reproducible with admin as well as demo tenant.
  2. In all cases of shelved_offload_time values (-1, 0, > 0) this issue is reproducible.

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


Follow ups

References