← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1496055] Re: Status-line of HTTP responce is wrong

 

** Changed in: cinder
       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/1496055

Title:
  Status-line of HTTP responce is wrong

Status in Cinder:
  Fix Released
Status in OpenStack Compute (nova):
  Fix Committed

Bug description:
  Some negative tempest test cases fail when nova is ran by Apache(NOVA_USE_MOD_WSGI=True).
  For example:
  2015-09-08 09:30:29.696 | tempest.api.compute.admin.test_hosts_negative.HostsAdminNegativeTestJSON.test_update_host_with_invalid_maintenance_mode[id-ab1e230e-5e22-41a9-8699-82b9947915d4,negative]
  2015-09-08 09:30:29.697 | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  2015-09-08 09:30:29.697 | 
  2015-09-08 09:30:29.697 | Captured traceback:
  2015-09-08 09:30:29.697 | ~~~~~~~~~~~~~~~~~~~
  2015-09-08 09:30:29.697 |     Traceback (most recent call last):
  2015-09-08 09:30:29.697 |       File "tempest/api/compute/admin/test_hosts_negative.py", line 95, in test_update_host_with_invalid_maintenance_mode
  2015-09-08 09:30:29.697 |         maintenance_mode='invalid')
  2015-09-08 09:30:29.697 |       File "/opt/stack/new/tempest/.tox/full/local/lib/python2.7/site-packages/testtools/testcase.py", line 422, in assertRaises
  2015-09-08 09:30:29.697 |         self.assertThat(our_callable, matcher)
  2015-09-08 09:30:29.697 |       File "/opt/stack/new/tempest/.tox/full/local/lib/python2.7/site-packages/testtools/testcase.py", line 433, in assertThat
  2015-09-08 09:30:29.698 |         mismatch_error = self._matchHelper(matchee, matcher, message, verbose)
  2015-09-08 09:30:29.698 |       File "/opt/stack/new/tempest/.tox/full/local/lib/python2.7/site-packages/testtools/testcase.py", line 483, in _matchHelper
  2015-09-08 09:30:29.698 |         mismatch = matcher.match(matchee)
  2015-09-08 09:30:29.698 |       File "/opt/stack/new/tempest/.tox/full/local/lib/python2.7/site-packages/testtools/matchers/_exception.py", line 108, in match
  2015-09-08 09:30:29.698 |         mismatch = self.exception_matcher.match(exc_info)
  2015-09-08 09:30:29.698 |       File "/opt/stack/new/tempest/.tox/full/local/lib/python2.7/site-packages/testtools/matchers/_higherorder.py", line 62, in match
  2015-09-08 09:30:29.698 |         mismatch = matcher.match(matchee)
  2015-09-08 09:30:29.698 |       File "/opt/stack/new/tempest/.tox/full/local/lib/python2.7/site-packages/testtools/testcase.py", line 414, in match
  2015-09-08 09:30:29.698 |         reraise(*matchee)
  2015-09-08 09:30:29.698 |       File "/opt/stack/new/tempest/.tox/full/local/lib/python2.7/site-packages/testtools/matchers/_exception.py", line 101, in match
  2015-09-08 09:30:29.698 |         result = matchee()
  2015-09-08 09:30:29.698 |       File "/opt/stack/new/tempest/.tox/full/local/lib/python2.7/site-packages/testtools/testcase.py", line 969, in __call__
  2015-09-08 09:30:29.699 |         return self._callable_object(*self._args, **self._kwargs)
  2015-09-08 09:30:29.699 |       File "tempest/services/compute/json/hosts_client.py", line 54, in update_host
  2015-09-08 09:30:29.699 |         resp, body = self.put("os-hosts/%s" % hostname, request_body)
  2015-09-08 09:30:29.699 |       File "/opt/stack/new/tempest/.tox/full/local/lib/python2.7/site-packages/tempest_lib/common/rest_client.py", line 319, in put
  2015-09-08 09:30:29.699 |         return self.request('PUT', url, extra_headers, headers, body)
  2015-09-08 09:30:29.699 |       File "/opt/stack/new/tempest/.tox/full/local/lib/python2.7/site-packages/tempest_lib/common/rest_client.py", line 643, in request
  2015-09-08 09:30:29.699 |         resp, resp_body)
  2015-09-08 09:30:29.699 |       File "/opt/stack/new/tempest/.tox/full/local/lib/python2.7/site-packages/tempest_lib/common/rest_client.py", line 680, in _error_checker
  2015-09-08 09:30:29.699 |         raise exceptions.UnexpectedContentType(str(resp.status))
  2015-09-08 09:30:29.699 |     tempest_lib.exceptions.UnexpectedContentType: Unexpected content type provided
  2015-09-08 09:30:29.699 |     Details: 500

  Root cause of this - nova doesn't attach textual phrase after error code in status line of HTTP response.
  But there is a strict rule about constructing status line for HTTP:
  '...Status-Line, consisting of the protocol version followed by a numeric status code and its associated textual phrase, with each element separated by SP characters' (http://www.faqs.org/rfcs/rfc2616.html)

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