yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #65025
[Bug 1525806] Re: An incorrect value for block_device_mapping_v2 causes HTTP 500 response when creating a VM instance
** Changed in: nova/mitaka
Status: Fix Committed => Fix Released
--
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/1525806
Title:
An incorrect value for block_device_mapping_v2 causes HTTP 500
response when creating a VM instance
Status in OpenStack Compute (nova):
Fix Released
Status in OpenStack Compute (nova) mitaka series:
Fix Released
Bug description:
An incorrect value for block_device_mapping_v2 causes HTTP 500 response when creating a VM instance.
It should be validated and not to return HTTP 500 response.
[How to reproduce]
a) destination_type is ""(an empty string)
Execute the following command(REST API).
curl -g -i --cacert "/opt/stack/data/CA/int-ca/ca-chain.pem" -X POST http://10.0.2.15:8774/v2.1/e7e043ffac8d4325b2872bd2b53cce2b/os-volumes_boot -H "User-Agent: python-novaclient" -H "Content-Type: application/json" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}00abb28e025a6770fc13d70fc6a41e327bca90d6" -d '{"server": {"name": "server1", "imageRef": "", "block_device_mapping_v2": [{"boot_index": "0", "uuid": "4115a0d1-eee2-4c3e-847d-e50250a989a3", "volume_size": "1", "source_type": "image", "destination_type": "", "delete_on_termination": false}], "flavorRef": "1", "max_count": 1, "min_count": 1}}'
The response is as follows:
--------------------------------------
HTTP/1.1 500 Internal Server Error
X-Openstack-Nova-Api-Version: 2.6
Vary: X-OpenStack-Nova-API-Version
Content-Length: 194
Content-Type: application/json; charset=UTF-8
X-Compute-Request-Id: req-29fb2efe-eda8-43dd-8ea1-5f73b86f6171
Date: Mon, 14 Dec 2015 07:17:24 GMT
{"computeFault": {"message": "Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and attach the Nova API log if possible.\n<type 'exceptions.ValueError'>", "code": 500}}
--------------------------------------
b) destination_type is neither 'volume' nor 'local'
Execute the following command(REST API).
curl -g -i --cacert "/opt/stack/data/CA/int-ca/ca-chain.pem" -X POST http://10.0.2.15:8774/v2.1/e7e043ffac8d4325b2872bd2b53cce2b/os-volumes_boot -H "User-Agent: python-novaclient" -H "Content-Type: application/json" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}7add7a5e501cc287f6043d83144ea24a69134ae7" -d '{"server": {"name": "server1", "imageRef": "", "block_device_mapping_v2": [{"boot_index": "0", "uuid": "4115a0d1-eee2-4c3e-847d-e50250a989a3", "volume_size": "1", "source_type": "image", "destination_type": "XXXXX", "delete_on_termination": false}], "flavorRef": "1", "max_count": 1, "min_count": 1}}'
The response is as follows:
--------------------------------------
HTTP/1.1 500 Internal Server Error
X-Openstack-Nova-Api-Version: 2.6
Vary: X-OpenStack-Nova-API-Version
Content-Length: 194
Content-Type: application/json; charset=UTF-8
X-Compute-Request-Id: req-f3644722-ba2c-49bf-9db0-badfd7dffa30
Date: Mon, 14 Dec 2015 07:30:02 GMT
{"computeFault": {"message": "Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and attach the Nova API log if possible.\n<type 'exceptions.ValueError'>", "code": 500}}
--------------------------------------
c) volume_size is ""(an empty string)
Execute the following command(REST API).
curl -g -i --cacert "/opt/stack/data/CA/int-ca/ca-chain.pem" -X POST http://10.0.2.15:8774/v2.1/e7e043ffac8d4325b2872bd2b53cce2b/os-volumes_boot -H "User-Agent: python-novaclient" -H "Content-Type: application/json" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}85cc81c3f710561ddd640ce26c41990703d925ce" -d '{"server": {"name": "server1", "imageRef": "", "block_device_mapping_v2": [{"boot_index": "0", "uuid": "4115a0d1-eee2-4c3e-847d-e50250a989a3", "volume_size": "", "source_type": "image", "destination_type": "volume", "delete_on_termination": false}], "flavorRef": "1", "max_count": 1, "min_count": 1}}'
The response is as follows:
--------------------------------------
HTTP/1.1 500 Internal Server Error
X-Openstack-Nova-Api-Version: 2.1
Vary: X-OpenStack-Nova-API-Version
Content-Length: 194
Content-Type: application/json; charset=UTF-8
X-Compute-Request-Id: req-46cb61d3-c110-4bbb-9248-3ebe0f909c23
Date: Mon, 14 Dec 2015 07:36:27 GMT
{"computeFault": {"message": "Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and attach the Nova API log if possible.\n<type 'exceptions.ValueError'>", "code": 500}}
--------------------------------------
d) volume_size is 0
Execute the following command(REST API).
curl -g -i --cacert "/opt/stack/data/CA/int-ca/ca-chain.pem" -X POST http://10.0.2.15:8774/v2.1/e7e043ffac8d4325b2872bd2b53cce2b/os-volumes_boot -H "User-Agent: python-novaclient" -H "Content-Type: application/json" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}85cc81c3f710561ddd640ce26c41990703d925ce" -d '{"server": {"name": "server1", "imageRef": "", "block_device_mapping_v2": [{"boot_index": "0", "uuid": "4115a0d1-eee2-4c3e-847d-e50250a989a3", "volume_size": "0", "source_type": "image", "destination_type": "volume", "delete_on_termination": false}], "flavorRef": "1", "max_count": 1, "min_count": 1}}'
The response is as follows:
--------------------------------------
HTTP/1.1 500 Internal Server Error
X-Openstack-Nova-Api-Version: 2.1
Vary: X-OpenStack-Nova-API-Version
Content-Length: 199
Content-Type: application/json; charset=UTF-8
X-Compute-Request-Id: req-ed2f5bce-704c-4fb4-bd64-8246746a28a8
Date: Mon, 14 Dec 2015 07:38:27 GMT
{"computeFault": {"message": "Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and attach the Nova API log if possible.\n<class 'nova.exception.InvalidBDM'>", "code": 500}}
--------------------------------------
e) volume_size is more than DB column limit(> 9223372036854775807)
Execute the following command(REST API).
curl -g -i --cacert "/opt/stack/data/CA/int-ca/ca-chain.pem" -X POST http://10.0.2.15:8774/v2.1/e7e043ffac8d4325b2872bd2b53cce2b/os-volumes_boot -H "User-Agent: python-novaclient" -H "Content-Type: application/json" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}85cc81c3f710561ddd640ce26c41990703d925ce" -d '{"server": {"name": "server1", "imageRef": "", "block_device_mapping_v2": [{"boot_index": "0", "uuid": "4115a0d1-eee2-4c3e-847d-e50250a989a3", "volume_size": "9223372036854775808", "source_type": "image", "destination_type": "volume", "delete_on_termination": false}], "flavorRef": "1", "max_count": 1, "min_count": 1}}'
The response is as follows:
--------------------------------------
HTTP/1.1 500 Internal Server Error
X-Openstack-Nova-Api-Version: 2.1
Vary: X-OpenStack-Nova-API-Version
Content-Length: 203
Content-Type: application/json; charset=UTF-8
X-Compute-Request-Id: req-b8815b21-33ff-4a9b-94bb-7cc72663f868
Date: Mon, 14 Dec 2015 07:39:59 GMT
{"computeFault": {"message": "Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and attach the Nova API log if possible.\n<class 'oslo_db.exception.DBDataError'>", "code": 500}}
--------------------------------------
[Environment]
OS: Ubuntu 14.04 LTS
nova: master(commit: 415b221e3345e332f78c9833c2e4e7f0d38bf9c5)
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1525806/+subscriptions
References