如何使用 Horizon 或 Openstack 客户端获取 openstack 版本?
How to get openstack version using Horizon or Openstack client?
如何使用 Horizon 或 OpenStack 客户端获取 OpenStack 版本?
当我 运行 命令 openstack --version
时,我得到以下输出:
openstack 3.15.0
现在,我们如何才能知道它是哪个版本的 openstack,例如牛顿,公斤?
另一个问题,如果我可以访问 Horizon dashbord,是否可以从 UI 获取 openstack 的版本?
安装在OpenStack中的每个服务都是一个带有版本的包。所以通常我们会得到个别服务的版本。例如要找到 nova
版本,
nova --version
如果你想知道nova相关的所有包,
pip list | grep nova
从上面,您将获得 nova 客户端和 nova 版本,然后在 **https://releases.openstack.org/teams/nova.html 中搜索版本。在这里,您将获得根据 OpenStack 发行版名称分离的版本。
我认为值得注意的是,命令行中的 openstack --version
只会为您提供您正在查看的系统上的 openstack client 版本. openstack host list
或 nova service-list
可能会让您更好地了解 openstack 服务在您的 openstack 部署中的位置 运行。
我不记得看到过通过 Horizon 查看特定 OpenStack 服务版本的方法。从给定服务主机(如 nova、neutron、cinder、keystone)上的命令行,您应该能够列出已安装的包。
我认为规范安装使用了发行版的包管理器:
对于基于 yum 的系统,如 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 将是 Newton 版本。查看 nova 版本 here. For the list of releases, look here。
从 openstack --version 命令获取输出并与以下内容进行比较。
洛基 3.16.0
皇后区 3.14.0
派克 3.12.0
奥卡塔 3.8.1
牛顿 3.2.0
三鹰 2.3.0
自由 1.7.3
公斤 1.0.6
朱诺 0.4.1
冰屋 0.3.1
对于未来的版本,请参阅:
https://docs.openstack.org/releasenotes/python-openstackclient/
nova-manage --version
会给你 OpenStack 版本。
输出将是一个与字母表中的字母相对应的数字。例如
如果输出是 18 那么它的 OpenStack ROCKY 版本,因为 18 对应于字母表中的第 18 个字母。
17- Queen
18- Rocky
19- Stein
知道您正在使用哪个版本的 OpenStack 环境总是好的。自由之前
版本,除 Swift 之外的所有项目都有一个基于年份和月份的版本。从 Liberty 开始,所有
组件具有传统的版本结构 X.Y.Z,其中 X 在一个版本中始终相同。
以下是 Mitaka 的示例:
keystone-manage --version
9.0.0
nova-manage --version
13.0.0
这里是 OpenStack Kilo 中使用的老式版本约定的示例:
keystone-manage --version
2015.1.0
nova-manage --version
2015.1.0
您还可以在右上角的管理菜单中的系统信息选项卡上找到版本
页面底部。在 Table 11-2 中,列出了几个最新的 OpenStack 版本。
Table 11-2。 OpenStack 发布
系列发布 初始发布日期
朱诺 2014.2 2014 年 10 月 16 日
公斤 2015.1 2015 年 4 月 30 日
自由新星 12.0;梯形校正 8.0;中子 7.0; Swift 2.4 2015 年 10 月 15 日
三鹰新星 13.0;梯形校正 9.0;中子 8.0; Swift 2.6 2016 年 4 月 7 日
牛顿新星14.0;梯形校正 10.0;中子9.0; Swift2.8 2016年10月6日(计划中)
来自 Openstack 文档
nova-manage --version
将为您提供 OpenStack 版本。输出将是一个与字母表中的字母相对应的数字。例如,如果输出是 18 那么它的 OpenStack ROCKY 版本,因为 18 对应于字母表中的第 18 个字母。
如果您没有 运行 的权限(HTTP 错误 403):
openstack service list
openstack host list
然后在 OS_AUTH_URL
地址查找“id”版本,在您的租户 RC 文件中找到(您可以在 Horizon 中的 Project > API Access 下下载 RC 文件)。
例如,这里我使用 curl
和 jq
从以下位置过滤 ID 版本:https://my.openstack.redhat.com:13000/v3
:
$ curl https://my.openstack.redhat.com:13000/v3 | jq '.[] | .id'
"v3.10"
根据https://docs.openstack.org/api-ref/identity/v3/
我的 Openstack 版本是 3.10,也称为“Queen”(或 RHOSP 13)。
在 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
(你懂的)。也许这包括您正在寻找的信息。
如何使用 Horizon 或 OpenStack 客户端获取 OpenStack 版本?
当我 运行 命令 openstack --version
时,我得到以下输出:
openstack 3.15.0
现在,我们如何才能知道它是哪个版本的 openstack,例如牛顿,公斤?
另一个问题,如果我可以访问 Horizon dashbord,是否可以从 UI 获取 openstack 的版本?
安装在OpenStack中的每个服务都是一个带有版本的包。所以通常我们会得到个别服务的版本。例如要找到 nova
版本,
nova --version
如果你想知道nova相关的所有包,
pip list | grep nova
从上面,您将获得 nova 客户端和 nova 版本,然后在 **https://releases.openstack.org/teams/nova.html 中搜索版本。在这里,您将获得根据 OpenStack 发行版名称分离的版本。
我认为值得注意的是,命令行中的 openstack --version
只会为您提供您正在查看的系统上的 openstack client 版本. openstack host list
或 nova service-list
可能会让您更好地了解 openstack 服务在您的 openstack 部署中的位置 运行。
我不记得看到过通过 Horizon 查看特定 OpenStack 服务版本的方法。从给定服务主机(如 nova、neutron、cinder、keystone)上的命令行,您应该能够列出已安装的包。
我认为规范安装使用了发行版的包管理器:
对于基于 yum 的系统,如 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 将是 Newton 版本。查看 nova 版本 here. For the list of releases, look here。
从 openstack --version 命令获取输出并与以下内容进行比较。
洛基 3.16.0 皇后区 3.14.0 派克 3.12.0 奥卡塔 3.8.1 牛顿 3.2.0 三鹰 2.3.0 自由 1.7.3 公斤 1.0.6 朱诺 0.4.1 冰屋 0.3.1
对于未来的版本,请参阅: https://docs.openstack.org/releasenotes/python-openstackclient/
nova-manage --version
会给你 OpenStack 版本。
输出将是一个与字母表中的字母相对应的数字。例如
如果输出是 18 那么它的 OpenStack ROCKY 版本,因为 18 对应于字母表中的第 18 个字母。
17- Queen
18- Rocky
19- Stein
知道您正在使用哪个版本的 OpenStack 环境总是好的。自由之前
版本,除 Swift 之外的所有项目都有一个基于年份和月份的版本。从 Liberty 开始,所有
组件具有传统的版本结构 X.Y.Z,其中 X 在一个版本中始终相同。
以下是 Mitaka 的示例:
keystone-manage --version
9.0.0
nova-manage --version
13.0.0
这里是 OpenStack Kilo 中使用的老式版本约定的示例:
keystone-manage --version
2015.1.0
nova-manage --version
2015.1.0
您还可以在右上角的管理菜单中的系统信息选项卡上找到版本
页面底部。在 Table 11-2 中,列出了几个最新的 OpenStack 版本。
Table 11-2。 OpenStack 发布
系列发布 初始发布日期
朱诺 2014.2 2014 年 10 月 16 日
公斤 2015.1 2015 年 4 月 30 日
自由新星 12.0;梯形校正 8.0;中子 7.0; Swift 2.4 2015 年 10 月 15 日
三鹰新星 13.0;梯形校正 9.0;中子 8.0; Swift 2.6 2016 年 4 月 7 日
牛顿新星14.0;梯形校正 10.0;中子9.0; Swift2.8 2016年10月6日(计划中)
来自 Openstack 文档
nova-manage --version
将为您提供 OpenStack 版本。输出将是一个与字母表中的字母相对应的数字。例如,如果输出是 18 那么它的 OpenStack ROCKY 版本,因为 18 对应于字母表中的第 18 个字母。
如果您没有 运行 的权限(HTTP 错误 403):
openstack service list
openstack host list
然后在 OS_AUTH_URL
地址查找“id”版本,在您的租户 RC 文件中找到(您可以在 Horizon 中的 Project > API Access 下下载 RC 文件)。
例如,这里我使用 curl
和 jq
从以下位置过滤 ID 版本:https://my.openstack.redhat.com:13000/v3
:
$ curl https://my.openstack.redhat.com:13000/v3 | jq '.[] | .id'
"v3.10"
根据https://docs.openstack.org/api-ref/identity/v3/
我的 Openstack 版本是 3.10,也称为“Queen”(或 RHOSP 13)。
在 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
(你懂的)。也许这包括您正在寻找的信息。