← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1525806] Re: An incorrect value for block_device_mapping_v2 causes HTTP 500 response when creating a VM instance

 

** Also affects: nova/mitaka
   Importance: Undecided
       Status: New

** Changed in: nova/mitaka
     Assignee: (unassigned) => Takashi NATSUME (natsume-takashi)

** Changed in: nova/mitaka
   Importance: Undecided => Medium

** Changed in: nova/mitaka
       Status: New => 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/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:
  In Progress

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