So in the unit test run using: $ tox -vvv -e py27 -- -r glance.tests.unit.v1.test_registry_api.TestRegistryAPI.test_update_all_image_members I see that it is trying to serialize an HTTPNoContent exception and I also see a warning that in oslo.serialization 3.0 this will raise a ValueError() instead of printing a warning. Also see it here: http://logs.openstack.org/72/533872/6/check/openstack-tox-py27/4709e32/job-output.txt.gz#_2018-01-16_13_10_38_931593 File "/usr/lib64/python2.7/runpy.py", line 174, in _run_module_as_main "__main__", fname, loader, pkg_name) File "/usr/lib64/python2.7/runpy.py", line 72, in _run_code exec code in run_globals File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/subunit/run.py", line 149, in main() File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/subunit/run.py", line 145, in main stdout=stdout, exit=False) File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/testtools/run.py", line 187, in __init__ self.runTests() File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/testtools/run.py", line 221, in runTests self.result = testRunner.run(self.test) File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/subunit/run.py", line 70, in run test(result) File "/usr/lib64/python2.7/unittest/suite.py", line 70, in __call__ return self.run(*args, **kwds) File "/usr/lib64/python2.7/unittest/suite.py", line 108, in run test(result) File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/unittest2/suite.py", line 87, in __call__ return self.run(*args, **kwds) File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/unittest2/suite.py", line 126, in run test(result) File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/unittest2/suite.py", line 87, in __call__ return self.run(*args, **kwds) File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/unittest2/suite.py", line 126, in run test(result) File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/unittest2/suite.py", line 87, in __call__ return self.run(*args, **kwds) File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/unittest2/suite.py", line 126, in run test(result) File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/unittest2/case.py", line 673, in __call__ return self.run(*args, **kwds) File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/testtools/testcase.py", line 671, in run return run_test.run(result) File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/testtools/runtest.py", line 80, in run return self._run_one(actual_result) File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/testtools/runtest.py", line 94, in _run_one return self._run_prepared_result(ExtendedToOriginalDecorator(result)) File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/testtools/runtest.py", line 108, in _run_prepared_result self._run_core() File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/testtools/runtest.py", line 144, in _run_core self.case._run_test_method, self.result): File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/testtools/runtest.py", line 191, in _run_user return fn(*args, **kwargs) File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/testtools/testcase.py", line 719, in _run_test_method return self._get_test_method()() File "glance/tests/unit/v1/test_registry_api.py", line 1645, in test_update_all_image_members_bad_request req.get_response(self.api) File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/webob/request.py", line 1327, in send application, catch_exc_info=False) File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/webob/request.py", line 1291, in call_application app_iter = application(self.environ, start_response) File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/webob/dec.py", line 131, in __call__ resp = self.call_func(req, *args, **self.kwargs) File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/webob/dec.py", line 196, in call_func return self.func(req, *args, **kwargs) File "glance/common/wsgi.py", line 804, in __call__ response = req.get_response(self.application) File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/webob/request.py", line 1327, in send application, catch_exc_info=False) File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/webob/request.py", line 1291, in call_application app_iter = application(self.environ, start_response) File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/webob/dec.py", line 145, in __call__ return resp(environ, start_response) File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/routes/middleware.py", line 141, in __call__ response = self.app(environ, start_response) File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/webob/dec.py", line 145, in __call__ return resp(environ, start_response) File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/webob/dec.py", line 131, in __call__ resp = self.call_func(req, *args, **self.kwargs) File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/webob/dec.py", line 196, in call_func return self.func(req, *args, **kwargs) File "glance/common/wsgi.py", line 1240, in __call__ self.dispatch(self.serializer, action, response, action_result) File "glance/common/wsgi.py", line 1261, in dispatch return method(*args, **kwargs) File "glance/common/wsgi.py", line 1152, in default body = self.to_json(result) File "glance/common/wsgi.py", line 1148, in to_json return jsonutils.dump_as_bytes(data, default=self._sanitizer) File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/oslo_serialization/jsonutils.py", line 233, in dump_as_bytes serialized = dumps(obj, default=default, **kwargs) File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/oslo_serialization/jsonutils.py", line 217, in dumps return json.dumps(obj, default=default, **kwargs) File "/usr/lib64/python2.7/json/__init__.py", line 251, in dumps sort_keys=sort_keys, **kw).encode(obj) File "/usr/lib64/python2.7/json/encoder.py", line 207, in encode chunks = self.iterencode(o, _one_shot=True) File "/usr/lib64/python2.7/json/encoder.py", line 270, in iterencode return _iterencode(o, 0) File "glance/common/wsgi.py", line 1145, in _sanitizer return jsonutils.to_primitive(obj) File "/home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/oslo_serialization/jsonutils.py", line 139, in to_primitive traceback.print_stack() /home/devstack/openstack/glance/.tox/py27/lib/python2.7/site-packages/oslo_serialization/jsonutils.py:196: UserWarning: Cannot convert to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,))