第4章 バグ修正
本セクションでは、今回リリースされた Red Hat Ceph Storage で修正されたユーザーに大きな影響を及ぼすバグを説明します。また、セクションでは、以前のバージョンで見つかり修正された既知の問題を説明します。
4.1. Cephadm ユーティリティー
Ceph の初期設定で引用符で囲まれた IP のコンマ区切りリストがパブリックネットワークとして渡された場合に、ブートストラップが失敗しなくなりました。
以前のリリースでは、リストが引用されている場合に、cephadm
ブートストラップは IP アドレスのコンマ区切りリストを誤って解析していました。このため、引用符で囲まれた IP アドレスのコンマ区切りのリスト (例: '172.120.3.0/24,172.117.3.0/24,172.118.3.0/24,172.119.3.0/24') が、--config
パラメーターを使用してブートストラップに渡される Ceph 初期設定で public_network
として指定された場合、ブートストラップは失敗します。
この修正により、public_network
または cluster_network
のブートストラップに渡される初期 Ceph 設定に、引用符で囲まれた IP のコンマ区切りのリストを入力できるようになり、想定どおりに機能するようになりました。
cephadm
は、指定の yaml ファイルの解析を必要以上に試行しなくなりました。
以前のリリースでは、cephadm
ブートストラップは、指定された yaml ファイルを必要以上に手動で解析しようとしていました。このため、ユーザーが有効な yaml ファイルを cephadm
ブートストラップに指定したとしても、個々の仕様によっては手動解析が失敗し、仕様全体が破棄されることがありました。
今回の修正により、cephadm
は必要以上の yaml の解析を試行しなくなりました。ホストの仕様は、SSH キーを分散する目的でのみ検索されます。それ以外の場合、仕様は単にマネージャーモジュールに渡されます。cephadm bootstrap --apply-spec
コマンドは、有効な仕様であれば期待どおりに動作するようになりました。
host.containers.internal
エントリーが、デプロイされたコンテナーの /etc/hosts
ファイルに追加されなくなりました。
以前のリリースでは、特定の podman バージョンでデプロイされたコンテナーの /etc/hosts
ファイルに host.containers.internal
エントリーがデフォルトで追加されていました。このため、一部のサービスにおいて、このエントリーが実ノードの FQDN であると誤解される問題が発生しました。
今回の修正により、Cephadm はコンテナーのデプロイ時にホストの /etc/hosts
ファイルをマウントするようになりました。コンテナー内の /etc/hosts
ファイルに host.containers.internal
エントリーは存在しなくなり、このエントリーに関連するすべてのバグが回避されますが、ユーザーはコンテナー内の名前解決のためにホストの /etc/hosts
を引き続き参照できます。
cephadm
は、実際の変更が発生した場合にのみデバイス情報をログに記録するようになりました。
以前のリリースでは、cephadm` は、OSD に関して報告されたすべてのフィールドを比較して、新しいデバイスまたは変更されたデバイスがないかを確認します。しかし、これらのフィールドの 1 つに、毎回異なるタイムスタンプが含まれていました。そのため、`cephadm
は、実際に変更されたかどうかに関係なく、ホストのデバイスを更新するたびに 'Detected new or changed devices' とログに記録していました。
今回の修正により、デバイス情報と以前の情報を比較する場合に、常に変更される可能性のあるタイムスタンプのフィールドは考慮されなくなりました。Cephadm
は、デバイスに実際の変更がある場合にのみログを記録するようになりました。
生成された Prometheus URL にアクセスできるようになりました。
以前のリリースでは、ホストに FQDN がない場合に、生成される Prometheus URL は http://_host-shortname :9095_ となり、アクセスできませんでした。
今回の修正により、使用可能な FQDN がない場合、短縮形でホスト IP が使用されます。Prometheus 用に生成された URL は、利用できる FQDN がないサービスにホスト Prometheus がデプロイされている場合でも、アクセス可能な形式になりました。
ホストへのファイル書き込み中に cephadm のパーミッションの問題が発生しなくなりました。
以前は、cephadm は最初に /tmp
ディレクトリー内にファイルを作成してから、最終的な場所に移動していました。このため、特定の設定では、ファイルの書き込み時に権限の問題が発生し、権限が変更されるまで cephadm が事実上動作できなくなっていました。
この修正により、cephadm は/tmp 内のサブディレクトリーを使用して、同じ権限の問題がないホストにファイルを書き込みます。