Bug 1384064 - In Newton python-webob 1.6.1 is required
Summary: In Newton python-webob 1.6.1 is required
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: python-webob
Version: 10.0 (Newton)
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: rc
: 10.0 (Newton)
Assignee: Jon Schlueter
QA Contact: Mike Burns
URL:
Whiteboard:
Depends On: 1384058
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-10-12 12:58 UTC by Michal Pryc
Modified: 2016-12-14 16:16 UTC (History)
6 users (show)

Fixed In Version: python-webob-1.6.1-2.el7ost
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1384058
Environment:
Last Closed: 2016-12-14 16:16:55 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2016:2948 0 normal SHIPPED_LIVE Red Hat OpenStack Platform 10 enhancement update 2016-12-14 19:55:27 UTC

Description Michal Pryc 2016-10-12 12:58:05 UTC
This is same as RDO issue, but for RHOS10 release.
Note that webob is runtime dependency for other components, meaning that it may be problematic for not only test scenarios.

+++ This bug was initially created as a clone of Bug #1384058 +++

Description of problem:

python-webob 1.4.1 is available, however upper-constraints.txt specifies 1.6.1 as minimum for Newton:

https://github.com/openstack/requirements/blob/stable/newton/upper-constraints.txt#L30

Without 1.6.1 unit some unit tests are failing.

--- Additional comment from Michal Pryc on 2016-10-12 08:51:50 EDT ---

Failed tests:

nova.tests.unit.api.openstack.placement.test_util.TestRequireContent.test_fail_no_content_type
----------------------------------------------------------------------------------------------
 
Captured traceback:
~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):
      File "nova/tests/unit/api/openstack/placement/test_util.py", line 163, in test_fail_no_content_type
        self.handler, req)
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 422, in assertRaises
        self.assertThat(our_callable, matcher)
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 433, in assertThat
        mismatch_error = self._matchHelper(matchee, matcher, message, verbose)
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 483, in _matchHelper
        mismatch = matcher.match(matchee)
      File "/usr/lib/python2.7/site-packages/testtools/matchers/_exception.py", line 108, in match
        mismatch = self.exception_matcher.match(exc_info)
      File "/usr/lib/python2.7/site-packages/testtools/matchers/_higherorder.py", line 62, in match
        mismatch = matcher.match(matchee)
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 414, in match
        reraise(*matchee)
      File "/usr/lib/python2.7/site-packages/testtools/matchers/_exception.py", line 101, in match
        result = matchee()
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 969, in __call__
        return self._callable_object(*self._args, **self._kwargs)
      File "nova/api/openstack/placement/util.py", line 115, in decorated_function
        json_formatter=json_error_formatter)
      File "/usr/lib/python2.7/site-packages/webob/exc.py", line 255, in __init__
        **kw)
      File "/usr/lib/python2.7/site-packages/webob/response.py", line 155, in __init__
        "Unexpected keyword: %s=%r" % (name, value))
    TypeError: Unexpected keyword: json_formatter=<function json_error_formatter at 0x781bf50>
   
 
nova.tests.unit.api.openstack.placement.test_handler.DispatchTest.test_no_match_with_map
----------------------------------------------------------------------------------------
 
Captured traceback:
~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):
      File "nova/tests/unit/api/openstack/placement/test_handler.py", line 58, in test_no_match_with_map
        self.mapper)
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 422, in assertRaises
        self.assertThat(our_callable, matcher)
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 433, in assertThat
        mismatch_error = self._matchHelper(matchee, matcher, message, verbose)
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 483, in _matchHelper
        mismatch = matcher.match(matchee)
      File "/usr/lib/python2.7/site-packages/testtools/matchers/_exception.py", line 108, in match
        mismatch = self.exception_matcher.match(exc_info)
      File "/usr/lib/python2.7/site-packages/testtools/matchers/_higherorder.py", line 62, in match
        mismatch = matcher.match(matchee)
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 414, in match
        reraise(*matchee)
      File "/usr/lib/python2.7/site-packages/testtools/matchers/_exception.py", line 101, in match
        result = matchee()
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 969, in __call__
        return self._callable_object(*self._args, **self._kwargs)
      File "nova/api/openstack/placement/handler.py", line 94, in dispatch
        json_formatter=util.json_error_formatter)
      File "/usr/lib/python2.7/site-packages/webob/exc.py", line 255, in __init__
        **kw)
      File "/usr/lib/python2.7/site-packages/webob/response.py", line 155, in __init__
        "Unexpected keyword: %s=%r" % (name, value))
    TypeError: Unexpected keyword: json_formatter=<function json_error_formatter at 0x8b9b050>
   
 
nova.tests.unit.api.openstack.placement.test_util.TestCheckAccept.test_fail_complex_no_match
--------------------------------------------------------------------------------------------
 
Captured traceback:
~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):
      File "nova/tests/unit/api/openstack/placement/test_util.py", line 50, in test_fail_complex_no_match
        self.handler, req)
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 422, in assertRaises
        self.assertThat(our_callable, matcher)
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 433, in assertThat
        mismatch_error = self._matchHelper(matchee, matcher, message, verbose)
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 483, in _matchHelper
        mismatch = matcher.match(matchee)
      File "/usr/lib/python2.7/site-packages/testtools/matchers/_exception.py", line 108, in match
        mismatch = self.exception_matcher.match(exc_info)
      File "/usr/lib/python2.7/site-packages/testtools/matchers/_higherorder.py", line 62, in match
        mismatch = matcher.match(matchee)
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 414, in match
        reraise(*matchee)
      File "/usr/lib/python2.7/site-packages/testtools/matchers/_exception.py", line 101, in match
        result = matchee()
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 969, in __call__
        return self._callable_object(*self._args, **self._kwargs)
      File "nova/api/openstack/placement/util.py", line 56, in decorated_function
        json_formatter=json_error_formatter)
      File "/usr/lib/python2.7/site-packages/webob/exc.py", line 255, in __init__
        **kw)
      File "/usr/lib/python2.7/site-packages/webob/response.py", line 155, in __init__
        "Unexpected keyword: %s=%r" % (name, value))
    TypeError: Unexpected keyword: json_formatter=<function json_error_formatter at 0x8b9b050>
   
 
nova.tests.unit.api.openstack.placement.test_util.TestRequireContent.test_fail_wrong_content_type
-------------------------------------------------------------------------------------------------
 
Captured traceback:
~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):
      File "nova/tests/unit/api/openstack/placement/test_util.py", line 173, in test_fail_wrong_content_type
        self.handler, req)
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 422, in assertRaises
        self.assertThat(our_callable, matcher)
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 433, in assertThat
        mismatch_error = self._matchHelper(matchee, matcher, message, verbose)
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 483, in _matchHelper
        mismatch = matcher.match(matchee)
      File "/usr/lib/python2.7/site-packages/testtools/matchers/_exception.py", line 108, in match
        mismatch = self.exception_matcher.match(exc_info)
      File "/usr/lib/python2.7/site-packages/testtools/matchers/_higherorder.py", line 62, in match
        mismatch = matcher.match(matchee)
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 414, in match
        reraise(*matchee)
      File "/usr/lib/python2.7/site-packages/testtools/matchers/_exception.py", line 101, in match
        result = matchee()
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 969, in __call__
        return self._callable_object(*self._args, **self._kwargs)
      File "nova/api/openstack/placement/util.py", line 115, in decorated_function
        json_formatter=json_error_formatter)
      File "/usr/lib/python2.7/site-packages/webob/exc.py", line 255, in __init__
        **kw)
      File "/usr/lib/python2.7/site-packages/webob/response.py", line 155, in __init__
        "Unexpected keyword: %s=%r" % (name, value))
    TypeError: Unexpected keyword: json_formatter=<function json_error_formatter at 0x8b9b050>
   
 
nova.tests.unit.api.openstack.placement.test_handler.DispatchTest.test_no_match_null_map
----------------------------------------------------------------------------------------
 
Captured traceback:
~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):
      File "nova/tests/unit/api/openstack/placement/test_handler.py", line 51, in test_no_match_null_map
        self.mapper)
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 422, in assertRaises
        self.assertThat(our_callable, matcher)
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 433, in assertThat
        mismatch_error = self._matchHelper(matchee, matcher, message, verbose)
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 483, in _matchHelper
        mismatch = matcher.match(matchee)
      File "/usr/lib/python2.7/site-packages/testtools/matchers/_exception.py", line 108, in match
        mismatch = self.exception_matcher.match(exc_info)
      File "/usr/lib/python2.7/site-packages/testtools/matchers/_higherorder.py", line 62, in match
        mismatch = matcher.match(matchee)
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 414, in match
        reraise(*matchee)
      File "/usr/lib/python2.7/site-packages/testtools/matchers/_exception.py", line 101, in match
        result = matchee()
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 969, in __call__
        return self._callable_object(*self._args, **self._kwargs)
      File "nova/api/openstack/placement/handler.py", line 94, in dispatch
        json_formatter=util.json_error_formatter)
      File "/usr/lib/python2.7/site-packages/webob/exc.py", line 255, in __init__
        **kw)
      File "/usr/lib/python2.7/site-packages/webob/response.py", line 155, in __init__
        "Unexpected keyword: %s=%r" % (name, value))
    TypeError: Unexpected keyword: json_formatter=<function json_error_formatter at 0x8ae9050>
   
 
nova.tests.unit.api.openstack.placement.test_util.TestCheckAccept.test_fail_no_match
------------------------------------------------------------------------------------
 
Captured traceback:
~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):
      File "nova/tests/unit/api/openstack/placement/test_util.py", line 40, in test_fail_no_match
        self.handler, req)
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 422, in assertRaises
        self.assertThat(our_callable, matcher)
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 433, in assertThat
        mismatch_error = self._matchHelper(matchee, matcher, message, verbose)
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 483, in _matchHelper
        mismatch = matcher.match(matchee)
      File "/usr/lib/python2.7/site-packages/testtools/matchers/_exception.py", line 108, in match
        mismatch = self.exception_matcher.match(exc_info)
      File "/usr/lib/python2.7/site-packages/testtools/matchers/_higherorder.py", line 62, in match
        mismatch = matcher.match(matchee)
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 414, in match
        reraise(*matchee)
      File "/usr/lib/python2.7/site-packages/testtools/matchers/_exception.py", line 101, in match
        result = matchee()
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 969, in __call__
        return self._callable_object(*self._args, **self._kwargs)
      File "nova/api/openstack/placement/util.py", line 56, in decorated_function
        json_formatter=json_error_formatter)
      File "/usr/lib/python2.7/site-packages/webob/exc.py", line 255, in __init__
        **kw)
      File "/usr/lib/python2.7/site-packages/webob/response.py", line 155, in __init__
        "Unexpected keyword: %s=%r" % (name, value))
    TypeError: Unexpected keyword: json_formatter=<function json_error_formatter at 0x8ae9050>

Comment 2 Mike Burns 2016-10-13 13:00:43 UTC
upper-contraints is not a minimum, it's a max.  A fix is happening upstream to bump the requirements.txt which is the minimum.  In parallel, we'll work on getting the newer webob

Comment 6 errata-xmlrpc 2016-12-14 16:16:55 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHEA-2016-2948.html


Note You need to log in before you can comment on or make changes to this bug.