]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commit
Cisco Nexus: maximum recursion error in ConnectionContext.__del__
authorDane LeBlanc <leblancd@cisco.com>
Sat, 15 Mar 2014 00:32:10 +0000 (20:32 -0400)
committerGerrit Code Review <review@openstack.org>
Wed, 19 Mar 2014 00:20:43 +0000 (00:20 +0000)
commitc36ddaf930ba309be3c127dc1836f28a8ab97c5d
tree7dbd18ab50d093d18b72d0d2d808ca17bfc42d3a
parent0009e474e23c84e5952696e4fc423fd69c9ed74d
Cisco Nexus: maximum recursion error in ConnectionContext.__del__

If DevStack is configured for the Cisco Nexus plugin, the following
error is observed:

Exception RuntimeError: 'maximum recursion depth exceeded' in <bound
method ConnectionContext.__del__ of
<neutron.openstack.common.rpc.amqp.ConnectionContext object at
0x403a3d0>> ignored

The root cause of the problem is that the Cisco Nexus plugin's
PluginV2.__gettattr__ method, a model object is being passed
as a value for a unicode %s format mod. Because the neutron server
has "lazy gettext" (deferred interpretation of unicode objects) enabled,
this causes many layers of recursive calls to deepcopy.

The fix is to pass a string object for the unicode %s mod field.

Change-Id: I0a07a0ab417add68e44cb1bca722cb0b4a71205b
Closes-Bug: #1286565
neutron/plugins/cisco/network_plugin.py
neutron/tests/unit/cisco/test_network_plugin.py