Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

リリースノート

Red Hat OpenStack Platform 14

Red Hat OpenStack Platform 14 リリースの詳細

OpenStack Documentation Team

Red Hat Customer Content Services

概要

本書には、Red Hat OpenStack Platform の主要機能、機能拡張、既知の問題について記載します。

第1章 はじめに

1.1. 本リリースについて

Red Hat OpenStack Platform の本リリースは、OpenStack「Rocky」リリースをベースとしており、Red Hat OpenStack Platform 固有の追加機能や既知の問題、解決済みの問題が含まれています。

本書には、Red Hat OpenStack Platform 固有の変更のみを記載しています。OpenStack「Rocky」のリリースノートは、https://releases.openstack.org/rocky/index.html で参照してください。

Red Hat OpenStack Platform は、他の Red Hat 製品が提供するコンポーネントを使用します。これらのコンポーネントのサポートに関する詳しい情報は、以下のリンクを参照してください。

Red Hat OpenStack Platform Life Cycle

Red Hat OpenStack Platform を評価するには、以下のリンク先で登録してください。

OpenStack を理解する

注記

Red Hat Enterprise Linux High Availability Add-On は、Red Hat OpenStack Platform の各種ユースケースで利用することができます。このアドオンに関する詳細情報は、「LINUX プラットフォーム - Red Hat Enterprise Linux」で参照してください。また、Red Hat OpenStack Platform と併用できるパッケージバージョンに関する情報は、「Support Policies for RHEL High Availability Clusters - Cluster Stacks and Resource Managers」を参照してください。

1.2. 要件

Red Hat OpenStack Platform の本バージョンは、最新の Red Hat Enterprise Linux の完全サポート対象リリース上で動作します。

Red Hat OpenStack Platform の Dashboard は、OpenStack のリソースやサービスを管理することができる Web ベースのインターフェースです。本リリースの Dashboard は、以下の Web ブラウザーの最新安定版上で動作します。

  • Chrome
  • Firefox
  • Firefox ESR
  • Internet Explorer 11 以降 (互換モード が無効な場合)
注記

Red Hat OpenStack Platform をデプロイする前には、利用可能なデプロイメントメソッドの特性を考慮することが重要です。詳しくは、「Installing and Managing Red Hat OpenStack Platform」の記事を参照してください。

1.3. デプロイメント制限事項

Red Hat OpenStack Platform のデプロイメント制限事項の一覧は、「Deployment Limits for Red Hat OpenStack Platform」の記事を参照してください。

1.4. データベースサイズの管理

Red Hat OpenStack Platform 環境内における MariaDB データベースのサイズの維持管理に関する推奨プラクティスは、「Database Size Management for Red Hat Enterprise Linux OpenStack Platform」の記事を参照してください。

1.5. 認定済みのドライバーとプラグイン

Red Hat OpenStack Platform の認定済みドライバー/プラグインの一覧は、「Component, Plug-In, and Driver Support in Red Hat OpenStack Platform」の記事を参照してください。

1.6. 認定済みゲストオペレーティングシステム

Red Hat OpenStack Platform の認定済みゲストオペレーティングシステムの一覧は、「Certified Guest Operating Systems in Red Hat OpenStack Platform and Red Hat Enterprise Virtualization」の記事を参照してください。

1.7. Bare Metal Provisioning 対応オペレーティングシステム

Bare Metal Provisioning (ironic) で、Red Hat OpenStack Platform のベアメタルノードにインストールすることのできるゲストオペレーティングシステムの一覧は、「Supported Operating Systems Deployable With Bare Metal Provisioning (ironic)」の記事を参照してください。

1.8. ハイパーバイザーのサポート

Red Hat OpenStack Platform の本リリースは、libvirt ドライバーとの組み合わせ (コンピュートノード上で KVM をハイパーバイザーで使用する) においてのみサポート対象となります。

Ironic は、Red Hat OpenStack Platform 7 (Kilo) リリースから完全にサポートされています。Ironic により、一般的なテクノロジー (PXE ブートや IPMI) を使用したベアメタルマシンのプロビジョニングが可能となり、多様なハードウェアに対応する一方で、ベンダー固有の機能を追加するためのプラグ可能なドライバーをサポートすることができます。Red Hat OpenStack Platform の本リリースは、Ironic と共に動作します。

Red Hat は、非推奨の VMware の「direct-to-ESX」ハイパーバイザーや KVM 以外の libvirt ハイパーバイザーなど、他の Compute 仮想化ドライバーに対するサポートは提供していません。

1.9. コンテンツ配信ネットワーク (CDN) のリポジトリー

本項では、Red Hat OpenStack Platform 14 のデプロイに必要なリポジトリーの設定について説明します。

コンテンツ配信ネットワーク (CDN) から Red Hat OpenStack Platform 14 をインストールすることができます。そのためには、正しいリポジトリーを使用するように subscription-manager を設定します。

CDN リポジトリーを有効にするには、以下のコマンドを実行します。

#subscription-manager repos --enable=[reponame]

CDN リポジトリーを無効にするには、以下のコマンドを実行します。

#subscription-manager repos --disable=[reponame]

表1.1 必須のリポジトリー (x86_64)

リポジトリー名リポジトリーラベル

Red Hat Enterprise Linux 7 Server (RPMS)

rhel-7-server-rpms

Red Hat Enterprise Linux 7 Server - RH Common (RPMs)

rhel-7-server-rh-common-rpms

Red Hat Enterprise Linux High Availability (for RHEL 7 Server)

rhel-ha-for-rhel-7-server-rpms

Red Hat OpenStack Platform 14 for RHEL 7 (RPMs)

rhel-7-server-openstack-14-rpms

Red Hat Enterprise Linux 7 Server - Extras (RPMs)

rhel-7-server-extras-rpms

表1.2 任意のリポジトリー (x86_64)

リポジトリー名リポジトリーラベル

Red Hat Enterprise Linux 7 Server - Optional

rhel-7-server-optional-rpms

Red Hat OpenStack Platform 14 Operational Tools for RHEL 7 (RPMs)

rhel-7-server-openstack-14-optools-rpms

表1.3 必須のリポジトリー (ppc64le)

リポジトリー名リポジトリーラベル

Red Hat Enterprise Linux for IBM Power, little endian

rhel-7-for-power-le-rpms

Red Hat OpenStack Platform 14 for RHEL 7 (RPMs)

rhel-7-server-openstack-14-for-power-le-rpms

無効にするリポジトリー

以下の表には、Red Hat OpenStack Platform 14 が正常に機能するために無効にする必要のあるリポジトリーをまとめています。

表1.4 無効にするリポジトリー

リポジトリー名リポジトリーラベル

Red Hat CloudForms Management Engine

"cf-me-*"

Red Hat Enterprise Virtualization

"rhel-7-server-rhev*"

Red Hat Enterprise Linux 7 Server - Extended Update Support

"*-eus-rpms"

警告

Red Hat OpenStack Platform のリポジトリーは、Extra Packages for Enterprise Linux (EPEL) ソフトウェアリポジトリーで提供されているパッケージと競合する場合があります。EPEL ソフトウェアリポジトリーを有効にしているシステムでの Red Hat OpenStack Platform の使用はサポートされていません。

1.10. 製品サポート

以下のリソースをご利用いただけます。

カスタマーポータル

Red Hat カスタマーポータルでは、OpenStack デプロイメントのプランニング、デプロイ、メンテナンスを支援するために、以下のような幅広いリソースを提供しています。

  • 製品マニュアル
  • ナレッジベース記事およびソリューション
  • テクニカルブリーフ
  • サポートケース管理

カスタマーポータルには https://access.redhat.com/ からアクセスしてください。

メーリングリスト

Red Hat は、OpenStack ユーザーに適した公開メーリングリストを提供しています。

  • rhsa-announce メーリングリストは、Red Hat OpenStack Platform など、全 Red Hat 製品のセキュリティー関連の修正リリースに関する通知を提供します。

https://www.redhat.com/mailman/listinfo/rhsa-announce でサブスクライブしてください。

第2章 最も重要な新機能

本項では、Red Hat OpenStack Platform の今回のリリースにおける最も重要な新機能の概要を説明します。

2.1. Red Hat OpenStack Platform Director

本項では、director の最も重要な新機能について説明します。

director を使用した Ansible 活用のデプロイメント

今回のリリースで、デプロイメントプロセスに Ansible が組み込まれるようになりました。これにより、ドライランを含む特定タスクや目的のタスクの実施に Ansible ツールを使用することができます。以下に具体例を挙げます。

  • Ansible が、config-download と呼ばれる機能を使用して director のソフトウェア設定を実施するようになりました。

    • この機能は従来の Red Hat OpenStack Platform 13 ではテクノロジープレビューでしたが、Red Hat OpenStack Platform 14 では一般提供の機能になっています。
  • 引き続き Heat によりソフトウェア設定は定義されますが、適用はされません。

    • Heat により設定が可能です。
    • ansible-playbook が設定をダウンロードし、続いて設定を適用します。アンダークラウドは Ansible のコントロールノードとして機能します。
高度なサブスクリプションマネージャー機能

特定のサブスクリプション/プールを消費するロールを定義できるようになりました。つまり、必要なサブスクリプションだけを使用することができます。

  • サブスクリプション管理のために、新たな Ansible ロールを追加。
  • 豊富な管理オプション。
  • ロールごとにサブスクリプション/プールの割り当てが可能。
オーバークラウドイメージからの Ceph および OpenStack サービスの削除

コンテナーの実装により、以下のサービスに変更が加えられました。

  • OpenStack サービスの削除。
  • Ceph パッケージの削除。
  • OpenStack クライアントは引き続きインストールされます。
  • デプロイメントに必要な OpenStack の最小コンテンツ。

    • python-heat-agents は引き続きインストールされる点に注意してください。
  • Ceph のエンタイトルメントはどのノードでも不要になりました (その代わりに製品 SKU が利用可能です)。
コンテナーイメージビルドの自動化

director を使用して、個別の定義をもとにカスタマイズしたコンテナーイメージをビルドできるようになりました。これにより、デプロイメント前の追加の手動手順を省くことができます。

  • イメージのカスタマイズを自動化する新たな Ansible ロール。
  • オペレーターが Docker ファイルを定義します。
  • director により指定した定義をもとに拡張コンテナーイメージをビルドし、それをレジストリーにプッシュすることができます。
コンテナー化および統一されたアンダークラウド

本リリースでは、アンダークラウドとオーバークラウドのインストールに統一された手順が使われています。これにより、オーバークラウドのデプロイメント機能を活用することができます。

  • それぞれの手順を習得したり維持したりする必要はありません。
  • アンダークラウドはコンテナー内で実行されます。
  • オーバークラウドのデプロイプロセスが改善されました。
  • 必要なサービスのセットを定義することができます。
  • このアプローチにより、Red Hat OpenStack Platform の検証が容易になります。

2.2. Bare Metal サービス

本項では、Bare Metal (ironic) サービスの最も重要な新機能について説明します。

ベアメタルへのデプロイメントのオプション
OSP 14 の director では、openshift-ansible テンプレートを使用して RHEL のベアメタルノードに OpenShift Container Platform をデプロイすることができます。この際、オペレーターは director を操作するだけで、テンプレートを意識する必要はありません。director により、OCP ノードを追加および削除することもできます。

2.3. Ceph Storage

本項では、Ceph Storage の最も重要な新機能について説明します。

director を使用した多層 Ceph Storage の作成および管理

OpenStack director を使用すると、特定の層に属する新たな Ceph ノードを Ceph クラスターに追加することで、さまざまな Red Hat Ceph Storage パフォーマンス層をデプロイすることができます。

たとえば、SSD ドライブを持つ新たなオブジェクトストレージデーモン (OSD) ノードを既存の Ceph クラスターに追加して、これらのノードのデータを保存する専用の Block Storage (cinder) バックエンドを作成することができます。新たな Block Storage ボリュームを作成するユーザーは、希望するパフォーマンス層に HDD と新たな SSD のどちらかを選択することができます。

このようなデプロイメントでは、Red Hat OpenStack Platform director はカスタム CRUSH マップを ceph-ansible に渡す必要があります。CRUSH マップによりディスクパフォーマンスに応じて OSD ノードを分割することができますが、この機能を物理インフラストラクチャーレイアウトのマッピングに使用することもできます。

ceph-ansible との統合の改善
本リリースでは、新たな config-download 機能と連携するように director の ceph-ansible 統合が書き直され、ユーザー体験が向上しています。Ansible の external_deploy_steps タグを使用して、director の Ceph デプロイメントに関するトラブルシューティングをより簡単に実施することができます。

2.4. Compute

本項では、Compute サービスの最も重要な新機能について説明します。

送信/受信キューのサイズ変更
libvirt および virtio インターフェースの送受信トラフィックのキューサイズを設定することができます。必要に応じて各ホストまたは各ゲストのキューサイズを定義して、パフォーマンスを向上させ、トラフィックユースケースの増加に対応することができます。送信/受信キューサイズのパラメーターは、デプロイメント前であれば該当するロールデータファイルで、デプロイメント後であれば nova.conf ファイルで、それぞれ設定することができます。
SR-IOV の信頼済み Virtual Function (VF)
インスタンスを信頼済みに指定することができます。これにより VF の MAC アドレスを変更し、ゲストインスタンスから直接プロミスキャスモードを有効にすることができます。この機能は、インスタンスのフェイルオーバー VF を直接インスタンスから設定するのに役立ちます。
Nova 用 NFS バックエンド
NFS エクスポートからコンピュートインスタンスをマウントして、インスタンス用に共有 NFS ストレージバックエンドを維持することができます。この機能は、Glance および Cinder 用の NFS ストレージバックエンドと同じ仕組みで動作します。
ヒュージページの確保
ヒュージページを特定のコンピュートノードに割り当てて、高いパフォーマンスが必要な負荷に対応することができます。ヒュージページを特定のノードに確保するには、デプロイメントの前に director で reserved_huge_pages パラメーターを設定します。これにより、デプロイメント後に nova.conf ファイルで設定を行うことができます。

2.5. メトリックとモニタリング

本項では、メトリックおよびモニタリングのコンポーネントの最も重要な新機能および変更点について説明します。

2.6. ネットワーク機能仮想化

本項では、ネットワーク機能仮想化 (NFV) の最も重要な新機能について説明します。

ホストごとのエミュレータースレッドの設定

見かけ上のパケット破棄を避けるために、QEMU の 仮想 CPU のオーバーコミットを防いで決定論的なパフォーマンスを設定することができます。特定の OSP-d コンポーザブルロールで、QEMU エミュレータースレッドを実行するホスト CPU を選択できるようになりました。以下に例を示します。

parameter_defaults:
  ComputeOvsDpdkParameters:
    NovaComputeCpuSharedSet: "0-1"

Red Hat では、ホストと同じ CPU セット (非分離 CPU) を使用することを推奨します。

HostCpusList: "0-1"

この設定が VM フレーバーごとにアクティブ化されます。

hw:emulator_threads_policy=share
イントロスペクションを使用した NFV パラメーターの算出

イントロスペクションを使用して、特定の SR-IOV および OVS-DPDK director パラメーターを算出することができます。これにより、NFVi のデプロイメントが容易になる効果が期待できます。以下に例を示します。

workflow_parameters:  tripleo.derive_params.v1.derive_parameters:
    num_phy_cores_per_numa_node_for_pmd: 2
    huge_page_allocation_percentage: 90

2.7. OpenStack Networking

本項では、Networking サービスの最も重要な新機能について説明します。

ML2/OVS から ML2/OVN への移行
今回の更新では、director を使用した OpenStack のデプロイメントに関して、ML2/OVS から ML2/OVN (ovs-firewall または ovs-hybrid モードのいずれか) へのインプレース移行手段が提供されています。
Neutron 内部 DNS 解決
DHCP エージェントは、dns_domain をインスタンスではなくネットワークの dnsmasq プロセスに渡すようになりました。
OVN サービスステータスのレポート
openstack network agent list コマンドが、すべての OVN サービスおよびそのステータスをレポートするようになりました。
デプロイメントの Octavia (LBaaS) を改善
更新またはアップグレード時に、最新の Octavia イメージが自動的にプッシュされます。
Octavia コントローラーコンテナーのヘルスモニタリング
本リリースでは、Octavia コンテナーサービスの仮想マシンのヘルスモニタリング機能が導入されています。
新たな Ansible Networking ML2 プラグインを使用したマルチテナント BMaaS
本リリースでは、複数のテナントが独立した状態でノードを使用することができます。

2.8. ストレージ

Block Storage: 署名付き Glance イメージのサポート
Block Storage サービス (cinder) は、ボリュームの作成時にダウンロードされた署名付きイメージの署名を自動的に検証します。署名は、イメージがボリュームに書き込まれる前に検証されます。これにより、ボリュームの作成に使用するイメージデータの健全性を確保できるようになりました。この機能は Ceph ストレージでは使用できません。
Block Storage: cinder アベイラビリティーゾーン間の移行
Block Storage サービス (cinder) に、アベイラビリティーゾーン間のボリュームの移行が追加されました。これにより、あるアベイラビリティーゾーンから別のアベイラビリティーゾーンに、ボリュームを移行することができます。
Block Storage: cinder バックアップ NFS のサポート
本リリース以前は、Red Hat OpenStack Platform director がバックアップバックエンドとしてデプロイできるのは、Object Storage サービス (swift) または Red Hat Ceph Storage だけでした。director に Block Storage サービス (cinder) バックアップ NFS プロファイルのサポートが導入され、Red Hat OpenStack Platform のデプロイメントがバックアップターゲットとして Ceph、NFS、および Swift をサポートするように拡張されました。director は、cinder-backup.yaml Heat テンプレートの CinderBackupBackEnd パラメーターを使用して、バックアップサービスのバックエンドとして NFS をデプロイできるようになりました。
Block Storage: 最適化された RBD から RBD への移行
本リリースでは、下層の Ceph バックエンド機能を活用するために、最適化された Ceph RBD から RBD へのブロックレベルのボリューム移行が導入されています (移行元/移行先両方のバックエンドが同じ Ceph クラスターに存在する場合)。この機能により、古いハードウェアの使用を止める場合や層間でデータを移動する場合などに、データ移行操作をより高速で効率的に実施することができます。
Data Processing: S3 互換のオブジェクトストア
本リリースでは、Data Processing サービス (sahara) に S3 互換オブジェクトストアの Hadoop サポートが導入されています。この機能は、データソースおよびジョブバイナリーを「プラグ可能」にする取り組みに続くものです。S3 のサポートは、既存の HDFS、swift、MapR-FS、および manila ストレージオプションに対する新たな代替オプションです。
Image サービス: トランスペアレントなイメージ変換
Ceph を Image サービスのバックエンドとして使用する場合、新規イメージをインポートすると、Image サービス (glance) はイメージの形式を QCOW2 から RAW に自動的に (ユーザー操作を必要とせずに) 変換するようになりました。
Object Storage: S3 API (Object Storage のデフォルト API)
S3 API は、業界からオブジェクトストレージの事実上の標準 API と考えられています。Red Hat Openstack Object Storage サービス (swift) は、デプロイメント後の手動操作として Swift3 ミドルウェアを使用して S3 API をサポートしていました。本リリース以降は、Swift3 ミドルウェアがデフォルトでオーバークラウドのデプロイメントに設定されます。
Shared File System: Manila 共有タイプのクォータのサポート
クラウド管理者は、ファイル共有タイプごとに複数のファイル共有にクォータを定義できるようになりました。この機能は、Block Storage サービス (cinder) が提供する機能 (ボリュームタイプごとのクォータ) に類似しています。複数のファイル共有タイプが存在するセットアップの場合、リソースプロバイダーは、ファイル共有タイプごとのクォータによりプロビジョニングしたリソースをより的確に管理することができます。
Shared File System: ユーザーメッセージのサポート
本リリース以前は、非同期の manila 操作 (例: ファイル共有またはファイル共有グループの作成) に失敗しても、ユーザーには詳細な情報が提供されませんでした。この新しい機能により、失敗した非同期操作に関するより多くの情報がユーザーに提供され、クラウド管理者の協力がなくても適切にエラーのトラブルシューティングを行い、可能であれば復旧できるようなります。

2.9. テクノロジープレビュー

本項では、Red Hat OpenStack Platform 14 のテクノロジープレビュー機能について説明します。

注記

テクノロジープレビューと記した機能のサポート範囲についての詳しい情報は、「テクノロジプレビュー機能のサポート範囲」を参照してください。

2.9.1. 新規テクノロジープレビュー

以下の新機能はテクノロジープレビューとして提供されます。

インスタンスの仮想 GPU (vGPU) のサポート

ゲストインスタンスで GPU ベースのレンダリングを使用するために、利用可能な物理 GPU デバイスをもとに仮想 GPU (vGPU) リソースを定義および管理することができます。この設定により、レンダリングの負荷を全物理 GPU デバイス間でより効率的に分割し、vGPU 対応ゲストインスタンスのスケジューリング、チューニング、およびモニタリングをより的確に管理することができます。

注記
  • 現在、vGPU のサポートは、NVIDIA GRID vGPU デバイスについてのみテクノロジープレビューとして提供されています。NVIDIA GRID のライセンス要求に適合している必要があります。
  • サポートされる vGPU タイプは、物理 GPU 1 つにつき 1 つだけです。また、ゲストインスタンス 1 台につき 1 つの vGPU リソースしかサポートされません。
vSwitch による NUMA の考慮
OpenStack Compute では、コンピュートインスタンスの起動時に物理 NIC の NUMA ノードの場所が考慮されるようになりました。この機能改善は、DPDK 対応のインターフェースを管理する際のレイテンシー軽減およびパフォーマンス向上に役立ちます。
OpenDaylight: VXLAN DSCP 継承
OpenDaylight は DSCP の継承をサポートしています。このため、内部 IP ヘッダーの DSCP マーキングは、VXLAN カプセル化パケットの外部 IP ヘッダーの DSCP マーキングに複製されます。この機能により、テナントトラフィックは、テナントからの DSCP マーキングに基づき VXLAN トンネルを通じて転送されます。
コンピュートノードリブート時のインスタンス自動再起動

先にインスタンスを移行しなくても、コンピュートノード上のインスタンスが自動的に再起動するように設定できるようになりました。Compute サービスおよび libvirt-guests エージェントを設定して、インスタンスを安全にシャットダウンし、コンピュートノードのリブート後にインスタンスを起動し直すことができます。

以下のパラメーターを利用することができます。

  • NovaResumeGuestsStateOnHostBoot (True/False)
  • NovaResumeGuestsShutdownTimeout (デフォルト: 300 秒)
Skydive: ネットワーク可視化スイート

クラウドオペレーターを対象としたSkydive は、あらゆる機能を備えたネットワーク可視化およびモニタリング用スイートです。含まれる機能は以下のとおりです。

  • ネットワークトポロジーの検出
  • リアルタイムデータおよび履歴データの分析
  • メトリックおよびアラートシステム
  • ネットワークインフラストラクチャーをトレースおよび検証するためのパケットジェネレーター

    Skydive は OSP director と完全に統合されています。OVN および OpenDaylight を含むすべての OVS ベースのシステムをサポートしています。Skydive には、REST API、コマンドラインインターフェース (CLI)、および Web UI からアクセスすることができます。

メトリックとモニタリング: Service Assurance Framework

本リリースでは、テクノロジープレビューとして Service Assurance Framework が追加され、あらゆる規模のデプロイメントでメトリックおよびイベントモニタリングを実施できるようになります。これはメトリックとモニタリングに対するプラットフォームベースのアプローチで、以下の要素で構成されます。

  • インフラストラクチャーおよび OpenStack サービスをモニタリングするための Collectd プラグイン
  • AMQ Interconnect ダイレクトルーティング (QDR) メッセージバス
  • Prometheus Operator データベース/管理クラスター
  • チャージバック用の Ceilometer/Gnocchi (容量のプランニング用途のみ)
Block Storage: 複数ホストへのボリュームのアタッチ
本リリースでは、cinder および nova の両方において、ボリュームを同時に複数のホストまたはサーバーに読み取り/書き込み (RW) モードでアタッチする機能が追加されています (この機能がバックエンドドライバーでサポートされる場合)。この機能は、一般的にアクティブ/アクティブまたはアクティブ/スタンバイのシナリオが求められる、クラスター化したアプリケーション負荷のユースケースに対応したものです。

第3章 リリースの情報

本リリースノートには主に、今回リリースされた Red Hat OpenStack Platform のデプロイメント時に考慮すべきテクノロジープレビューの項目、推奨事項、既知の問題、非推奨となった機能について記載します。

Red Hat OpenStack Platform の本リリースのサポートライフサイクル中にリリースされる更新について情報は、各更新に対応したアドバイザリーの説明に記載されます。

3.1. Red Hat OpenStack Platform 14 GA

本リリースノートには主に、今回リリースされた Red Hat OpenStack Platform のデプロイメント時に考慮すべきテクノロジープレビューの項目、推奨事項、既知の問題、非推奨となった機能について記載します。

3.1.1. 機能拡張

Red Hat OpenStack Platform の今回のリリースでは、以下の機能拡張が提供されています。

BZ#1241017

今回の更新で、「openstack port list」コマンドの出力にホスト名およびネットワーク名が追加されました。
追加の情報により、Neutron ポートおよび IP アドレスと特定のホストを容易に関連付けられるようになりました。

BZ#1402584

今回の更新で、libvirt コンピュートドライバーが信頼済み SR-IOV Virtual Function を持つインスタンスの作成を許可するようになりました。信頼済みの場合、ゲストの VF の MAC アドレスを変更するなど特定の操作を実施することができます。

インターフェースをボンディングするためには、すべてのスレーブで同じ MAC アドレスが使用されている必要があります。一方、フェイルオーバー時には VF の 1 つで MAC アドレスの変更が必要になります。MAC アドレスの変更は権限を必要とする操作なので、ゲストでボンディングを正しく設定するためには、該当する VF は信頼済みでなければなりません。

管理者は VF を信頼済みモードに設定できるようになりました。設定するには次の 2 つのステップを実施する必要があります。まず、nova.conf の「[pci] passthrough_whitelist」JSON 設定オプションの「trusted」の値を「true」に設定する必要があります。以下に例を示します。

    [pci]
    passthrough_whitelist = {"devname": "eth0", "trusted": "true",
                             "physical_network":"sriovnet1"}

次に、ポートの作成時にバインディングプロファイルを「trusted=true」に設定する必要があります。以下に例を示します。

    $ neutron port-create <net-id> \
        --name sriov_port \
        --vnic-type direct \
        --binding:profile type=dict trusted=true

信頼済みモードは SR-IOV VF にしか適用されないので、「vnic-type」は「hw_veb」または「direct」のどちらかに設定しなければなりません。

BZ#1410195

Heat テンプレートに「CephClusterName」パラメーターが含まれるようになりました。このパラメーターにより Ceph クラスター名をカスタマイズすることができます。外部の Ceph クラスターまたは Ceph RBDMirror を使用する場合に、この操作を実施しなければならない場合があります。

BZ#1462048

今回の更新で、アプリケーションの認証情報を作成して、アプリケーションの keystone に対する認証を許可できるようになりました。

https://docs.openstack.org/keystone/latest/user/application_credentials.html を参照してください。

BZ#1469073

機能:
nova-scheduler への重み付け関数 CPUWeigher の追加

理由:
CPUWeigher により、オペレーターは仮想 CPU をスタックするか分散するかのポリシーを設定することができます。

結果:
オペレーターは CPUWeigher を有効にしてスタックする (まず、1 つのノードの仮想 CPU をすべて使用する) または分散する (すべてのホストからほぼ同数の仮想 CPU を使用する) ポリシーを設定することができます。

BZ#1512941

今回の更新で、パケット破棄の削減用に、チューニング可能なオプションが新たに 2 つサポートされるようになりました。

強固なパーティション設定が使用されていても (isolcpus、tuned)、仮想 CPU (vCPU) がハイパーバイザーカーネルスレッドにより占有される場合があります。占有は頻繁ではなく 1 秒あたり数回ですが、virtio キュー 1 つあたりの記述子が 256 であれば、1 回の仮想 CPU 占有が発生しただけでパケットの破棄につながります (占有されている間 256 のスロットが埋まるため)。キュー 1 つあたりのパケットレートが 1 Mpps (1 秒あたり 100 万パケット) を超えているネットワーク機能仮想化 (NFV) の仮想マシンがこのケースです。

今回の更新で、2 つの新しいチューニング可能なオプション (「rx_queue_size」および「tx_queue_size」) がサポートされるようになりました。これらのオプションを使用して virtio NIC の受信キューサイズおよび送信キューサイズを設定し、パケットの破棄を削減します。

BZ#1521176

Nova がインスタンスを作成/起動/削除した正確な時間を追跡するために、インスタンスリソースに 3 つの新たな属性 (launched_at、deleted_at、および created_at) が追加されました。

BZ#1523328

OpenStack director が、オーバークラウドノードのソフトウェア設定に Ansible を使用するようになりました。Ansible によりオーバークラウドのデプロイメントが分りやすく、またデバッグがより簡単になります。Ansible を使用することで、heat とオーバークラウドノード上の heat エージェント (os-collect-config) 間の通信およびソフトウェア設定デプロイメントデータの移動が置き換えられます。

各オーバークラウドノード上で os-collect-config を動作させ heat からデプロイメントデータをポーリングするのに代わって、Ansible のコントロールノードが Ansible インベントリーファイルおよび Playbook とタスクのセットと共に ansible-playbook を実行し、設定を適用します。Ansible のコントロールノード (ansible-playbook を実行するノード) は、デフォルトではアンダークラウドです。

BZ#1547708

OpenStack Sahara が Cloudera Distribution Hadoop (CDH) プラグイン 5.13 をサポートするようになりました。

BZ#1547710

今回の更新で、OpenStack Sahara に s3 互換オブジェクトストアのサポートが追加されました。

BZ#1547954

今回のリリースで、Nova の libvirt ドライバーは、CPU モデルの設定時に CPU 機能のフラグをより細かく指定できるようになりました。

「Meltdown」CVE の修正を適用した後に、特定の Intel ベースの仮想 CPU モデルで実行しているゲストのパフォーマンスが低下していました。今回の変更の利点の 1 つは、このパフォーマンス低下が軽減されることです。ゲストのパフォーマンスに対する影響は、CPU 機能フラグ「PCID」(Process-Context ID) を *ゲスト* CPU に公開することによって軽減されます。これは、物理ハードウェア自体で PCID フラグが利用可能であることを前提とします。

使用方法についての詳しい情報は、「nova.conf」の「[libvirt]/cpu_model_extra_flag」の説明を参照してください。

BZ#1562171

今回の更新では、「neutron」ネットワークインターフェースを使用したマルチテナントベアメタルネットワーク設定が導入されています。

「neutron」ネットワークインターフェースを使用してベアメタルノードを設定すると、ベアメタルノードでのプロビジョニングとテナントトラフィック用に、独立した VLAN ネットワークを使用することができます。

BZ#1639759

QDR をサポートするために、新たな TripleO heat テンプレートが追加されています。
metrics_qdr サービスを有効にするとすべてのオーバークラウドノードに QDR サービスがデプロイされ、各オーバークラウドノード上で動作する collectd サービスからのメトリックデータをルーティングするのに使用されます。

該当する heat テンプレートのパラメーターを以下に示します。

MetricsQdrPort:
   default: '5666'
   description: Service name or port number on which the qdrouterd will accept connections. This argument must be string, even if the numeric form is used.
   type: string
 MetricsQdrUsername:
   default: 'guest'
   description: Username which should be used to authenticate to the deployed qdrouterd.
   type: string
 MetricsQdrPassword:
   default: 'guest'
   description: Password which should be used to authenticate to the deployed qdrouterd.
   type: string
   hidden: true
 MetricsQdrConnectors:
   default: []
   description: Connectors configuration (array of hashes).
   type: json
 MetricsQdrAddresses:
   default:
     - prefix: 'collectd/notify'
       distribution: multicast
     - prefix: 'collectd/telemetry'
       distribution: multicast
   description: Addresses configuration (array of hashes).
   type: json
 MetricsQdrUseSSL:
   default: false
   description: Set to true if it is required to use SSL or TLS on the connection for listener.
   type: boolean
 MetricsQdrUseEncryption:
   default: false
   description: Set to true if it is required to encrypt connection to the peer for listener.
   type: boolean
 MetricsQdrSaslMechanisms:
   default: 'ANONYMOUS'
   description: List of accepted SASL auth mechanisms for listener in format of comma separated list.
   type: string
 MetricsQdrSslCertDb:
   default: ''
   description: Path to SSL certificate db for listener.
   type: string
 MetricsQdrSslCertFile:
   default: ''
   description: Path to SSL certificate file for listener.
   type: string
 MetricsQdrSslKeyFile:
   default: ''
   description: Path to SSL private key file for listener.
   type: string
 MetricsQdrSslPwFile:
   default: ''
   description: Path to SSL password file for certificate key for listener.
   type: string
 MetricsQdrSslPassword:
   default: ''
   description: SSL password to be supplied for listener.
   type: string
 MetricsQdrTrustedCerts:
   default: ''
   description: Path to file containing trusted certificates for listener.
   type: string

BZ#1654123

Red Hat OpenStack Platform 14 が IBM POWER9 CPU 上でサポートされるようになりました。このサポートは「rhosp-director-images-ppc64lep9」および「rhosp-director-images-ipa-ppc64lep9」パッケージにより提供されます。

3.1.2. テクノロジープレビュー

本項に記載する項目は、テクノロジープレビューとして提供しています。テクノロジープレビューの適用範囲のステータスに関する詳細情報およびそれに伴うサポートへの影響については、「テクノロジプレビュー機能のサポート範囲」を参照してください。

BZ#1033180

本リリースでは、テクノロジープレビューとして、cinder および nova の両方において、ボリュームを同時に複数のホストまたはサーバーに読み取り/書き込み (RW) モードでアタッチする機能が追加されています (この機能がバックエンドドライバーでサポートされる場合)。この機能は、一般的にアクティブ/アクティブまたはアクティブ/スタンバイのシナリオが求められる、クラスター化したアプリケーション負荷のユースケースに対応したものです。

BZ#1550668

この機能により、VXLAN IP ヘッダーでカプセル化されたテナントからの DSCP マーキングに基づき、テナントトラフィックを転送することができます。この機能は OSP14 ではテクノロジープレビューです。

BZ#1614282

先にインスタンスを移行せずにコンピュートノードがリブートした場合に、コンピュートノード上のインスタンスが自動的に再起動するように設定できるようになりました。Nova および libvirt-guests エージェントを設定して、インスタンスを安全にシャットダウンし、コンピュートノードのリブート時にインスタンスを起動することができます。

新たなパラメーター:
NovaResumeGuestsStateOnHostBoot (True/False)
NovaResumeGuestsShutdownTimeout (デフォルト: 300 秒)

3.1.3. リリースノート

本項では、Red Hat OpenStack Platform の注目すべき変更点や推奨プラクティスなど、今回のリリースに関する重要な情報を記載しています。お使いのデプロイメントに最大限の効果をもたらすために、以下の情報を考慮する必要があります。

BZ#1601613

コンテナー化された Ironic サービスに対応するために、「--http-boot」のデフォルト値が「/httpboot」から「/var/lib/ironic/httpboot」に変更されました。

BZ#1614810

今回の更新で、コンテナー化されたサービスのログローテーションに、デフォルトで logrotate の copytruncate が使用されるようになりました。古いログを保管するデフォルトの期間に変更はありません (14 日間)。

BZ#1640095

これまでテクノロジープレビューとして含まれていた OpenStack Rally が、本リリースから削除されました。

BZ#1649679

web-download 機能を使用する場合に、ステージングエリア (「node_staging_uri」オプションを使用して設定ファイルで定義する) が正しく消去されません。glance-api.conf ファイルの「glance_store」セクションで、「file」が「stores」設定オプションの一部であることを確認してください。

BZ#1654405

イメージ変換機能を使用する場合には、glance-api.conf ファイルの「glance_store」セクションで、「file」が「stores」設定オプションの一部であることを確認してください。

BZ#1654408

glance イメージを変換する場合、デフォルトでは glance-direct メソッドは有効になっていません。この機能を有効にするには、glance-api.conf の DEFAULT セクションで、「enabled_import_methods」を「[glance-direct,web-download]」または「[glance-direct]」に設定してください。

BZ#1654413

Red Hat OpenStack Platform 14 の新規インストールの場合、デフォルトでは Glance イメージ変換は有効になっていません。この機能を使用するには、glance-image-import.conf ファイルを編集します。
image_import_opts セクションに、以下の行を追加してください。
image_import_plugins = ['image_conversion']

BZ#1662042

テナントまたはプロバイダーネットワークに関して、OpenDaylight は IPv6 をサポートしません。したがって、IPv4 だけを使用してください。IPv4 ネットワークと共に IPv6 ネットワークが使用されていると、Floating IP に関する問題が生じる場合があります。

3.1.4. 既知の問題

現時点における Red Hat OpenStack Platform の既知の問題は以下のとおりです。

BZ#1516911

OvsDpdkMemoryChannels パラメーターは、DPDK パラメーター抽出ワークフローを使用して抽出することができません。デフォルトでは、値は 4 に設定されています。お使いのハードウェアに合わせて、この値をカスタム環境ファイルで変更することができます。

BZ#1579052

小規模な Nova フレーバーを使用するように Octavia が設定されている場合、Amphorae (Nova インスタンス) は正常に作成されますがロードバランサーが約 25 分間 PENDING の状態から遷移しない場合があります。本来であれば、ロードバランサーがエラー状態に遷移して Amphorae は削除されなければなりません。

小規模な Nova フレーバーの場合の回避策としては、[haproxy_amphora] セクションの Octavia 設定「connection_max_retries」、「connection_retry_interval」、「build_active_retries」、および「build_retry_interval」をより実稼働に適した値に変更する方法があります。これにより、小規模な Nova フレーバーの場合に、ロードバランサーが PENDING から ERROR 状態により迅速に遷移します。

BZ#1630480

Openstack rc ファイル生成のワークフロートリガーは python-tripleoclient にハードコーディングされています。
その結果、OpenStack 固有のワークフローは director が OpenShift をデプロイした後にトリガーされます。OpenStack 固有の URL が、stdout および作成される OpenStack rc ファイルに表示されます。

BZ#1639495

Fernet トークンのローテーションに関して、鍵がオーバークラウドに自動的にデプロイされないという既知の問題があります。ワークフロータスク「tripleo.fernet_keys.v1.rotate_fernet_keys」により鍵は生成されますが、それらが正しくオーバークラウドにプッシュされません。この問題は今後のリリースで対応する計画です。この更新の前にローテーションを実施する場合には、以下の回避策のいずれかに従ってください。
* ローテーションを実施する前に、オーバークラウドノード上で os-collect-config を実行する。os-collect-config が不要であれば、その後停止することができます。
* すべてのオーバークラウドノードで os-collect-config を有効にする。修正が適用された更新がリリースされたら、os-collect-config を無効にすることができます。
注記: 更新がリリースされる前に鍵をローテーションする必要がなければ、特にアクションは必要ありません。

BZ#1640021

/var/lib/gnocchi/ ディレクトリーへのアクセス権限が原因で、Gnocchi ファイルバックエンドを設定したオーバークラウドのデプロイに失敗する場合があります。

回避策: オーバークラウドをデプロイする前に、以下のように openstack/tripleo-heat-templates/docker/services/gnocchi-api.yaml ファイルでディレクトリーへのアクセス権限を設定する。

            - path:
                list_join:
                  - "/"
                  - - {get_param: GnocchiFileBasePath}
                    - "tmp"
              owner: gnocchi:gnocchi
              perm: '0600'
              recurse: true

BZ#1640382

director によりデプロイされた OpenShift 環境では、GlusterFS Playbook が実行されるたびに新しい heketi 秘密鍵が自動生成されます。
このため、CNS デプロイメントのスケールアウトまたは設定変更などの操作に失敗します。

回避策としては、以下の手順を実行する方法があります。
1. デプロイメント後に、heketi 秘密鍵を回収する。マスターノードのいずれかで、以下のコマンドを使用します。
sudo oc get secret heketi-storage-admin-secret --namespace glusterfs -o json | jq -r .data.key | base64 -d
2. 環境ファイルで、以下のパラメーターをその値に設定する。
  openshift_storage_glusterfs_heketi_admin_key
  openshift_storage_glusterfs_registry_heketi_admin_key

この回避策の結果、パラメーターが手動で抽出される限り、CNS デプロイメントのスケールアウトまたは設定変更などの操作が正常に機能します。

BZ#1640804

3 つのコントローラーノードをすべて再起動すると、オーバークラウドのテナントインスタンスを起動できない場合があります。「DuplicateMessageError」のメッセージがオーバークラウドログに記録されます。
回避策としては、オーバークラウドコントローラーのいずれかで、以下のコマンドを実行する方法があります。
pcs resource restart rabbitmq-bundle

BZ#1643657

インフラノード上のルーターへのプロキシリクエストのために、director はマスターノード上で実行中の HAProxy インスタンスのポート 443 をセットアップします。OpenShift API をバインドするために、OpenShift のマスターノードのポート 443 を使用することはできません。director によりデプロイされた OpenShift 環境では、OpenShift API をポート 443 に設定することはできません。

BZ#1644889

director の提供する overcloud-full イメージが原因で、OpenShift リポジトリーにより提供される python-setuptools との間で RPM 競合が生じます。デプロイメント後に OpenShift ノードで実施する yum update は、依存関係の不整合により常に失敗します。

この問題を修正するには、アンダークラウドで以下のコマンドを実行します。
source ~/stackrc
tripleo-ansible-inventory --stack openshift --static-yaml-inventory
/home/stack/openshift_inventory.yaml
export ANSIBLE_HOST_KEY_CHECKING=False
ansible -i openshift_inventory.yaml -m shell -b -a 'rpm -e --nodeps python-setuptools-0.9.8-7.el7.noarch; yum -y install python-setuptools' overcloud

このコマンドにより、overcloud-full イメージの提供する python-setuptools が OpenShift リポジトリーにより提供されるバージョンに置き換えられます。これ以降の yum update は正常に機能します。

BZ#1646707

一部の OVS バージョンでは、「updelay」および「downdelay」ボンディング設定が無視され、常にデフォルト設定が使用されます。

BZ#1647005

nova-compute ironic ドライバーは、BM ノードのクリーンアップ中にノードの更新を試みます。クリーンアップには約 5 分間かかりますが、nova-compute は約 2 分間ノードの更新を試みます。タイムアウト後、nova-compute は停止し nova インスタンスを ERROR 状態に切り替えます。

回避策としては、nova-compute サービスで以下の設定オプションを定義する方法があります。
[ironic]
api_max_retries = 180

この結果、nova-compute はより長時間 BM ノードの更新を試み続け、最終的には正常に完了します。

BZ#1652444

containers-prepare-parameter.yaml ファイルの「neutron_driver」パラメーターの値は「null」です。これにより、OpenDaylight デプロイメントのオーバークラウドのマイナーアップデートに失敗する場合があります。

回避策: オーバークラウドを更新する前に、「neutron_driver」パラメーターの値を「odl」に設定します。

BZ#1653348

director によりデプロイされた OpenShift 環境に追加の OpenShift マスターノードがある場合には、「The field 'vars' has an invalid value, which includes an undefined variable. The error was: 'openshift_master_etcd_urls' is undefined…」のようなメッセージと共にスケールアウトに失敗します。

BZ#1653466

CNS が有効な director によりデプロイされた OpenShift 環境に追加のインフラノードがある場合には、「fatal: [openshift-master-2]: FAILED! => {"changed": false, "msg": "Error mounting /tmp/openshift-glusterfs-registry-c8qImT: Mount failed.」のようなメッセージと共にスケールアウトに失敗します。

BZ#1659183

director と openshift-ansible とでは、イメージタグに対する考え方が異なります。たとえば、リモートコンテナーイメージをローカルにインポートする場合、director は、イメージメタデータの「バージョン」および「リリース」ラベルを元に、全般タグをイメージを一意に識別するタグに変換します。一方 Openshift-ansible は、すべての openshift イメージタグについて固有の「openshift_image_tag」変数に依存しているので、イメージのタグを個別に識別することができません。リモートコンテナーイメージレジストリーのフローティング v3.11 タグがポイントするイメージで、メタデータの「リリース」または「バージョン」ラベルが異なる場合には、director を使用した OCP のデプロイメントに失敗します。

OpenShift をデプロイする前にアンダークラウドからラベルの異なるイメージをインポートし、すべての openshift イメージについて同一のタグを設定します。

  skopeo --tls-verify=false copy docker://registry.access.redhat.com/openshift3/prometheus:v3.11.51-1 docker://192.168.24.1:8787/openshift3/prometheus:v3.11.51-2

director からの OpenShift デプロイメントは、イメージを失うことなく正常に完了します。

BZ#1660066

director によりデプロイされた OpenShift 環境では、director がトリガーとなり Red Hat Enterprise Linux OS および OpenShift Container Platform が更新されることはありません。director によりデプロイされた OpenShift 環境をマイナーアップデートすることはできません。

BZ#1660475

config-download によりオーバークラウドの Playbook を生成した後に、--check パラメーターを指定して ansible-playbook を実行すると、正常に動作しません。ftype の stdout 未定義に起因するエラーが発生します。この問題は、次のバージョンで修正される計画です。

BZ#1664165

Ansible の既知の問題 (https://github.com/ansible/ansible/issues/24449) により、/etc/ssh/ssh_known_hosts に加えた変更が、コンピュートホスト追加後に環境内の既存の nova_compute および nova_libvirt コンテナーに反映されません。

したがって、元のホストが必要な SSH 公開鍵を持たないため、新たに追加したコンピュートホストを使用したライブマイグレーション、コールドマイグレーション、およびインスタンスのサイズ変更操作に失敗します。

回避策:
すべての nova_compute および nova_libvirt コンテナーを再起動することで、/etc/ssh/ssh_known_hosts に対する更新が正しく書き込まれます。

詳細な手順は、以下に示す KCS の記事に記載されています。

[OSP14] After successful scale out, live/cold migration and resize fails to the new added compute with 'Host key verification failed'
https://access.redhat.com/solutions/3792021

BZ#1664698

昨今の変更で、NUMA トポロジーを持つインスタンスのメモリー割り当てにページサイズが考慮されるようになりました。この変更で、NUMA トポロジーを持つインスタンスのメモリーをオーバーサブスクライブできなくなりました。

従来、オーバーサブスクリプションが使えないのはヒュージページを持つインスタンスだけでしたが、現在は NUMA トポロジーを持つすべてのインスタンスで、メモリーのオーバーサブスクリプションが無効になっています。この変更は、明示的な NUMA トポロジーを持つインスタンスおよび暗示的な NUMA トポロジーを持つインスタンスに影響を及ぼします。ヒュージページまたは CPU ピニングにより、インスタンスが暗示的な NUMA トポロジーを持つ場合があります。

可能であれば、明示的な NUMA トポロジーの使用は避けてください。CPU ピニングが必要な場合に、暗示的な NUMA トポロジーが生じてしまいます。これに対する回避策はありません。

3.1.5. 非推奨の機能

本項に記載する項目は、サポートが提供されなくなったか、今後のリリースではサポートが提供されない予定の機能です。

BZ#1668219

OpenDaylight は OSP 13 で初めて導入され、OSP 14 では非推奨となっています。

OpenDaylight と OpenStack を組み合わせたソリューションでは、新たな機能拡張のリクエストは受け付けられなくなりました。OpenDaylight が組み込まれた Red Hat ソリューションが必要なお客様は、代替のシステムをお探しください。

OSP 14 の非推奨化サイクル期間中、OpenDaylight のサポートは継続されバグ修正のリクエストは受け付けられますが、OSP 13 のライフサイクル終了の時点で、サポートは完全に廃止される予定です (2021 年 6 月 27 日)。

第4章 テクニカルノート

本章には、コンテンツ配信ネットワークからリリースされる Red Hat OpenStack Platform「Rocky」のエラータアドバイザリーの補足情報を記載します。

4.1. RHEA-2019:0045: OpenStack director のバグ修正アドバイザリー

本項に記載するバグは、アドバイザリー RHEA-2019:0045 で対応しています。このアドバイザリーについての詳しい情報は、「RHEA-2019:0045 - Product Enhancement Advisory」を参照してください。

ansible-role-redhat-subscription

以前のリリースでは、Satele URL がロールに正しく設定されていませんでした。このためシステムは Satellite サーバーのバージョンを取得できず、登録に失敗していました。今回の修正で、デフォルトで rhsm_baseurl パラメーターから rhsm_satellite_url の値を取得し、URL を登録タスクに渡して強制的に登録する機能が追加されました。さらに、登録証のエラーを無視するオプションが追加されました。必要に応じて、デフォルト値の上書きやオプションの設定が可能です。

distribution

これまでテクノロジープレビューとして含まれていた OpenStack Rally が、本リリースから削除されました。

openstack-aodh

今回の更新で、aodh サービスがイベントタイプの入力クエリーを検証するようになりました。
今回の更新以前は、入力クエリーは検証されていませんでした。無効な入力クエリーのために、警告の発行に失敗する場合がありました。

openstack-ceilometer

Nova がインスタンスを作成/起動/削除した正確な時間を追跡するために、インスタンスリソースに 3 つの新たな属性 (launched_at、deleted_at、および created_at) が追加されました。
OpenStack Metrics サービス (Ceilometer) が、Monitoring サービス (Gnocchi) で計測されないメトリックを作成していました。今回の修正で、不必要なメトリックが削除されました。Ceilometer は、Gnocchi で計測されるメトリックだけを作成するようになりました。

openstack-cinder

本リリースでは、テクノロジープレビューとして、cinder および nova の両方において、ボリュームを同時に複数のホストまたはサーバーに読み取り/書き込み (RW) モードでアタッチする機能が追加されています (この機能がバックエンドドライバーでサポートされる場合)。この機能は、一般的にアクティブ/アクティブまたはアクティブ/スタンバイのシナリオが求められる、クラスター化したアプリケーション負荷のユースケースに対応したものです。
今回の機能拡張により、ボリュームが同じ Ceph クラスター内にある場合に、Cinder バックエンド間の RBD ボリュームの移行が最適化されるようになりました。両方のボリュームが同じ Ceph クラスターにある場合には、データ移行が cinder-volume プロセスではなく Ceph 自体で実施されます。これにより、移行に要する時間が短縮されます。

openstack-ironic

OpenStack Bare Metal サービス (Ironic) から BMC/IPMI ハードウェアに送信されるコマンドの中には、ハードウェアドライバーのエラーにより正常に機能しないものがありました。このため、ベアメタルノードの起動が妨げられていました。今回の修正で ipmi_disable_boot_timeout ハードウェアドライバーオプションが追加され、これらのコマンドが Ironic から IPMI ハードウェアに送信されなくなりました。
今回の更新で、Dell EMC PowerEdge 13 および 14 世代サーバーに対する UEFI 永続ブートモードサポートの問題が修正されています。これらのサーバーは、どちらの永続ブートモード (BIOS および UEFI) であっても、デプロイしたオペレーティングシステムに正常に起動するようになりました。
この修正は、ironic.drivers.modules.drac.management の ironic integrated Dell Remote Access Controller (iDRAC) 管理ハードウェア実装 (「idrac」) 機能により管理されるサーバーに適用されます。

PowerEdge 12 世代以前のサーバーについてはバグは解決されていませんが、BIOS ブートモードは引き続きサポートされます。

今回の更新以前は、サーバーのブートモードが BIOS に設定されている場合にしか、それ以降のリブートでブートデバイスが維持されませんでした。
今回の更新では、「neutron」ネットワークインターフェースを使用したマルチテナントベアメタルネットワーク設定が導入されています。

「neutron」ネットワークインターフェースを使用してベアメタルノードを設定すると、ベアメタルノードでのプロビジョニングとテナントトラフィック用に、独立した VLAN ネットワークを使用することができます。
本リリース以前は、ironic-conductor ハッシュリングコードに競合状態が存在していました。動作中ハッシュリングを None に設定することはできますが、これにより内部サーバーエラー「'NoneType' object has no attribute '__getitem__'」が発生していました。本リリースでは競合状態が修正され、ironic API 操作がエラー「'NoneType' object has no attribute '__getitem__'」で失敗することはなくなりました。

openstack-keystone

今回の更新で、アプリケーションの認証情報を作成して、アプリケーションの keystone に対する認証を許可できるようになりました。

https://docs.openstack.org/keystone/latest/user/application_credentials.html を参照してください。

openstack-manila-ui

Manilla 用の OpenStack Dashboard (Horizon) プラグインは、プロジェクトクォータ情報を取得できませんでした。そのため、共有ファイルシステムのダッシュボードでファイル共有を作成できず、またレンダリングの問題が生じていました。今回の修正でクォータ情報取得の操作が想定どおりに機能するようになり、共有ファイルシステムを表示してダッシュボードでファイル共有を作成できるようになりました。

openstack-neutron

linuxbridge ml2 ドライバーを使用している場合、権限のないテナントが IP アドレスを指定せずにポートを作成してそれをアタッチすることができるので、IP アドレスの検証が省略されてしまいます。その後、許可された割り当てプール以外から既存のゲストまたはルーターと競合する IP アドレスが割り当てられると、サービス拒否が発生する可能性があります。

openstack-nova

今回の更新で、パケット破棄の削減用に、チューニング可能なオプションが新たに 2 つサポートされるようになりました。

強固なパーティション設定が使用されていても (isolcpus、tuned)、仮想 CPU (vCPU) がハイパーバイザーカーネルスレッドにより占有される場合があります。占有は頻繁ではなく 1 秒あたり数回ですが、virtio キュー 1 つあたりの記述子が 256 であれば、1 回の仮想 CPU 占有が発生しただけでパケットの破棄につながります (占有されている間 256 のスロットが埋まるため)。キュー 1 つあたりのパケットレートが 1 Mpps (1 秒あたり 100 万パケット) を超えているネットワーク機能仮想化 (NFV) の仮想マシンがこのケースです。

今回の更新で、2 つの新しいチューニング可能なオプション (「rx_queue_size」および「tx_queue_size」) がサポートされるようになりました。これらのオプションを使用して virtio NIC の受信キューサイズおよび送信キューサイズを設定し、パケットの破棄を削減します。
Nova の libvirt ドライバーは、ゲスト CPU モデルの設定時に CPU 機能のフラグをより細かく指定できるようになりました。

たとえば、「Meltdown」CVE の修正を適用した後に特定の Intel ベースの仮想 CPU モデルを実行することで生じるゲストパフォーマンスの低下を、この機能により軽減することができます。ゲストのパフォーマンスに対する影響は、CPU 機能フラグ「PCID」(Process-Context ID) をゲスト CPU に公開することによって軽減されます。これは、物理ハードウェア自体で PCID フラグが利用可能であることを前提とします。

CPU フラグのより細かな指定方法についての詳しい情報は、nova.conf[libvirt]/cpu_model_extra_flags の説明を参照してください。
今回の更新で、libvirt コンピュートドライバーが信頼済み SR-IOV Virtual Function を持つインスタンスの作成を許可するようになりました。信頼済みの場合、ゲストの VF の MAC アドレスを変更するなど特定の操作を実施することができます。

インターフェースをボンディングするためには、すべてのスレーブで同じ MAC アドレスが使用されている必要があります。一方、フェイルオーバー時には VF の 1 つで MAC アドレスの変更が必要になります。MAC アドレスの変更は権限を必要とする操作なので、ゲストでボンディングを正しく設定するためには、該当する VF は信頼済みでなければなりません。

管理者は VF を信頼済みモードに設定できるようになりました。設定するには次の 2 つのステップを実施する必要があります。まず、nova.conf の「[pci] passthrough_whitelist」JSON 設定オプションの「trusted」の値を「true」に設定する必要があります。以下に例を示します。

[pci]
passthrough_whitelist = {"devname": "eth0", "trusted": "true",
                         "physical_network":"sriovnet1"}

次に、ポートの作成時にバインディングプロファイルを「trusted=true」に設定する必要があります。以下に例を示します。

$ neutron port-create <net-id> \
    --name sriov_port \
    --vnic-type direct \
    --binding:profile type=dict trusted=true

信頼済みモードは SR-IOV VF にしか適用されないので、「vnic-type」は「hw_veb」または「direct」のどちらかに設定しなければなりません。
機能:
nova-scheduler への重み付け関数 CPUWeigher の追加

理由:
CPUWeigher により、オペレーターは仮想 CPU をスタックするか分散するかのポリシーを設定することができます。

結果:
オペレーターは CPUWeigher を有効にしてスタックする (まず、1 つのノードの仮想 CPU をすべて使用する) または分散する (すべてのホストからほぼ同数の仮想 CPU を使用する) ポリシーを設定することができます。
今回の更新で、ヒュージページを持つインスタンスを起動する際に、Nova がホストヒュージページの NUMA アフィニティーをスクリーニングするようになりました。Nova は、十分なヒュージページのない NUMA ノードを拒否します。

今回の更新以前は、Nova はホストヒュージページの NUMA アフィニティーをスクリーニングしていませんでした。ホストに十分な NUMA ページがなければ、CPU の数が十分であってもインスタンスは起動に失敗していました。

openstack-sahara

OpenStack Sahara が Cloudera Distribution Hadoop (CDH) プラグイン 5.13 をサポートするようになりました。
今回の更新で、OpenStack Sahara に s3 互換オブジェクトストアのサポートが追加されました。
QDR をサポートするために、新たな TripleO heat テンプレートが追加されています。
metrics_qdr サービスを有効にするとすべてのオーバークラウドノードに QDR サービスがデプロイされ、各オーバークラウドノード上で動作する collectd サービスからのメトリックデータをルーティングするのに使用されます。

該当する heat テンプレートのパラメーターを以下に示します。

MetricsQdrPort:
default: '5666'
description: Service name or port number on which the qdrouterd will accept connections. This argument must be string, even if the numeric form is used.
type: string
MetricsQdrUsername:
default: 'guest'
description: Username which should be used to authenticate to the deployed qdrouterd.
type: string
MetricsQdrPassword:
default: 'guest'
description: Password which should be used to authenticate to the deployed qdrouterd.
type: string
hidden: true
MetricsQdrConnectors:
default: []
description: Connectors configuration (array of hashes).
type: json
MetricsQdrAddresses:
default:
 - prefix: 'collectd/notify'
   distribution: multicast
 - prefix: 'collectd/telemetry'
   distribution: multicast
description: Addresses configuration (array of hashes).
type: json
MetricsQdrUseSSL:
default: false
description: Set to true if it is required to use SSL or TLS on the connection for listener.
type: boolean
MetricsQdrUseEncryption:
default: false
description: Set to true if it is required to encrypt connection to the peer
for listener.
type: boolean
MetricsQdrSaslMechanisms:
default: 'ANONYMOUS'
description: List of accepted SASL auth mechanisms for listener in format of comma separated list.
type: string
MetricsQdrSslCertDb:
default: ''
description: Path to SSL certificate db for listener.
type: string
MetricsQdrSslCertFile:
default: ''
description: Path to SSL certificate file for listener.
type: string
MetricsQdrSslKeyFile:
default: ''
description: Path to SSL private key file for listener.
type: string
MetricsQdrSslPwFile:
default: ''
description: Path to SSL password file for certificate key for listener.
type: string
MetricsQdrSslPassword:
default: ''
description: SSL password to be supplied for listener.
type: string
MetricsQdrTrustedCerts:
default: ''
description: Path to file containing trusted certificates for listener.
type: string
OvsDpdkMemoryChannels パラメーターは、DPDK パラメーター抽出ワークフローを使用して抽出することができません。デフォルトでは、値は 4 に設定されています。お使いのハードウェアに合わせて、この値をカスタム環境ファイルで変更することができます。

openstack-tripleo-heat-templates

今回の更新以前は、/var/lib/nova/instances の共有ストレージ (nfs 等) の場合、任意のコンピュートノードで nova_compute コンテナーを再起動すると、インスタンスの仮想エフェメラルディスクと console.log の所有者/グループが変更されていました。その結果、インスタンスは仮想エフェメラルディスクにアクセスできなくなり、機能しなくなっていました。
今回の更新で、/var/lib/nova/instances 内のインスタンスのファイルの所有権を変更するメソッドが改善され、必要なファイル/ディレクトリーだけを対象とするようになりました。
nova compute の再起動中にインスタンスのファイルへのアクセスが失われなくなりました。
専用モニターノードのスケールアップやモニターの置き換えによって、stack update コマンドが失敗したり、このコマンドで Ceph モニターがクォーラムから外れたりしなくなりました。
instack_undercloud 機能が非推奨になった後、管理者ユーザーがアンダークラウドをアップグレードすると、アクセス権限エラーで失敗していました。これは、管理者ユーザーに member ロールがなかったためです。今回の修正で、member ロールが puppet-keystone モジュールおよび tripleo-teat-templates から管理者ユーザーに戻されました。
ODL の設定されたコントローラーノードを置き換える場合、従来は、再デプロイメント時に ODL の設定ファイルが見つからないため失敗していました。今回の修正で、/opt/opendaylight/data ディレクトリーがホストからアンマウントされ、これがトリガーになって置き換えプロセス時に ODL の設定ファイルが再生成されるようになりました。
従来 OpenStack director は、ソースバランスではなくラウンドロビンを使用して HAProxy ロードバランシングを設定していたため、スティッキーセッションが失敗していました。今回の修正で、director は HAProxy 設定のロードバランシングにソースバランスを使用するようになり、スティッキーセッションが想定どおりに動作するようになりました。
従来 OpenStack director は、openshift_master_cluster_hostname および openshift_master_cluster_public_hostname パラメーターには必ず IP アドレスを使用していたため、OpenShiftGlobalVariables Heat パラメーターからのホスト名が無視されていました。今回の修正で、director はホスト名が提供されていればホスト名を、提供されていなければ IP アドレスを使用するようになりました。
今回の更新により、ルーティング対応スパイン/リーフ型ネットワークを使用する場合、OSP 14 でそれぞれのロールのノードごとに特定の IP アドレスを設定できるようになりました。

今回の更新以前は、それぞれのノードに特定の IP アドレスを設定できるのは、ルーティング対応スパイン/リーフ型ネットワークを使用しないデプロイメントの場合だけでした。OSP 13 でそれぞれのネットワークに特定の IP アドレスを設定することは可能ですが、ドキュメントおよびテストが不十分だったため、この機能はテクノロジープレビューとして扱われていました。

OSP 14 では、ルーティング対応スパイン/リーフ型ネットワークを使用する場合、それぞれのロールの各ノードのネットワークごとに使用する IP アドレスを選択できるようになりました。これには、同一ネットワーク内のルーティングされた複数サブネットも含まれます。
コンテナー設定およびデプロイメントの失敗を防ぐために、今回の更新で NTP 時刻がデプロイメントプロセスの初期に同期されるようになりました。NTP サーバーにアクセスできず同期できない場合には、デプロイメントは直ちに失敗します。
今回の更新以前は、不明確なエラーメッセージと共にデプロイメントプロセスの遅い段階で失敗していました。
Service Assurance Framework の実装をサポートするために、今回の機能拡張で、メトリックデータをローカルの QPID ディスパッチルーターサービスに送信するように collectd を設定できるようになりました。

新たな collectd TripleO heat テンプレートパラメーターにより、amqp1 書き込みプラグインを設定することができます。
CollectdConnectionType パラメーターを「amqp1」に設定します。
これにより、以下に示すパラメーターで明示的に上書きしない限り、すべてのメトリックデータがローカルの QDR に送信されます。

ローカルの QDR をデプロイするには、環境ファイル /usr/share/openstack-tripleo-heat-templates/environments/metrics-collectd-qdr.yaml を使用します。

該当する heat テンプレートのパラメーターを以下に示します。
CollectdAmqpHost:
type: string
description: Hostname or IP address of the AMQP 1.0 intermediary.
default: nil
CollectdAmqpPort:
type: string
description: >
  Service name or port number on which the AMQP 1.0 intermediary accepts
  connections. This argument must be a string, even if the numeric form
  is used.
default: '5666'
CollectdAmqpUser:
type: string
description: >
  User part of credentials used to authenticate to the AMQP 1.0 intermediary.
default: guest
CollectdAmqpPassword:
type: string
description: >
  Password part of credentials used to authenticate to the AMQP 1.0 intermediary.
default: guest
hidden: true
CollectdAmqpTransportName:
type: string
description: Name of the AMQP 1.0 transport.
default: metrics
CollectdAmqpAddress:
type: string
description: >
  This option specifies the prefix for the send-to value in the message.
default: collectd
CollectdAmqpInstances:
type: json
description: >
  Hash of hashes. Each inner hash represent Instance block in plugin
  configuration file. Key of outer hash represents instance name.
  The 'address' value concatenated with the 'name' given will be used
  as the send-to address for communications over the messaging link.
default: {}
CollectdAmqpRetryDelay:
type: number
description: >
  When the AMQP 1.0 connection is lost, defines the time in seconds to wait
  before attempting to reconnect.
default: 1
CollectdAmqpInterval:
type: number
description: >
  Interval on which metrics should be sent to AMQP intermediary. If not set
  the default for all collectd plugins is used.
default: -666
VNC の tls-everywhere シナリオでは、以下の TLS 接続が存在します。

- クライアント -> HAproxy
- novncproxy -> vnc サーバー (インスタンス)

しかし、HAproxy から nova novncproxy への接続は暗号化されていなかったため、コントローラー上の HAproxy から nova novnc-proxy サービスへのローカル接続は暗号化されていませんでした。今回のリリースで、HAproxy から nova novnc-proxy サービスへの接続が暗号化されるようになりました。
本リリース以前は、nova::compute::libvirt::rx_queue_size/nova::compute::libvirt::tx_queue_size を使用して受送信キューのサイズを設定することができましたが、専用の TripleO heat テンプレートパラメーターはありませんでした。今回のリリースで、以下のようにロールベースで受送信キューのサイズを設定できるようになりました。

parameter_defaults:
ComputeParameters:
NovaLibvirtRxQueueSize: 1024
NovaLibvirtTxQueueSize: 1024

結果的に、rx_queue_size/tx_queue_size は新たなパラメーターを使用して設定されます。
今回の更新で、コンテナー化されたアンダークラウドへの切り替え後、アンダークラウドで gnocchiclient を使用できるようになりました。これにより、ユーザーは Telemetry データをクエリーすることができます。
Ceph ノードに対する設定の更新をブラックリストに登録しても、デプロイメントに失敗しなくなりました。
/var/lib/gnocchi/ ディレクトリーへのアクセス権限が原因で、Gnocchi ファイルバックエンドを設定したオーバークラウドのデプロイに失敗する場合があります。

回避策: オーバークラウドをデプロイする前に、以下のように openstack/tripleo-heat-templates/docker/services/gnocchi-api.yaml ファイルでディレクトリーへのアクセス権限を設定する。

        - path:
            list_join:
              - "/"
              - - {get_param: GnocchiFileBasePath}
                - "tmp"
          owner: gnocchi:gnocchi
          perm: '0600'
          recurse: true
OpenStack Platform director は、Block Storage サービス (cinder) が nova API の要権限部分にアクセスするのに必要な認証データを設定していませんでした。このため、nova の要権限 API を使用するボリュームでの操作 (例: 使用中のボリュームの移行) に失敗していました。今回の更新で、director が cinder に nova の認証データを設定するようになりました。その結果、権限を必要とするボリュームでの操作が正常に機能するようになりました。
containers-prepare-parameter.yaml ファイルの neutron_driver は null です。
そのため、一般的な OSP の更新ガイドに従うと、OSP14 + ODL のマイナーアップデートは失敗します。

回避策:
オーバークラウドを更新する前に、containers-prepare-parameter.yaml の neutron_driver を「odl」に変更します (https://bugzilla.redhat.com/show_bug.cgi?id=1660454 を参照してください)。

この回避策で、OSP14 + ODL のマイナーアップデートが正常に完了します。
今回の更新で、「openstack port list」コマンドの出力にホスト名およびネットワーク名が追加されました。
追加の情報により、Neutron ポートおよび IP アドレスと特定のホストを容易に関連付けられるようになりました。
OSP-director で、他のネットワークに設定するのと同じ手法で、コントロールプレーン (プロビジョニング) ネットワークに特定の IP アドレスを設定できるようになりました。プロビジョニング時に使用される IP アドレスを設定するには、「ctlplane」ネットワークで IP アドレスを設定します (改行区切り)。これらが順番にノードに割り当てられます (コンピュート-0、コンピュート-1、・・・)。

例:

parameter_defaults:
ControllerIPs:
ctlplane:
- 192.168.24.251
ComputeIPs:
ctlplane:
- 192.168.24.252
- 192.168.24.253

使用例については、/usr/share/openstack-tripleo-heat-templates/environments/ips-from-pool-ctlplane.yaml のファイルを参照してください。

今回の更新以前は、OSP-director でそれぞれのネットワークの各オーバークラウドノードで使用する IP アドレスは選択できましたが、プロビジョニング用 IP アドレスはランダムでした。今回の更新により、OSP-director ですべてのネットワークでロールごとに特定の IP アドレスを選択できるようになりました。
今回の更新で、cinder ボリュームを作成する際に TripleO がデフォルトボリュームタイプ「tripleo」を割り当てるようになりました。今回の更新以前は、ボリュームタイプが設定されていないため、ボリュームのタイプ変更および移行操作時にエラーが発生していました。
CinderDefaultVolumeType パラメーターを上書きして、cinder のボリュームタイプを変更することができます。
注記: cinder のデフォルトボリュームタイプが手動で設定されている場合には (例: TripleO director 以外で設定)、オーバークラウドノードを更新する際に CinderDefaultVolumeType パラメーターを手動で定義した値に設定してください。これにより、デフォルトボリュームタイプの名前がデフォルト値「tripleo」に変更されなくなります。
今回の変更により、nova_metadata コンテナーで nova-metadata-api が の httpd wsgi 経由で提供されるようになりました。
アップストリームでは、nova-api および nova-metadata-api を含め、すべての WSGI-run サービスについて eventlet の使用を非推奨にする計画です。詳細は、https://review.openstack.org/#/c/549510/ を参照してください。
先にインスタンスを移行せずにコンピュートノードがリブートした場合に、コンピュートノード上のインスタンスが自動的に再起動するように設定できるようになりました。Nova および libvirt-guests エージェントを設定して、インスタンスを安全にシャットダウンし、コンピュートノードのリブート時にインスタンスを起動することができます。

新たなパラメーター:
NovaResumeGuestsStateOnHostBoot (True/False)
NovaResumeGuestsShutdownTimeout (デフォルト: 300 秒)
以前のリリースでは、システムの再起動後に Cinder iSCSI/LVM バックエンドのループバックデバイスが再作成されなかったため、cinder-volume サービスが再起動しませんでした。今回の修正でループバックデバイスを再作成する systemd サービスが追加され、再起動後に Cinder iSCSI/LVM バックエンドが維持されるようになりました。

openvswitch

バケットを持たないグループが原因で、Open vSwitch がデーモンをクラッシュさせていました。今回の更新でコードが変更され、バケットを持たないグループが許容されるようになりました。バケットを持つ/持たないにかかわらず、グループがアサートのトリガーになることが無くなりました。
サービスを再起動すると、内部ポートが別のネットワーク名前空間に移動し、そこで再作成されます。この状況が発生すると、ポートはネットワーク設定を失い、間違ったネットワーク名前空間で再作成されます。今回のリリースでコードが変更され、サービスの再起動時にポートが再作成されなくなり、ポートがネットワーク設定を維持できるようになりました。
一部の OVS バージョンでは、updelay および downdelay ボンディング設定が無視され、常にデフォルト設定が使用されます。

puppet-nova

今回のリリースで、Nova の libvirt ドライバーは、CPU モデルの設定時に CPU 機能のフラグをより細かく指定できるようになりました。

「Meltdown」CVE の修正を適用した後に、特定の Intel ベースの仮想 CPU モデルで実行しているゲストのパフォーマンスが低下していました。今回の変更の利点の 1 つは、このパフォーマンス低下が軽減されることです。ゲストのパフォーマンスに対する影響は、CPU 機能フラグ「PCID」(Process-Context ID) を ゲスト CPU に公開することによって軽減されます。これは、物理ハードウェア自体で PCID フラグが利用可能であることを前提とします。

使用方法についての詳しい情報は、nova.conf[libvirt]/cpu_model_extra_flags の説明を参照してください。

puppet-tripleo

今回の更新で、コンテナー化されたサービスのログローテーションに、デフォルトで logrotate の copytruncate が使用されるようになりました。古いログを保管するデフォルトの期間に変更はありません (14 日間)。

python-amqp

原因: ホスト名を解決する際に、python-amqp が A および AAAA レコードの両方を要求する。

結果: A レコードの取得に成功した場合でも、引き続き AAAA を取得するリクエストが送信されます。リゾルバーが AAAA レコードのリクエストを解決できない場合には、プロセス全体が AAAA リクエストのタイムアウトを待たなければなりません。これにより、名前解決に必要以上の時間がかかり、AMQP メッセージ操作が遅くなったり完全にタイムアウトしたりする場合があります。

修正: A レコードが正しく返された場合には、AAAA レコードを要求しません。取得に成功した A レコードだけが使用されます。

結論: 名前のルックアップが迅速に解決されるようになりました。

python-networking-ovn

OpenStack TripleO Heat テンプレートの一部のバージョンで、Neutron service_plugins パラメーターに誤った設定が含まれていました。そのため、OVN を使用した場合に Octavia が機能しませんでした。本リリースでは openstack-tripleo-heat-templates-9.0.1-0 パッケージにより OVN がアップグレードされ、Octavia がサポートされるようになりました。

python-oslo-service

以前のリリースでは、eventlet を使用してイベントをスレッド化すると不必要なシステムコールが作成され、REST API のパフォーマンスが低下し、Tempest のタイムアウトエラーが生じていました。今回の修正で REST API コールの応答時間が向上し、Tempest のタイムアウトエラー発生が軽減されるようになりました。

python-paunch

リブート時のシステムのシャットダウンが不適切なため、コンテナーが停止するのを待たないという問題がありました。今回の更新で、この問題が修正されています。
この問題により、コンテナーは安全に停止する前に強制終了されていました。
今回の更新により新たなサービスが追加され、コンテナーが完全に停止するのを待ってから、システムがリブートプロセスを続行するようになりました。

python-pecan

以前のリリースでは、非管理者ユーザーのアクセス権限を確認するためにポリシーファイルに API リクエストを行うと、再度ファイル全体が読み込まれ解析されていました。そのため処理時間が長くなり、パフォーマンスが低下していました。

今回のバグ修正で、ファイルへのクエリーで再度ファイル全体が読み込まれないように、ポリシーファイルをキャッシュする機能が追加されました。ファイルの変更部分だけが再読み込みされ、再解析されるようになりました。

python-tempestconf

パッケージが以下のバージョンにリベースされました。
python-tempestconf-2.0.0

このリベースで python-tempestconf ツールが大幅なリファクタリングを受け、tempest.conf の生成プロセスが簡素化されました。
このリベースで多くの未対応のバグも修正され、新たなサービスのサポートも追加されました。
新しいリリースに移行することで、tempest ユーザーに多くのメリットがもたらされるようになりました。
詳細は、https://docs.openstack.org/releasenotes/python-tempestconf/unreleased.html#relnotes-2-0-0 で OpenStack のリリースノートを参照してください。

python-tripleoclient

OpenStack director が、オーバークラウドノードのソフトウェア設定に Ansible を使用するようになりました。Ansible によりオーバークラウドのデプロイメントが分りやすく、またデバッグがより簡単になります。Ansible を使用することで、heat とオーバークラウドノード上の heat エージェント (os-collect-config) 間の通信およびソフトウェア設定デプロイメントデータの移動が置き換えられます。

各オーバークラウドノード上で os-collect-config を動作させ heat からデプロイメントデータをポーリングするのに代わって、Ansible のコントロールノードが Ansible インベントリーファイルおよび Playbook とタスクのセットと共に ansible-playbook を実行し、設定を適用します。Ansible のコントロールノード (ansible-playbook を実行するノード) は、デフォルトではアンダークラウドです。
コンテナー化された Ironic サービスに対応するために、--http-boot のデフォルト値が /httpboot から /var/lib/ironic/httpboot に変更されました。
以前のリリースでは、IPMI bootdev コマンドを送信すると、一部のハードウェアでブートデバイスの順序が意図せず変わっていました。そのため、一部のノードが正しい NIC から起動しなくなったり、PXE がどの場所からも起動しなくなったりしていました。

本リリースで、IPMI ドライバーに noop 管理インターフェースが追加されました。このインターフェースがブートコマンドを処理し、bootdev が使用されないようにします。noop インターフェースを準備するには、正しい NIC から PXE ブートモードを試みるようにノードを事前設定し、その後ローカルのハードドライブにフォールバックする必要があります。

python-virtualbmc

今回の更新で、デバッグモードを有効にして応答をレンダリングするとサーバークラッシュを起こすデバッグメッセージの補完に関するバグが修正されています。
パッケージのインストール中、virtualbmc パッケージの RPM 仕様のバグのために、virtualbmc サービスを実行する特殊ユーザーまたはグループが作成されませんでした。今回の更新で RPM の仕様が修正され、ユーザー管理操作が正しく実施されるようになりました。パッケージがインストールされると、virtualbmc サービスが正常に開始されます。
VirtualBMC (VBMC) はサポートされなくなったので、本番環境では使用しないでください。テストの目的であれば、pip を使用して直接 VBMC をインストールすることができます。