[Openstack-operators] [nova] How to use the supported nova V2.1 and microversions in rdo (Liberty) deploy?

Steve Gordon sgordon at redhat.com
Sat Nov 7 21:09:05 UTC 2015


----- Original Message -----
> From: "quan hping" <quan_hping at heetian.com>
> To: "openstack-operators" <openstack-operators at lists.openstack.org>
> 
> Hi!
> I recently use rdo deploy a Liberty openstack in my lab.
> When I call nova v2.1
> API(http://developer.openstack.org/api-ref-compute-v2.1.html),the system
> retrun 404 not found.
> 
> Below is my package version:
> [root at rdo ~(keystone_admin)]# openstack --version
> openstack 1.7.1
> [root at rdo ~(keystone_admin)]# uname -r
> 3.10.0-229.20.1.el7.x86_64
> [root at rdo ~(keystone_admin)]# grep -i centos /etc/redhat-release
> CentOS Linux release 7.1.1503 (Core)
> [root at rdo ~(keystone_admin)]# rpm -qa|grep openstack-nova
> openstack-nova-scheduler-12.0.0-1.el7.noarch
> openstack-nova-conductor-12.0.0-1.el7.noarch
> openstack-nova-api-12.0.0-1.el7.noarch
> openstack-nova-novncproxy-12.0.0-1.el7.noarch
> openstack-nova-common-12.0.0-1.el7.noarch
> openstack-nova-compute-12.0.0-1.el7.noarch
> openstack-nova-cert-12.0.0-1.el7.noarch
> openstack-nova-console-12.0.0-1.el7.noarch
> [root at rdo ~(keystone_admin)]# rpm -qa|grep rdo
> rubygem-rdoc-4.0.0-25.el7_1.noarch
> rdo-release-liberty-2.noarch
> [root at rdo ~(keystone_admin)]# nova version-list
> +------+-----------+----------------------+-------------+---------+
> | Id   | Status    | Updated              | Min Version | Version |
> +------+-----------+----------------------+-------------+---------+
> | v2.0 | SUPPORTED | 2011-01-21T11:33:21Z |             |         |
> | v2.1 | CURRENT   | 2013-07-23T11:33:21Z | 2.1         | 2.12    |
> +------+-----------+----------------------+-------------+---------+
> [root at rdo ~(keystone_admin)]#nova --debug --service-type computev21 list
> EndpointNotFound: publicURL endpoint for computev21 service in RegionOne
> region not found
> ERROR (EndpointNotFound): publicURL endpoint for computev21 service in
> RegionOne region not found
> 
> Now I have a question:How to use nova v2.1 API in Liberty?
> Thanks

The API reference [1] certainly seems to indicate that there should be a /v2.1/ endpoint for Nova (e.g. it lists "/v2.1/​{tenant_id}​/servers") but my recollection was that we were trying to avoid this so that you would instead continue to use a /v2/ endpoint and the nova API server would determine which version the client supported based on whether or not it exposed a X-OpenStack-Nova-API-Version header, and if it did then by evaluating the version specified [2].

Have you tried just calling / on the /v2/ endpoint and seeing what it returns [3] - I'd expect it will say that the endpoint currently supports v2.1 without any new endpoint being required (basically the contents of nova version-list).

-Steve

[1] http://developer.openstack.org/api-ref-compute-v2.1.html
[2] https://specs.openstack.org/openstack/nova-specs/specs/kilo/implemented/api-microversions.html
[3] http://developer.openstack.org/api-ref-compute-v2.1.html#versions-v2.1



More information about the OpenStack-operators mailing list