10.2. 更新 director 软件包
重要
在执行以下操作前,请阅读 第 10.1 节 “升级前需要注意的信息” 中的信息。
重要
如需了解有关对这个过程中可能出现的问题进行故障排除的信息,请参阅 第 11.4 节 “对升级过程中出现的故障进行排除”。
为了把 director 软件包更新到最新的主版本,把 OpenStack Platform 的软件仓库从旧版本改为新版本。例如:
$ sudo subscription-manager repos --disable=rhel-7-server-openstack-7.0-rpms --disable=rhel-7-server-openstack-7.0-director-rpms $ sudo subscription-manager repos --enable=rhel-7-server-openstack-8-rpms --enable=rhel-7-server-openstack-8-director-rpms
这会把
yum
设置为使用最新的软件仓库。使用 yum
来更新 director:
$ sudo yum upgrade
在
yum update
运行完成后,以下 OpenStack 服务可能会失败。这是一个预期的结果。Undercloud 的升级命令会修正这些服务的配置。
如果 Undercloud 使用 SSL/TLS,把您的 SSL 证书添加到服务器的信任 store 中:
# sudo cp server-cert.pem /etc/pki/ca-trust/source/anchors/ # sudo update-ca-trust extract
director 使用
openstack underlcoud upgrade
命令来升级 Undercloud 环境。运行以下升级命令:
$ openstack undercloud upgrade
这会刷新 director 的配置并设置那些在版本更新过程中被取消设置的设置。运行这个命令不会删除任何存储的数据,如 Overcloud 的栈数据或环境中已存在节点的数据。
当更新完成后,检查 director 的 OpenStack 服务:
$ sudo systemctl list-units openstack-*
注意
openstack-keystone
服务的显示状态可能是失败,这是因为这个服务作为一个 WSGI 应用通过 httpd
运行。openstack-keystone
服务可以在更新完 director 软件包并运行 openstack undercloud upgrade
后被安全地禁用。
最后,检查 Overcloud 和它的节点是否存在:
$ source ~/stackrc $ openstack server list $ ironic node-list $ heat stack-list
当把 Overcloud 升级到 Red Hat OpenStack Platform 8 后,请注意以下问题:
- 如果 Underclouds 使用 SSL,在升级的过程中,到 VIPs 的访问可能会断开。如果发生了这个问题,在 Undercloud 中重启
keepalived
服务:$ systemctl restart keepalived
- Undercloud 的
admin
用户可能会需要一个没有包括在 Red Hat OpenStack Platform 8 中的一个额外的角色(_member_
)。这个角色对于 Overcloud 的通讯非常重要。创建这个角色,并把它添加到admin
租户中的admin
用户上。$ keystone role-create --name _member_ $ keystone user-role-add --user admin --role _member_ --tenant admin