模块升级
按照当前社区( http://docs.openstack.org/developer/tripleo-docs/post_deployment/package_update.html )以及 Red Hat 官网( https://access.redhat.com/documentation/en/red-hat-openstack-platform/10/paged/upgrading-red-hat-openstack-platform/chapter-2-director-based-environments-performing-updates-to-minor-versions )提供资料,针对 tripleO 部署完成 OpenStack 平台后进行平台相关软件升级的步骤各不相同,其中社区中针对升级包的介绍非常简单,仅仅是 undercloud 中的一条命令:
openstack overcloud update stack -i overcloud
而且对命令的说明也介绍了,该条命令执行后所触发的动作为在相应 overcloud 节点上执行 yum update 操作。
而红帽提供内容较为复杂,分多步骤完成:
- 升级 undercloud 中相应内容
- 升级 undercloud 中的 overcloud 镜像
- 通过 tripleO 升级 overcloud 中相应的内容
明确的限制如下:
**配置了 instance HA 的集群中不适用**
我们来看一下红帽对这部分内容的具体介绍。
升级 undercloud
分为以下几个步骤:
- 停止 undercloud 中所有 openstack 相关服务
- 执行命令升级 undercloud 相关软件包
yum update python-tripleoclient
- 执行命令升级 undercloud
openstack undercloud upgrade
- 检查 undercloud 中所有相关服务状态
- 确认 undercloud 中 ironic 及 heat 相关资源情况
升级 undercloud 镜像
通过一条命令可以将 undercloud 中的镜像进行升级
openstack overcloud image upload --update-existing --image-path ~/images/.
升级 overcloud
RH 针对 undercloud 的升级分了两个步骤:
制定一个 update plan命令示例如下,
openstack overcloud deploy --stack overcloud -i --update-plan-only \
--templates \
-e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \
-e /home/stack/templates/network-environment.yaml \
-e /home/stack/templates/storage-environment.yaml \
-e /home/stack/templates/rhel-registration/environment-rhel-registration.yaml \
-e /usr/share/openstack-tripleo-heat-templates/environments/updates/update-from-vip.yaml \
-e /home/stack/templates/param-updates.yaml
执行这个 plan,这里的动作和社区介绍内容一致,
openstack overcloud update stack -i overcloud
在升级过程中,-i 参数会引入很多断点,让我们可以逐步的完成升级过程,而不是并行的在所有节点上完成相关动作。
小结
从现有的资料来看,无论是红帽还是社区,tripleO 针对 overcloud 的升级控制粒度完全依靠于 yum 源服务器中的包,所以升级的风险一定程度上决定于包版本管理。