如何使用Horizon或openstack客户端获取openstack版本



如何使用Horizon或OpenStack客户端获得OpenStack版本?

当我运行命令openstack --version时,我得到了以下输出:

openstack 3.15.0

从这里,我们如何得到openstack的哪个关系,例如牛顿,千克?

另一个问题是,如果我可以访问Horizon dashbord,是否可以从UI中获得openstack的版本?

我认为值得注意的是,命令行中的openstack --version只会为您提供您正在查看的系统上openstack客户端的版本。openstack host listnova service-list可能会让您更好地了解openstack服务在openstack部署中的运行位置。

我不记得有什么方法可以通过Horizon查看特定的OpenStack服务版本。从给定服务主机上的命令行(如nova、中子、煤渣、keystone),您应该能够列出已安装的包。

我认为规范安装使用了发行版的包管理器:

适用于rhel和centos 等基于百胜的系统

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

对于基于能力的系统

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

从那时起,您将不得不将该版本与OpenStack文档中的版本进行交叉引用。例如,Nova版本14将是牛顿版本。点击此处查看nova版本。有关发布的列表,请查看此处。

nova-manage --version将为您提供OpenStack版本。输出将是一个与字母表中的字母相对应的数字。例如如果输出是18,那么它的OpenStack ROCKY版本,因为18对应于字母表中的第18个字母。

17- Queen 
18- Rocky
19- Stein

安装在OpenStack中的每个服务都是一个带有版本的包。所以我们通常会得到个别服务的版本。例如,要找到nova版本,则

nova --version

如果你想知道所有与nova相关的软件包,

pip list | grep nova

从上面,您将获得nova客户端和nova版本,然后在中搜索版本**https://releases.openstack.org/teams/nova.html.在这里,您将获得与OpenStack发布名称相关的隔离版本。

从openstack--version命令获取输出,并与以下内容进行比较。

Rocky 3.16.0皇后区3.14.0派克3.12.0Ocata 3.8.1牛顿3.2.0Mitaka 2.3.0自由1.7.3Kilo 1.0.6Juno 0.4.1冰屋0.3.1

有关未来版本,请参阅:https://docs.openstack.org/releasenotes/python-openstackclient/

了解您使用的OpenStack环境的版本总是很好的。自由之前版本,除Swift外,所有项目都有一个基于年份和月份的版本。从自由开始,所有组件具有传统的版本结构X.Y.Z,其中X在一个版本中始终相同。以下是Mitaka的示例:
keystone-manage --version
9.0.0
nova-manage --version
13.0

以下是OpenStack Kilo中使用的老式版本约定的示例:
keystone-manage --version
2015.1.0
nova-manage --version
22015.1.0
此外,您还可以在页面底部。在表11-2中,列出了几个最新的OpenStack版本。表11-2。OpenStack发布系列发布初始发布日期2014年6月2日2014年10月16日Kilo 2015.1 2015年4月30日Liberty Nova 12.0;Keystone 8.0;中子7.0;Swift 2.4 2015年10月15日Mitaka Nova 13.0;Keystone 9.0;中子8.0;Swift 2.6 2016年4月7日Newton Nova 14.0;Keystone 10.0;中子9.0;Swift 2.8 2016年10月6日(计划)

来自Openstack文档

在RHOSP中,您可以简单地检查控制器中的文件

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

这将为您提供openstack安装的的确切版本

可悲的答案是:你不能。

至少,如果您只是OpenStack设置的用户,并且无法访问背板,无法登录到提供服务的实际服务器,那么这是正确的。API是访问服务的唯一稳定方式。每个服务可能有也可能没有自己的OpenStack版本,它们不一定都是一样的。

理论上,查找服务目录应该可以满足您的要求,因为它包含OpenStack云提供的每个服务的端点。端点URL的一部分是端点版本不幸的是不一定需要与服务的模块版本匹配。

查找目录可以这样做:

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

(你明白了)。也许这包括你正在寻找的信息。

如果您没有权限(HTTP错误403)运行:

openstack service list
openstack host list

然后寻找";id";位于OS_AUTH_URL地址的版本,可在租户RC文件中找到(您可以在Horizon中的Project>API Access下下载RC文件)。

例如,这里我使用curljq从:https://my.openstack.redhat.com:13000/v3:过滤id版本

$ curl https://my.openstack.redhat.com:13000/v3 | jq '.[] | .id'
"v3.10"
# Or:
$ curl https://my.openstack.redhat.com:13000 | jq -r '.versions.values[] | .id'
v3.10

根据https://docs.openstack.org/api-ref/identity/v3/

我的Openstack版本是3.10;女王;(或RHOSP 13)。

nova-manage --version将为您提供OpenStack版本。输出将是一个与字母表中的字母相对应的数字。例如,如果输出是18,那么它的OpenStack ROCKY版本,因为18对应于字母表中的第18个字母。

最新更新