yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #96201
[Bug 2117544] [NEW] server create with volume which was created by server image
Public bug reported:
Description
===========
Server creation with volume which was created by server image fails
Steps to reproduce
==================
1. create volume backend server(openstack server create --image testimage --network testnetwork --flavor testflavor --boot-from-volume 10 testserver)
2. create server image(openstack server image create testserver)
3. create volume with image(openstack volume create --size 10 --image testserver --bootable testvolume)
4. create server with volume(openstack server create --volume testvolume --network testnetwork --flavor testflavor testserver2)
Expected result
===============
I expected server creation success
Actual result
=============
BadRequestException: 400: Client Error for url: {url}, Invalid image metadata. Error: A list is required in field img_block_device_mapping, not a str
Environment
===========
Use epoxy version for all components
In Code
=======
When we use image direct, we get image metadata from glance, and we have list for img_block_device_mapping value in nova.
However, when we get image metadata from cinder, we have string for img_block_device_mapping
Glance API(GET /v2/images/{image_id}) returns like below
{
...
"block_device_mapping": "[{...}]",
...
}
Cinder API(GET /v3/{project_id}/volumes/{volume_id}) returns like below
{
"volume": {
...
"volume_image_metadata": {
...
"block_device_mapping": "[{...}]",
...
},
...
}
}
** Affects: nova
Importance: Undecided
Status: New
--
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/2117544
Title:
server create with volume which was created by server image
Status in OpenStack Compute (nova):
New
Bug description:
Description
===========
Server creation with volume which was created by server image fails
Steps to reproduce
==================
1. create volume backend server(openstack server create --image testimage --network testnetwork --flavor testflavor --boot-from-volume 10 testserver)
2. create server image(openstack server image create testserver)
3. create volume with image(openstack volume create --size 10 --image testserver --bootable testvolume)
4. create server with volume(openstack server create --volume testvolume --network testnetwork --flavor testflavor testserver2)
Expected result
===============
I expected server creation success
Actual result
=============
BadRequestException: 400: Client Error for url: {url}, Invalid image metadata. Error: A list is required in field img_block_device_mapping, not a str
Environment
===========
Use epoxy version for all components
In Code
=======
When we use image direct, we get image metadata from glance, and we have list for img_block_device_mapping value in nova.
However, when we get image metadata from cinder, we have string for img_block_device_mapping
Glance API(GET /v2/images/{image_id}) returns like below
{
...
"block_device_mapping": "[{...}]",
...
}
Cinder API(GET /v3/{project_id}/volumes/{volume_id}) returns like below
{
"volume": {
...
"volume_image_metadata": {
...
"block_device_mapping": "[{...}]",
...
},
...
}
}
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/2117544/+subscriptions