[Bug 1657452] Re: Incompatibility with python-webob 1.7.0

OpenStack Infra 1657452 at bugs.launchpad.net
Wed Mar 29 15:17:11 UTC 2017


Reviewed:  https://review.openstack.org/423366
Committed: https://git.openstack.org/cgit/openstack/glance/commit/?id=7a843f7e1fb1bab504fea0b2c59bf7c22121da71
Submitter: Jenkins
Branch:    master

commit 7a843f7e1fb1bab504fea0b2c59bf7c22121da71
Author: Ian Cordasco <graffatcolmingov at gmail.com>
Date:   Fri Jan 20 16:38:10 2017 +0000

    Fix incompatibilities with WebOb 1.7
    
    WebOb 1.7 changed [0] how request bodies are determined to be
    readable. Prior to version 1.7, the following is how WebOb
    determined if a request body is readable:
      #1 Request method is one of POST, PUT or PATCH
      #2 ``content_length`` length is set
      #3 Special flag ``webob.is_body_readable`` is set
    
    The special flag ``webob.is_body_readable`` was used to signal
    WebOb to consider a request body readable despite the content length
    not being set. #1 above is how ``chunked`` Transfer Encoding was
    supported implicitly in WebOb < 1.7.
    
    Now with WebOb 1.7, a request body is considered readable only if
    ``content_length`` is set and it's non-zero [1]. So, we are only left
    with #2 and #3 now. This drops implicit support for ``chunked``
    Transfer Encoding Glance relied on. Hence, to emulate #1, Glance must
    set the the special flag upon checking the HTTP methods that may have
    bodies. This is precisely what this patch attemps to do.
    
    [0] https://github.com/Pylons/webob/pull/283
    [1] https://github.com/Pylons/webob/pull/283/files#diff-706d71e82f473a3b61d95c2c0d833b60R894
    
    Closes-bug: #1657459
    Closes-bug: #1657452
    Co-Authored-By: Hemanth Makkapati <hemanth.makkapati at rackspace.com>
    Change-Id: I19f15165a3d664d5f3a361f29ad7000ba2465a85


** Changed in: glance
       Status: Confirmed => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to glance in Ubuntu.
https://bugs.launchpad.net/bugs/1657452

Title:
  Incompatibility with python-webob 1.7.0

Status in Glance:
  Fix Released
Status in OpenStack Identity (keystone):
  Fix Released
Status in OpenStack Compute (nova):
  Confirmed
Status in oslo.middleware:
  Confirmed
Status in glance package in Ubuntu:
  Triaged
Status in keystone package in Ubuntu:
  Triaged
Status in nova package in Ubuntu:
  Triaged
Status in python-oslo.middleware package in Ubuntu:
  Triaged

Bug description:
  
  keystone.tests.unit.test_v3_federation.WebSSOTests.test_identity_provider_specific_federated_authentication
  -----------------------------------------------------------------------------------------------------------

  Captured traceback:
  ~~~~~~~~~~~~~~~~~~~
      Traceback (most recent call last):
        File "keystone/tests/unit/test_v3_federation.py", line 4067, in test_identity_provider_specific_federated_authentication
          self.PROTOCOL)
        File "keystone/federation/controllers.py", line 345, in federated_idp_specific_sso_auth
          return self.render_html_response(host, token_id)
        File "keystone/federation/controllers.py", line 357, in render_html_response
          headerlist=headers)
        File "/usr/lib/python2.7/dist-packages/webob/response.py", line 310, in __init__
          "You cannot set the body to a text value without a "
      TypeError: You cannot set the body to a text value without a charset

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



More information about the Ubuntu-openstack-bugs mailing list