18.6. オーバークラウドを RHEL8 の RHOSP17.1 にアップグレードする
RHEL 8 で RHOSP 17.1 コンテナーを実行できるようにオーバークラウドノードをアップグレードするには、コンテナー準備ファイル (ContainerImagePrepare
パラメーターを含むファイル) を更新する必要があります。このファイルを使用して、オーバークラウドのコンテナーイメージを取得するためのルールを定義します。
RHEL 8 ホストと RHEL 9 ホストの両方のコンテナー準備ファイルを更新する必要があります。
- RHEL 9 ホスト: すべてのコンテナーが RHEL9 ベースです。
-
RHEL 8 ホスト:
libvirt
とcollectd
を除くすべてのコンテナーが RHEL9 ベースです。libvirt
コンテナーとcollectd
コンテナーは、ホストと同じベースを使用する必要があります。
その後、更新をデプロイする前に、新しい OpenStackConfigGenerator
CR を生成する必要があります。
手順
-
コンテナー準備ファイル (
containers-prepare-parameter.yaml
) を開き、正しいイメージバージョンが取得されることを確認します。 ContainerImagePrepareRhel8
パラメーターをcontainers-prepare-parameter.yaml
に追加します。parameter_defaults: #default container image configuration for RHEL 9 hosts ContainerImagePrepare: - push_destination: false set: &container_image_prepare_rhel9_contents tag: 17.1.2 name_prefix: openstack- namespace: registry.redhat.io/rhosp-rhel9 ceph_namespace: registry.redhat.io/rhceph ceph_image: rhceph-5-rhel8 ceph_tag: latest ceph_alertmanager_image: ose-prometheus-alertmanager ceph_alertmanager_namespace: registry.redhat.io/openshift4 ceph_alertmanager_tag: v4.10 ceph_grafana_image: rhceph-5-dashboard-rhel8 ceph_grafana_namespace: registry.redhat.io/rhceph ceph_grafana_tag: latest ceph_node_exporter_image: ose-prometheus-node-exporter ceph_node_exporter_namespace: registry.redhat.io/openshift4 ceph_node_exporter_tag: v4.10 ceph_prometheus_image: ose-prometheus ceph_prometheus_namespace: registry.redhat.io/openshift4 ceph_prometheus_tag: v4.10 # RHEL8 hosts pin the collectd and libvirt containers to rhosp-rhel8 # To apply the following configuration, reference the followingparameter # in the role specific parameters below: <Role>ContainerImagePrepare ContainerImagePrepareRhel8: &container_image_prepare_rhel8 - push_destination: false set: *container_image_prepare_rhel9_contents excludes: - collectd - nova-libvirt - push_destination: false set: tag: 17.1.2 name_prefix: openstack- namespace: registry.redhat.io/rhosp-rhel8 ceph_namespace: registry.redhat.io/rhceph ceph_image: rhceph-5-rhel8 ceph_tag: latest ceph_alertmanager_image: ose-prometheus-alertmanager ceph_alertmanager_namespace: registry.redhat.io/openshift4 ceph_alertmanager_tag: v4.10 ceph_grafana_image: rhceph-5-dashboard-rhel8 ceph_grafana_namespace: registry.redhat.io/rhceph ceph_grafana_tag: latest ceph_node_exporter_image: ose-prometheus-node-exporter ceph_node_exporter_namespace: registry.redhat.io/openshift4 ceph_node_exporter_tag: v4.10 ceph_prometheus_image: ose-prometheus ceph_prometheus_namespace: registry.redhat.io/openshift4 ceph_prometheus_tag: v4.10 includes: - collectd - nova-libvirt # Initially all hosts are RHEL 8 so set the role specific container # image prepare parameter to the RHEL 8 configuration ControllerContainerImagePrepare: *container_image_prepare_rhel8 ComputeContainerImagePrepare: *container_image_prepare_rhel8 ...
-
upgrade.yaml
という名前の環境ファイルを作成します。 次の設定を
upgrade.yaml
ファイルに追加します。parameter_defaults: UpgradeInitCommand: | sudo subscription-manager repos --disable * if $( grep -q 9.2 /etc/os-release ) then sudo subscription-manager repos --enable=rhel-9.2-for-x86_64-baseos-eus-rpms --enable=rhel-9.2-for-x86_64-appstream-eus-rpms --enable=rhel-9.2-for-x86_64-highavailability-eus-rpms --enable=openstack-17.1-for-rhel-9-x86_64-rpms --enable=fast-datapath-for-rhel-9-x86_64-rpms else sudo subscription-manager repos --enable=rhel-8-for-x86_64-baseos-eus-rpms --enable=rhel-8-for-x86_64-appstream-eus-rpms --enable=rhel-8-for-x86_64-highavailability-eus-rpms --enable=openstack-17.1-for-rhel-8-x86_64-rpms --enable=fast-datapath-for-rhel-8-x86_64-rpms fi
-
disable_compute_service_check.yaml
という名前の環境ファイルを作成します。 次の設定を
disable_compute_service_check.yaml
ファイルに追加します。parameter_defaults: ExtraConfig: nova::workarounds::disable_compute_service_check_for_ffu: true parameter_merge_strategies: ExtraConfig: merge
-
デプロイメントに HCI が含まれている場合は、Red Hat Ceph Storage および HCI のパラメーターを RHOSP 16.2 の
ceph-ansible
値から RHOSP 17.1 のcephadm
値に更新します。詳細は、director Operator でハイパーコンバージドインフラストラクチャー (HCI) ストレージを設定するためのカスタム環境ファイル 参照してください。 ワークステーション上に
openstack-configgen-upgrade.yaml
という名前のファイルを作成して、"upgrade" という名前の新しいOpenStackConfigGenerator
CR を定義します。apiVersion: osp-director.openstack.org/v1beta1 kind: OpenStackConfigGenerator metadata: name: "upgrade" namespace: openstack spec: enableFencing: False gitSecret: git-secret heatEnvs: - ssl/tls-endpoints-public-dns.yaml - ssl/enable-tls.yaml - nova-hw-machine-type-upgrade.yaml - lifecycle/upgrade-prepare.yaml heatEnvConfigMap: heat-env-config-upgrade tarballConfigMap: tripleo-tarball-config-upgrade
ワークステーション上に
openstack-upgrade.yaml
という名前のファイルを作成して、オーバークラウドアップグレード用のOpenStackDeploy
CR を作成します。apiVersion: osp-director.openstack.org/v1beta1 kind: OpenStackDeploy metadata: name: upgrade spec: configVersion: <config_version> configGenerator: upgrade mode: upgrade
-
openstack-upgrade.yaml
ファイルを保存します。 OpenStackDeploy
リソースを作成します。$ oc create -f openstack-upgrade.yaml -n openstack
- デプロイが完了するまで待ちます。オーバークラウドノードが RHEL8 上で 17.1 コンテナーを実行するようになります。