---- On Tue, 15 Oct 2024 05:20:59 -0700 Stephen Finucane wrote ---
On Fri, 2024-10-11 at 21:50 +0000, Jeremy Stanley wrote:
On 2024-10-11 20:30:37 +0000 (+0000), Albert Braden wrote:
That was the issue. If I use the 5.5.0 client the problem goes away. Thanks for helping me find that! [...]
For what it's worth, I think the OpenStackClient maintainers would consider that a bug worth fixing. They generally want people to be able to use newer client versions with older existing OpenStack deployments, but it becomes increasingly hard to deploy older and older vintages of OpenStack services for automated testing of new changes in development, so sometimes regressions do slip in.
Yes, please. I took a quick look at this and spotted that the 'locked' filter is not currently supported by openstacksdk. I have proposed a fix and will backport that once merged:
Yeah, that is what I also found during debugging where 'locked' flag disappeared from the client to the nova API server, and it was SDKs did not have support. Thanks for proposing and backporting. -gmann
https://review.opendev.org/c/openstack/openstacksdk/+/932400 https://review.opendev.org/c/openstack/openstacksdk/+/932401 https://review.opendev.org/c/openstack/openstacksdk/+/932402 https://review.opendev.org/c/openstack/openstacksdk/+/932403 https://review.opendev.org/c/openstack/openstacksdk/+/932404
In general, openstackclient and openstacksdk should support everything but the most ancient OpenStack releases (we technically still support things like the identity v2 and block storage v2 APIs, as well as features like nova-network, though of course we have no ability to test these nowadays). It should be safe to use either library from pip to administer clouds from Mitaka through to Dalmatian. If you notice this isn't the case, meaning a feature stops working between releases and there's nothing in the release notes about it, then it's most likely a bug and should be reported.
As for why you don't get warning on the Wallaby OSC version when you don't pass '--os-compute-api-version': we migrated the 'server list' command from using novaclient under the hood to using openstack. openstacksdk encodes a maximum API microversion for each resource (in this case, the openstack.compute.v2.server.Server resource) and will attempt to use this unless told otherwise or if the server does not support it. In the latter case, it will downgrade the version unless the field is not supported.
Hope this helps, Stephen