← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1632513] Re: Nova returns HTTP500 if attaching the attached volume

 

Reviewed:  https://review.openstack.org/385200
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=21961e7bc5c9c9650597a9ed7f15a913fcab09d9
Submitter: Jenkins
Branch:    master

commit 21961e7bc5c9c9650597a9ed7f15a913fcab09d9
Author: Ken'ichi Ohmichi <ken-oomichi@xxxxxxxxxxxxx>
Date:   Tue Oct 11 16:27:10 2016 -0700

    Add InvalidInput handling for attach-volume
    
    If attaching the already attached volume to a server, Cinder returns
    HTTP400 response to Nova but Nova didn't except the response.
    Then Nova returned HTTP500 response to a client.
    Tempest test I594566704b9794457d224031802d9cbf132e765f reproduces
    this error case.
    
    Closes-Bug: #1632513
    Change-Id: I6718883cb6b42d9b816e3799324a166cbfe92b40


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

Title:
  Nova returns HTTP500 if attaching the attached volume

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  We tried to add some negative test case to Tempest for the other bug.
  However, Nova still returns HTTP500 error if attaching the already attached volume like:

  http://logs.openstack.org/83/382083/12/check/gate-tempest-dsvm-
  neutron-full-ubuntu-
  xenial/66f700f/logs/screen-n-api.txt.gz#_2016-10-11_19_28_54_097

  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions [req-3a860748-ab8f-4ce7-8412-90f787dd151d tempest-AttachVolumeNegativeTest-1404533522 tempest-AttachVolumeNegativeTest-1404533522] Unexpected exception in API method
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions Traceback (most recent call last):
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions   File "/opt/stack/new/nova/nova/api/openstack/extensions.py", line 338, in wrapped
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions     return f(*args, **kwargs)
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions   File "/opt/stack/new/nova/nova/api/validation/__init__.py", line 73, in wrapper
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions     return func(*args, **kwargs)
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions   File "/opt/stack/new/nova/nova/api/openstack/compute/volumes.py", line 325, in create
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions     volume_id, device)
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions   File "/opt/stack/new/nova/nova/compute/api.py", line 164, in inner
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions     return function(self, context, instance, *args, **kwargs)
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions   File "/opt/stack/new/nova/nova/compute/api.py", line 145, in inner
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions     return f(self, context, instance, *args, **kw)
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions   File "/opt/stack/new/nova/nova/compute/api.py", line 3481, in attach_volume
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions     disk_bus, device_type)
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions   File "/opt/stack/new/nova/nova/compute/api.py", line 3424, in _attach_volume
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions     volume_bdm.destroy()
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions   File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions     self.force_reraise()
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions   File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions     six.reraise(self.type_, self.value, self.tb)
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions   File "/opt/stack/new/nova/nova/compute/api.py", line 3420, in _attach_volume
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions     self._check_attach_and_reserve_volume(context, volume_id, instance)
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions   File "/opt/stack/new/nova/nova/compute/api.py", line 3407, in _check_attach_and_reserve_volume
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions     self.volume_api.reserve_volume(context, volume_id)
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions   File "/opt/stack/new/nova/nova/volume/cinder.py", line 196, in wrapper
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions     _reraise(exception.InvalidInput(reason=err_msg))
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions   File "/opt/stack/new/nova/nova/volume/cinder.py", line 246, in _reraise
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions     six.reraise(type(desired_exc), desired_exc, sys.exc_info()[2])
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions   File "/opt/stack/new/nova/nova/volume/cinder.py", line 188, in wrapper
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions     res = method(self, ctx, *args, **kwargs)
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions   File "/opt/stack/new/nova/nova/volume/cinder.py", line 210, in wrapper
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions     res = method(self, ctx, volume_id, *args, **kwargs)
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions   File "/opt/stack/new/nova/nova/volume/cinder.py", line 327, in reserve_volume
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions     cinderclient(context).volumes.reserve(volume_id)
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions   File "/usr/local/lib/python2.7/dist-packages/cinderclient/v3/volumes.py", line 383, in reserve
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions     return self._action('os-reserve', volume)
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions   File "/usr/local/lib/python2.7/dist-packages/cinderclient/v3/volumes.py", line 346, in _action
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions     resp, body = self.api.client.post(url, body=body)
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions   File "/usr/local/lib/python2.7/dist-packages/cinderclient/client.py", line 146, in post
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions     return self._cs_request(url, 'POST', **kwargs)
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions   File "/usr/local/lib/python2.7/dist-packages/cinderclient/client.py", line 134, in _cs_request
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions     return self.request(url, method, **kwargs)
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions   File "/usr/local/lib/python2.7/dist-packages/cinderclient/client.py", line 123, in request
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions     raise exceptions.from_response(resp, body)
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions InvalidInput: Invalid input received: Invalid volume: Volume status must be available to reserve. (HTTP 400) (Request-ID: req-1af67f41-54a7-4539-89f2-c08d45184153)
  2016-10-11 19:28:54.097 3865 ERROR nova.api.openstack.extensions

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


References