yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #12804
[Bug 1280738] Re: Neutron loading policy file too early
** Changed in: neutron
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1280738
Title:
Neutron loading policy file too early
Status in OpenStack Neutron (virtual network service):
Fix Released
Bug description:
From time to time, I could see that "neutron net-external-list" was
returning something empty for a non-admin user while this is not true
on my setup.
After quite some debugging, it turned out that it was failing because
of the policy (using the default policy.json, btw):
"get_network": "rule:admin_or_owner or rule:shared or rule:external"
This was not returning true. Clearly, "rule:external" should have (as
a reminder, this rule is: "external":
"field:networks:router:external=True")
After more debugging, I found out that the field check was comparing
u'True' with True. That is, the "True" that is in rule:external was a
unicode, and not a boolean.
Looking at extensions/external_net.py, though, I could see that
convert_to was set to attr.convert_to_boolean, so it should have
worked.
Adding more debug output, I found out that the policies were loaded
before the external-net extension was loaded. Therefore, the
convert_to field wasn't available yet, and so the conversion to false
wasn't true.
This all happened because there was some handling of an event before
the external-net extension was loaded, causing the policy file to be
loaded a bit too early.
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1280738/+subscriptions
References