[openstack-dev] How to make a change in openstack/common

Day, Phil philip.day at hp.com
Sun Feb 10 21:43:09 UTC 2013


Hi Folks,

I've been tracking down a bug in Nova: https://bugs.launchpad.net/nova/+bug/1118608,  and have determined that in part its due to what seems to be an arbitrary recursion limit in common/jsonutils/to-primitive:


The query that is breaking this is security_group_rule_get_by_security_group, which returns a set of rules, which can have the structure:

rule -> grantee_group -> Instance -> Instance_type

The current version of to_primitive fails to encode the instance_type, which leads to an exception in the network/api layer.    As a quick hack, increasing the limit to 4 works in DevStack.

It seems to me that the cleanest fix would be to add "max_depth=3" as an extra parameter to  to_primitive, and then pass it through each recursion.   I could then provide a different value for just this one call from Nova.

However this is my first time venturing into changing openstack/common - so I'd appreciate some pointers on how to start.   I'm assuming that I start by pushing the change for review against   https://github.com/openstack/oslo-incubator - but it's not clear to me what I then need to do before I can get that change into Nova so I can add the extra parameter to the call from conductor/manager.

Any pointers from someone who's been down this route already please ?

Thanks
Phil
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20130210/c3e37b14/attachment.html>


More information about the OpenStack-dev mailing list