Incorrect endpoints for Nova API: ERROR (UnsupportedVersion): Server doesn't support microversions
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Mirantis OpenStack | Status tracked in 10.0.x | |||||
10.0.x |
Fix Released
|
High
|
Denis Egorenko | |||
9.x |
Fix Released
|
High
|
Denis Egorenko |
Bug Description
Note: this issue was found on MOS 9.0 version #350 (downstream), this bug is actual for Mitaka release and next releases as well.
Steps To Reproduce:
1. Deploy cluster with 1 controller and 1 compute node.
2. Login via ssh to OpenStack controller node
3. Execute the following commands:
nova version-list
nova --os-compute-
nova --os-compute-
nova --os-compute-
nova --service-type computev21 --os-compute-
nova --service-type computev3 --os-compute-
Expected Result:
Nova CLI allow to use microversions from console
Observed Result:
We can see different errors for these CLI commands:
///////
root@node-1:~# nova version-list
Client supported API versions:
Minimum version 2.1
Maximum version 2.25
Server supported API versions:
+------
| Id | Status | Updated | Min Version | Version |
+------
| v2.0 | SUPPORTED | 2011-01-
| v2.1 | CURRENT | 2013-07-
+------
///////
root@node-1:~# nova --os-compute-
ERROR (UnsupportedVer
///////
root@node-1:~# nova --service-type computev3 --os-compute-
ERROR (KeyError): 'version'
///////
root@node-1:~# openstack service list
+------
| ID | Name | Type |
+------
| 038622c29251433
| 06255afd8cfd469
| 1e5ce79bba8142e
| 319df230648048d
| 5311c3e145254a3
| 6289e77f1a08474
| 79159afedaaa4bf
| 8e09b13334db402
| b5e6c0bceee34a9
| ba6c3fcd29214f2
| c1b7f9d5162f43a
| c2eed8e074184c5
| c8491c150617445
+------
summary: |
- Nova CLI client doesn't support Nova API microverions: ERROR - (UnsupportedVersion): Server doesn't support microversions + Incorrect endpoints for Nova API: ERROR (UnsupportedVersion): Server + doesn't support microversions |
tags: | added: on-verification |
root@node-1:~# nova --debug --os-compute- api-version 2.1 list parse(' v2token = keystoneauth1. loading. _plugins. identity. v2:Token' ) parse(' admin_token = keystoneauth1. loading. _plugins. admin_token: AdminToken' ) parse(' v3oidcauthcode = keystoneauth1. loading. _plugins. identity. v3:OpenIDConnec tAuthorizationC ode') parse(' v2password = keystoneauth1. loading. _plugins. identity. v2:Password' ) parse(' v3password = keystoneauth1. loading. _plugins. identity. v3:Password' ) parse(' v3oidcpassword = keystoneauth1. loading. _plugins. identity. v3:OpenIDConnec tPassword' ) parse(' token = keystoneauth1. loading. _plugins. identity. generic: Token') parse(' v3token = keystoneauth1. loading. _plugins. identity. v3:Token' ) parse(' password = keystoneauth1. loading. _plugins. identity. generic: Password' ) 192.168. 0.2:5000/ -H "Accept: application/json" -H "User-Agent: keystoneauth1/2.3.0 python- requests/ 2.9.1 CPython/2.7.6" :207) Starting new HTTP connection (1): 192.168.0.2 :387) "GET / HTTP/1.1" 300 591 04T00:00: 00Z", "media-types": [{"base": "application/json", "type": "application/ vnd.openstack. identity- v3+json" }], "id": "v3.6", "links": [{"href": "http:// 192.168. 0.2:5000/ v3/", "rel": "self"}]}, {"status": "stable", "updated": "2014-04- 17T00:00: 00Z", "media-types": [{"base": "application/json", "type": "application/ vnd.openstack. identity- v2.0+json" }], "id": "v2.0", "links": [{"href": "http:// 192.168. 0.2:5000/ v2.0/", "rel": "self"}, {"href": "http:// docs.openstack. org/", "type": "text/html", "rel": "describedby"}]}]}}
DEBUG (extension:157) found extension EntryPoint.
DEBUG (extension:157) found extension EntryPoint.
DEBUG (extension:157) found extension EntryPoint.
DEBUG (extension:157) found extension EntryPoint.
DEBUG (extension:157) found extension EntryPoint.
DEBUG (extension:157) found extension EntryPoint.
DEBUG (extension:157) found extension EntryPoint.
DEBUG (extension:157) found extension EntryPoint.
DEBUG (extension:157) found extension EntryPoint.
DEBUG (session:248) REQ: curl -g -i -X GET http://
INFO (connectionpool
DEBUG (connectionpool
DEBUG (session:277) RESP: [300] Content-Length: 591 Vary: X-Auth-Token Server: Apache Connection: close Date: Fri, 13 May 2016 10:41:25 GMT Content-Type: application/json
RESP BODY: {"versions": {"values": [{"status": "stable", "updated": "2016-04-
DEBUG (v2:63) Making authentication request to http:// 192.168. 0.2:5000/ v2.0/tokens :242) Resetting dropped connection: 192.168.0.2 :387) "POST /v2.0/tokens HTTP/1.1" 200 4863 192.168. 0.2:8774/ v2/d9e2d67d894b 4943aa55f6edc03 8c5d4 -H "User-Agent: python-novaclient" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}55149916c d912dd7d6c02f04 07d418bef90a142 c" :207) Starting new HTTP connection (1): 192.168.0.2 :387) "GET /v2/d9e2d67d894 b4943aa55f6edc0 38c5d4 HTTP/1.1" 404 52 Request- Id: req-5a2d2d67- 7bf2-4f94- b1df-5145e3ec22 fc
INFO (connectionpool
DEBUG (connectionpool
DEBUG (session:248) REQ: curl -g -i -X GET http://
INFO (connectionpool
DEBUG (connectionpool
DEBUG (session:277) RESP: [404] Date: Fri, 13 May 2016 10:41:25 GMT Connection: close Content-Type: text/plain; charset=UTF-8 Content-Length: 52 X-Compute-
RESP BODY: 404 Not Found
The resource could not be found.
DEBUG (session:248) REQ: curl -g -i -X GET h...