In the scenario where cinderclient supports a maximum API version of 3.64, but the server supports 3.65, the client will say "downgrading to 3.64 based on server support". This is wrong because it is downgrading based on the client, not the server support.
$ OS_VOLUME_API_VERSION=3.65 cinder --debug snapshot-create 6c041f3c-6a1a-4e92-a5ee-4502e07b8e60 --force=False
<snip>
DEBUG:keystoneauth:REQ: curl -g -i -X GET http://192.168.122.83/volume/ -H "Accept: application/json" -H "OpenStack-API-Version: volume 3.64" -H "User-Agent: python-cinderclient" -H "X-Auth-Token: {SHA256}b264a8a87d1bc9a9205aa2a342d5e0517cb0551ce672c5887dc4dc40d685ba5c"
DEBUG:keystoneauth:RESP: [300] Connection: close Content-Length: 760 Content-Type: application/json Date: Tue, 27 Jul 2021 12:54:48 GMT OpenStack-API-Version: volume 3.0 Server: Apache/2.4.41 (Ubuntu) Vary: OpenStack-API-Version
DEBUG:keystoneauth:RESP BODY: {"versions": [{"id": "v2.0", "status": "DEPRECATED", "version": "", "min_version": "", "updated": "2017-02-25T12:00:00Z", "links": [{"rel": "describedby", "type": "text/html", "href": "https://docs.openstack.org/"}, {"rel": "self", "href": "http://192.168.122.83/volume/v2/"}], "media-types": [{"base": "application/json", "type": "application/vnd.openstack.volume+json;version=2"}]}, {"id": "v3.0", "status": "CURRENT", "version": "3.65", "min_version": "3.0", "updated": "2021-05-03T00:00:00Z", "links": [{"rel": "describedby", "type": "text/html", "href": "https://docs.openstack.org/"}, {"rel": "self", "href": "http://192.168.122.83/volume/v3/"}], "media-types": [{"base": "application/json", "type": "application/vnd.openstack.volume+json;version=3"}]}]}
WARNING (shell:548) API version 3.65 requested,
WARNING:cinderclient.shell:API version 3.65 requested,
WARNING (shell:549) downgrading to 3.64 based on server support.
WARNING:cinderclient.shell:downgrading to 3.64 based on server support.