While running the unit tests I am seeing this error (and more like this):
======================================================================
ERROR: test_create_network_with_portsecurity_false (quantum.tests.unit.nicira.test_nicira_plugin.TestNiciraPortSecurity)
----------------------------------------------------------------------
Traceback (most recent call last): File "quantum/quantum/tests/unit/test_extension_portsecurity.py", line 198, in test_create_network_with_portsecurity_false
port_security_enabled=False)
File "quantum/quantum/tests/unit/test_db_plugin.py", line 225, in _create_network
return network_req.get_response(self.api)
File "quantum/.venv/local/lib/python2.7/site-packages/webob/request.py", line 1296, in send
application, catch_exc_info=False)
File "quantum/.venv/local/lib/python2.7/site-packages/webob/request.py", line 1260, in call_application
app_iter = application(self.environ, start_response)
File "quantum/.venv/local/lib/python2.7/site-packages/webob/dec.py", line 144, in __call__
return resp(environ, start_response)
File "quantum/.venv/local/lib/python2.7/site-packages/routes/middleware.py", line 131, in __call__
response = self.app(environ, start_response)
File "quantum/.venv/local/lib/python2.7/site-packages/webob/dec.py", line 144, in __call__
return resp(environ, start_response)
File "quantum/.venv/local/lib/python2.7/site-packages/webob/dec.py", line 130, in __call__
resp = self.call_func(req, *args, **self.kwargs)
File "quantum/.venv/local/lib/python2.7/site-packages/webob/dec.py", line 195, in call_func
return self.func(req, *args, **kwargs)
File "quantum/quantum/api/v2/resource.py", line 109, in resource
body = serializer.serialize(result)
File "quantum/quantum/wsgi.py", line 228, in serialize
return self.dispatch(data, action=action)
File "quantum/quantum/wsgi.py", line 218, in dispatch
return action_method(*args, **kwargs)
File "quantum/quantum/wsgi.py", line 238, in default
return jsonutils.dumps(data)
File "quantum/quantum/openstack/common/jsonutils.py", line 130, in dumps
return json.dumps(value, default=default, **kwargs)
File "/usr/lib/python2.7/json/__init__.py", line 238, in dumps
**kw).encode(obj)
File "/usr/lib/python2.7/json/encoder.py", line 201, in encode
chunks = self.iterencode(o, _one_shot=True)
File "/usr/lib/python2.7/json/encoder.py", line 264, in iterencode
return _iterencode(o, 0)
ValueError: Circular reference detected
OSLO seems to have fixed this in it's wsgi version:
https://review.openstack.org/#/c/18877
Proposing to port this as a defensive fix.
Hrm, I just cloned a fresh copy of quantum and I don't see these errors. Any ideas why?