yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #31920
[Bug 1444128] [NEW] Cells: snapshot of a BFV instance fails due to volume not found
Public bug reported:
Example response:
response status..: <Response [400]>
response time....: 0.434140920639
response headers.: {'content-length': '105', 'via': '1.1 Repose (Repose/6.2.1.2)', 'x-compute-request-id': 'req-a5b3b0b3-28b3-4e0e-9fe3-4d77648e9194', 'server': 'Jetty(9.2.z-SNAPS
HOT)', 'date': 'Fri, 10 Apr 2015 14:37:11 GMT, Fri, 10 Apr 2015 14:37:11 GMT', 'content-type': 'application/json; charset=UTF-8'}
response body....: {"badRequest": {"message": "Block Device Mapping is Invalid: failed to get volume 774787.", "code": 400}}
nova-api log:
2015-04-13 19:27:35.503 5797 DEBUG keystoneclient.session
[req-d9791494-b071-47fa-99d8-db2a5b39a930
dbf01adba9b245369ba32a46d93fdf5f 5930474] REQ: curl -g -i --insecure -X
GET https://example.com/v1/59/volumes/None -H "User-Agent: python-
cinderclient" -H "Accept: application/json" -H "X-Auth-Token: <>"
_http_log_request /opt/rackstack/rackstack.228.11/nova/lib/python2.7
/site-packages/keystoneclient/session.py:195
notice the None in the volume URI.
The issue is that when booting from a volume in cells, the volume is
created in the api cell before there is a device name assigned. Since
the mapping is looked up by device name when a later update_or_create
call is received it can't find the first mapping and creates a new one.
When later actions, like snapshot, look up the block device mappings for
the instance they find one with no volume_id specified and fail. This
is assuming that the BFV was attempting to create a volume from an image
during the request. Booting from a pre-existing volume should not have
this issue.
** Affects: nova
Importance: Medium
Assignee: Andrew Laski (alaski)
Status: In Progress
** Changed in: nova
Assignee: (unassigned) => Andrew Laski (alaski)
** Changed in: nova
Importance: Undecided => Medium
** Changed in: nova
Status: New => Triaged
** Changed in: nova
Status: Triaged => 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/1444128
Title:
Cells: snapshot of a BFV instance fails due to volume not found
Status in OpenStack Compute (Nova):
In Progress
Bug description:
Example response:
response status..: <Response [400]>
response time....: 0.434140920639
response headers.: {'content-length': '105', 'via': '1.1 Repose (Repose/6.2.1.2)', 'x-compute-request-id': 'req-a5b3b0b3-28b3-4e0e-9fe3-4d77648e9194', 'server': 'Jetty(9.2.z-SNAPS
HOT)', 'date': 'Fri, 10 Apr 2015 14:37:11 GMT, Fri, 10 Apr 2015 14:37:11 GMT', 'content-type': 'application/json; charset=UTF-8'}
response body....: {"badRequest": {"message": "Block Device Mapping is Invalid: failed to get volume 774787.", "code": 400}}
nova-api log:
2015-04-13 19:27:35.503 5797 DEBUG keystoneclient.session
[req-d9791494-b071-47fa-99d8-db2a5b39a930
dbf01adba9b245369ba32a46d93fdf5f 5930474] REQ: curl -g -i --insecure
-X GET https://example.com/v1/59/volumes/None -H "User-Agent: python-
cinderclient" -H "Accept: application/json" -H "X-Auth-Token: <>"
_http_log_request /opt/rackstack/rackstack.228.11/nova/lib/python2.7
/site-packages/keystoneclient/session.py:195
notice the None in the volume URI.
The issue is that when booting from a volume in cells, the volume is
created in the api cell before there is a device name assigned. Since
the mapping is looked up by device name when a later update_or_create
call is received it can't find the first mapping and creates a new
one. When later actions, like snapshot, look up the block device
mappings for the instance they find one with no volume_id specified
and fail. This is assuming that the BFV was attempting to create a
volume from an image during the request. Booting from a pre-existing
volume should not have this issue.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1444128/+subscriptions
Follow ups
References