<div dir="ltr">Some comments inline.<div><br></div><div>Salvatore<br><div class="gmail_extra"><br><div class="gmail_quote">On 15 July 2015 at 10:24, Alex Xu <span dir="ltr"><<a href="mailto:soulxu@gmail.com" target="_blank">soulxu@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">2015-07-15 5:14 GMT+08:00 Matt Riedemann <span dir="ltr"><<a href="mailto:mriedem@linux.vnet.ibm.com" target="_blank">mriedem@linux.vnet.ibm.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
On 7/14/2015 3:43 PM, Cale Rath wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
<br>
I created a patch to fail on the proxy call to Neutron for used limits,<br>
found here: <a href="https://review.openstack.org/#/c/199604/" rel="noreferrer" target="_blank">https://review.openstack.org/#/c/199604/</a><br>
<br>
This patch was done because of this:<br>
<a href="http://docs.openstack.org/developer/nova/project_scope.html?highlight=proxy#no-more-api-proxies" rel="noreferrer" target="_blank">http://docs.openstack.org/developer/nova/project_scope.html?highlight=proxy#no-more-api-proxies</a>,<br>
where it’s stated that Nova shouldn’t be proxying API calls.<br>
<br>
That said, Matt Riedemann brings up the point that this breaks the case<br>
where Neutron is installed and we want to be more graceful, rather than<br>
just raising an exception.  Here are some options:<br>
<br>
1. fail - (the code in the patch above)<br>
2. proxy to neutron for floating ips and security groups - that's what<br>
the original change was doing back in havana<br>
3. return -1 or something for floatingips/security groups to indicate<br>
that we don't know, you have to get those from neutron<br>
<br>
Does anybody have an opinion on which option we should do regarding API<br>
proxies in this case?<br>
<br>
Thanks,<br>
<br>
Cale Rath<br>
<br>
<br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br>
</blockquote>
<br>
I prefer the proxy option, despite that we don't want to do more proxies to other services, it's the least of all evils here in my opinion.<br>
<br>
I don't think we can do #1, that breaks anyone using those APIs and is using Neutron, so it's a non-starter.<br></blockquote><div><br></div></div></div><div>agree</div><span class=""><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
#3 is an API change in semantics which would at least be a microversion and is kind of clunky.<br></blockquote><div><br></div></span><div>agree too~</div></div></div></div></blockquote><div><br></div><div>Also it overlaps with Neutron semantics of returning -1 for "unlimited" and it could be misinterpreted.</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class=""><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
For #2 we at least have the nova.network.base_api which we didn't have in Havana when I was originally working on this, that would abstract the neutron-specific cruft out of the nova-api code.  The calls to neutron were pretty simple from what I remember - we could just resurrect the old patch:<br>
<br>
<a href="https://review.openstack.org/#/c/43822/" rel="noreferrer" target="_blank">https://review.openstack.org/#/c/43822/</a></blockquote><div><br></div></span><div>+1, but looks like this need new microversion also. It means after 2.x version, this api value is valid for neutron, before 2.x version, don't trust this api...</div></div></div></div></blockquote><div><br></div><div>This is correct, and makes sense in my opinion.</div><div>Still, I agree more that the final goal should be to stop proxying this calls.</div><div>#2 is in my opinion a good strategy for transitioning to #1. I am not sure whether it is acceptable to just document that retrieving limits in Nova for resources managed by other projects is deprecated and will not be allowed anymore in M or N.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class=""><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
Another option is #4, we mark the bug as won't fix and we log a warning if neutron is configured saying some of the resources aren't going to be correct, use the neutron API to get information for quotas on security groups, floating IPs, etc.  That's also kind of gross IMO, but it's an option.</blockquote><div><br></div></span><div>if we plan to deprecate network proxy api in no longer future, this is easy option.</div></div></div></div></blockquote><div><br></div><div>I am not sure this is a good option. The warning in this case should be returned to the user making the limits request; logging it just tells the operator somebody has retrieved limits using a proxy.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class=""><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span><font color="#888888"><br>
<br>
-- <br>
<br>
Thanks,<br>
<br>
Matt Riedemann<br>
<br>
<br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</font></span></blockquote></span></div><br></div></div>
<br>__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div></div></div>