简体   繁体   中英

How to get openstack version using Horizon or Openstack client?

How to get OpenStack version using Horizon or OpenStack client?

When I ran the command openstack --version , I got below output :

openstack 3.15.0

Now from this, how we can get which relesae of openstack it is eg newton, kilo?

Another question, if I have access to Horizon dashbord, is it possible to get the version of openstack from UI?

nova-manage --version will give you the OpenStack version. The output will be a number which corresponds to letter in the alphabet. For example if output is 18 then its OpenStack ROCKY Version, since 18 corresponds to 18th letter in the alphabet.

17- Queen 
18- Rocky
19- Stein

I think it's worth noting that openstack --version from the command line is only going to give you the version of the openstack client on the system you're looking at. openstack host list or nova service-list might give you a better idea of where openstack services are running in your openstack deployment.

I don't recall seeing a way to see specific OpenStack service versions through Horizon. From the command line on a given service's host (like nova, neutron, cinder, keystone), you should be able to list the packages as installed.

I think the canonical installation uses the distribution's package manager:

For yum-based systems like rhel and centos

sudo yum list installed | grep openstack
sudo yum list installed | grep nova

For aptitude-based systems

sudo dpkg -l | grep openstack
sudo dpkg -l | grep nova 

From there, you'll have to cross reference the release with the version from the OpenStack documentation. Nova version 14 would be the Newton release, for instance. See the nova versions here . For the list of releases, look here .

Each service which is installed in OpenStack is a package with a version. So usually we get versions of individual service. For example to find the nova version then,

 nova --version

If you want to know all packages related to nova then,

pip list | grep nova

From above, you will get the nova client and nova versions then search for the versions in ** https://releases.openstack.org/teams/nova.html . Here you will get the versions segregated with respect to OpenStack release names.

Get output from openstack --version command and compare against the following.

Rocky 3.16.0 Queens 3.14.0 Pike 3.12.0 Ocata 3.8.1 Newton 3.2.0 Mitaka 2.3.0 Liberty 1.7.3 Kilo 1.0.6 Juno 0.4.1 Icehouse 0.3.1

For future releases refer to:https://docs.openstack.org/releasenotes/python-openstackclient/

It is always good to know which version of OpenStack environment you are working with. Before the Liberty version, all projects except Swift had a version based on the year and month. Starting with Liberty, all components have a traditional version structure XYZ, where X is always the same in one release. Here is an example for Mitaka:
keystone-manage --version
9.0.0
nova-manage --version
13.0.0

And here is an example of the old-fashioned version convention used in OpenStack Kilo:
keystone-manage --version
2015.1.0
nova-manage --version
2015.1.0
Also you can find the version on the System Information tab in the Admin menu at the right corner of the page bottom. In Table 11-2 , several of the latest OpenStack releases are listed. Table 11-2. OpenStack Releases Series Releases Initial Release Date Juno 2014.2 October 16, 2014 Kilo 2015.1 April 30, 2015 Liberty Nova 12.0; Keystone 8.0; Neutron 7.0; Swift 2.4 October 15, 2015 Mitaka Nova 13.0; Keystone 9.0; Neutron 8.0; Swift 2.6 April 7, 2016 Newton Nova 14.0; Keystone 10.0; Neutron 9.0; Swift 2.8 October 6, 2016 (planned)

From Openstack docs

In case you don't have permissions (HTTP error 403) to run:

openstack service list
openstack host list

Then look for "id" version at OS_AUTH_URL address, found in your tenant RC file (you can download the RC file in Horizon, under Project > API Access).

For example, here I'm using curl and jq to filter id version from: https://my.openstack.redhat.com:13000/v3 :

$ curl https://my.openstack.redhat.com:13000/v3 | jq '.[] | .id'

"v3.10"

According to https://docs.openstack.org/api-ref/identity/v3/

My Openstack version is 3.10, which also known as "Queen" (or RHOSP 13).

In RHOSP you can simply check the file in controller

# cat /etc/rhosp-release
Red Hat OpenStack Platform release 13.0.10 (Queens)

This will give you the exact version of the openstack installed

nova-manage --version will give you the OpenStack version. The output will be a number which corresponds to letter in the alphabet. For example if output is 18 then its OpenStack ROCKY Version, since 18 corresponds to 18th letter in the alphabet.

The sad answer is: You can't .

At least this is true if you are just a user for an OpenStack setup and don't have access to the backplane, logging into the actual servers providing a service. The API is the only stable way to access the services. Each service may or may not have its own OpenStack version, they are not necessarily all the same.

In theory, looking up the service catalog should do the job you're asking for since it contains the endpoints for each service your OpenStack cloud provides. And part of the endpoint URLs is the endpoint version. Unfortunately that needs not necessarily match the module version of the service.

Looking up the catalog can be done like this:

openstack catalog list -c Endpoints -f json | jq '.[].Endpoints[]' | grep url| sort -u

(you get the idea). Maybe that includes the infromation you are looking for.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM