<div dir="ltr">I prepared a patch that forces the use of 2.40 api version if it's available for that particular endpoint. Instead of waiting for the microversion patch, I simply copied the needed fragments from it -- we can fix that later once we have proper microversion support implemented.<div><br></div><div><a href="https://review.openstack.org/#/c/424585/">https://review.openstack.org/#/c/424585/</a><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 24, 2017 at 4:08 PM, Diana Clarke <span dir="ltr"><<a href="mailto:diana.joan.clarke@gmail.com" target="_blank">diana.joan.clarke@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">It was done like that to circumvent the existing possibility DoS-like<br>
usage requests when there are thousands of instances.<br>
<br>
Some of the history behind that decision can be found in the spec<br>
discussions [1].<br>
<br>
And an easier to read spec can be found here [2].<br>
<br>
[1] <a href="https://review.openstack.org/#/c/386771/" rel="noreferrer" target="_blank">https://review.openstack.org/#<wbr>/c/386771/</a><br>
[2] <a href="https://specs.openstack.org/openstack/nova-specs/specs/ocata/approved/paginate-simple-tenant-usage.html" rel="noreferrer" target="_blank">https://specs.openstack.org/<wbr>openstack/nova-specs/specs/<wbr>ocata/approved/paginate-<wbr>simple-tenant-usage.html</a><br>
<span class="HOEnZb"><font color="#888888"><br>
--diana<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Tue, Jan 24, 2017 at 4:11 AM, Radomir Dopieralski<br>
<<a href="mailto:openstack@sheep.art.pl">openstack@sheep.art.pl</a>> wrote:<br>
> No, for some reason Nova will now always limit the number of entries it<br>
> sends in a single response, no matter what microversion you use. If you use<br>
> microversion of at least 2.40, it will let you request more responses, to<br>
> get all the entries. I don't know why they did it like that.<br>
><br>
> On Tue, Jan 24, 2017 at 9:52 AM, Rob Cresswell (rcresswe)<br>
> <<a href="mailto:rcresswe@cisco.com">rcresswe@cisco.com</a>> wrote:<br>
>><br>
>> As I understand it, if someone configures Nova to use 2.40 via settings,<br>
>> then it will use 2.40 for every request. This could likely break Horizon in<br>
>> weird ways, which makes it seem risky to try and support it.<br>
>><br>
>> What I don’t really understand about this FFE, is why we need to modify<br>
>> the behaviour at all; if we keep using an old microversion (I think it<br>
>> defaults to 2.1?) then shouldn’t behaviour stay exactly the same?<br>
>><br>
>> Rob<br>
>><br>
>> > On 23 Jan 2017, at 21:08, Richard Jones <<a href="mailto:r1chardj0n3s@gmail.com">r1chardj0n3s@gmail.com</a>> wrote:<br>
>> ><br>
>> > [I'm on vacation, so can't look into this too deeply, sorry]<br>
>> ><br>
>> > I'm not sure I follow Rob's point here. Does the patch<br>
>> > <a href="https://review.openstack.org/#/c/410337" rel="noreferrer" target="_blank">https://review.openstack.org/#<wbr>/c/410337</a> just check the version to see<br>
>> > if it's >= 2.40 and take action appropriately? I don't see how it<br>
>> > changes anything to force requesting 2.40 with every request? Then<br>
>> > again, I've not been able to look into how the current clients'<br>
>> > microversion code is implemented/broken. Is it just that *declaring*<br>
>> > the 2.40 version in <a href="https://review.openstack.org/#/c/422642" rel="noreferrer" target="_blank">https://review.openstack.org/#<wbr>/c/422642</a> results in<br>
>> > all requests being forced to use that version?<br>
>> ><br>
>> ><br>
>> >     Richard<br>
>> ><br>
>> > On 23 January 2017 at 23:10, Radomir Dopieralski<br>
>> > <<a href="mailto:openstack@sheep.art.pl">openstack@sheep.art.pl</a>> wrote:<br>
>> >> Yes, to do it differently we need to add the microversion support patch<br>
>> >> that<br>
>> >> you are working on, and make use of it, or write a patch that has<br>
>> >> equivalent<br>
>> >> functionality.<br>
>> >><br>
>> >> On Fri, Jan 20, 2017 at 6:57 PM, Rob Cresswell<br>
>> >> <<a href="mailto:robert.cresswell@outlook.com">robert.cresswell@outlook.com</a>> wrote:<br>
>> >>><br>
>> >>> Just a thought: With the way we currently do microversions, wouldnt<br>
>> >>> this<br>
>> >>> request 2.40 for every request ? There's a pretty good chance that<br>
>> >>> would<br>
>> >>> break things.<br>
>> >>><br>
>> >>> Rob<br>
>> >>><br>
>> >>> On 20 January 2017 at 00:02, Richard Jones <<a href="mailto:r1chardj0n3s@gmail.com">r1chardj0n3s@gmail.com</a>><br>
>> >>> wrote:<br>
>> >>>><br>
>> >>>> FFE granted for the three patches. We need to support that nova API<br>
>> >>>> change.<br>
>> >>>><br>
>> >>>> On 20 January 2017 at 01:28, Radomir Dopieralski<br>
>> >>>> <<a href="mailto:openstack@sheep.art.pl">openstack@sheep.art.pl</a>><br>
>> >>>> wrote:<br>
>> >>>>> I would like to request a feature freeze exception for the following<br>
>> >>>>> patch:<br>
>> >>>>><br>
>> >>>>> <a href="https://review.openstack.org/#/c/410337" rel="noreferrer" target="_blank">https://review.openstack.org/#<wbr>/c/410337</a><br>
>> >>>>><br>
>> >>>>> This patch adds support for retrieving the simple tenant usages from<br>
>> >>>>> Nova in<br>
>> >>>>> chunks, and it is necessary for correct data given that related<br>
>> >>>>> patches<br>
>> >>>>> have<br>
>> >>>>> been already merged in Nova. Without<br>
>> >>>>> it, the data received will be truncated.<br>
>> >>>>><br>
>> >>>>> In order to actually use that patch, however, it is necessary to set<br>
>> >>>>> the<br>
>> >>>>> Nova API version to at least<br>
>> >>>>> version 3.40. For this, it's necessary to also add this patch:<br>
>> >>>>><br>
>> >>>>> <a href="https://review.openstack.org/422642" rel="noreferrer" target="_blank">https://review.openstack.org/<wbr>422642</a><br>
>> >>>>><br>
>> >>>>> However, that patch will not work, because of a bug in the<br>
>> >>>>> VersionManager,<br>
>> >>>>> which for some reason<br>
>> >>>>> uses floating point numbers for specifying versions, and thus<br>
>> >>>>> understands<br>
>> >>>>> 2.40 as 2.4. To fix that, it<br>
>> >>>>> is also necessary to merge this patch:<br>
>> >>>>><br>
>> >>>>> <a href="https://review.openstack.org/#/c/410688" rel="noreferrer" target="_blank">https://review.openstack.org/#<wbr>/c/410688</a><br>
>> >>>>><br>
>> >>>>> I would like to request an exception for all those three patches.<br>
>> >>>>><br>
>> >>>>> An alternative to this would be to finish and merge the microversion<br>
>> >>>>> support, and modify the first patch to make use of it. Then we would<br>
>> >>>>> need<br>
>> >>>>> exceptions for those two patches.<br>
>> >>>>><br>
>> >>>>><br>
>> >>>>><br>
>> >>>>> ______________________________<wbr>______________________________<wbr>______________<br>
>> >>>>> OpenStack Development Mailing List (not for usage questions)<br>
>> >>>>> Unsubscribe:<br>
>> >>>>> <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.<wbr>openstack.org?subject:<wbr>unsubscribe</a><br>
>> >>>>> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack-dev</a><br>
>> >>>>><br>
>> >>>><br>
>> >>>><br>
>> >>>><br>
>> >>>> ______________________________<wbr>______________________________<wbr>______________<br>
>> >>>> OpenStack Development Mailing List (not for usage questions)<br>
>> >>>> Unsubscribe:<br>
>> >>>> <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.<wbr>openstack.org?subject:<wbr>unsubscribe</a><br>
>> >>>> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack-dev</a><br>
>> >>><br>
>> >>><br>
>> >>><br>
>> >>><br>
>> >>> ______________________________<wbr>______________________________<wbr>______________<br>
>> >>> OpenStack Development Mailing List (not for usage questions)<br>
>> >>> Unsubscribe:<br>
>> >>> <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.<wbr>openstack.org?subject:<wbr>unsubscribe</a><br>
>> >>> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack-dev</a><br>
>> >>><br>
>> >><br>
>> >><br>
>> >><br>
>> >> ______________________________<wbr>______________________________<wbr>______________<br>
>> >> OpenStack Development Mailing List (not for usage questions)<br>
>> >> Unsubscribe:<br>
>> >> <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.<wbr>openstack.org?subject:<wbr>unsubscribe</a><br>
>> >> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack-dev</a><br>
>> >><br>
>> ><br>
>> ><br>
>> > ______________________________<wbr>______________________________<wbr>______________<br>
>> > OpenStack Development Mailing List (not for usage questions)<br>
>> > Unsubscribe:<br>
>> > <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.<wbr>openstack.org?subject:<wbr>unsubscribe</a><br>
>> > <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack-dev</a><br>
>><br>
>> ______________________________<wbr>______________________________<wbr>______________<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.<wbr>openstack.org?subject:<wbr>unsubscribe</a><br>
>> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack-dev</a><br>
><br>
><br>
><br>
> ______________________________<wbr>______________________________<wbr>______________<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.<wbr>openstack.org?subject:<wbr>unsubscribe</a><br>
> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack-dev</a><br>
><br>
<br>
______________________________<wbr>______________________________<wbr>______________<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.<wbr>openstack.org?subject:<wbr>unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack-dev</a><br>
</div></div></blockquote></div><br></div>