This is a question from a change [1] which adds a new changes-before filter to the servers, os-instance-actions and os-migrations APIs.

For context, the os-instance-actions API stopped accepting undefined query parameters in 2.58 when we added paging support.

The os-migrations API stopped allowing undefined query parameters in 2.59 when we added paging support.

The open question on the review is if we should change GET /servers and GET /servers/detail to stop allowing undefined query parameters starting with microversion 2.66 [2]. Apparently when we added support for 2.5 and 2.26 for listing servers we didn't think about this. It means that a user can specify a query parameter, documented in the API reference, but with an older microversion and it will be silently ignored. That is backward compatible but confusing from an end user perspective since it would appear to them that the filter is not being applied, when it fact it would be if they used the correct microversion.

So do we want to start enforcing query parameters when listing servers to our defined list with microversion 2.66 or just continue to silently ignore them if used incorrectly?

Note that starting in Rocky, the Neutron API will start rejecting unknown query parameteres [3] if the filter-validation extension is enabled (since Neutron doesn't use microversions). So there is some precedent in OpenStack for starting to enforce query parameters.





OpenStack Development Mailing List (not for usage questions)

Reply via email to