第14章 placement
この章では、placement
サービスの設定オプションを説明します。
14.1. placement.conf リンクのコピーリンクがクリップボードにコピーされました!
このセクションには、/etc/placement/placement.conf
ファイルのオプションが含まれています。
14.1.1. DEFAULT リンクのコピーリンクがクリップボードにコピーされました!
次の表は、placement.conf
ファイルの [DEFAULT]
グループで使用できるオプションの概要をまとめたものです。
.
設定オプション = デフォルト値 | タイプ | 説明 |
---|---|---|
| ブール値 | true に設定すると、ログレベルはデフォルトの INFO レベルではなく DEBUG に設定されます。 |
| リスト値 | logger=LEVEL ペアのパッケージロギングレベルのリスト。このオプションは、log_config_append が設定されている場合は無視されます。 |
| ブール値 | 非推奨の致命的なステータスを有効または無効にします。 |
instance_format = [instance: %(uuid)s] | 文字列値 | ログメッセージで渡されるインスタンスの形式。 |
instance_uuid_format = [instance: %(uuid)s] | 文字列値 | ログメッセージで渡されるインスタンス UUID の形式。 |
| 文字列値 | ロギング設定ファイルの名前。このファイルは、既存のロギング設定ファイルに追加されます。ロギング設定ファイルの詳細は、Python のロギングモジュールのドキュメントを参照してください。ロギング設定ファイルを使用すると、すべてのロギング設定が設定ファイルで設定され、その他のロギング設定オプションは無視されます (例:log-date-format)。 |
| 文字列値 | ログレコードの %%(asctime)s のフォーマット文字列を定義します。デフォルト:%(default)sこのオプションは、log_config_append が設定されている場合は無視されます。 |
| 文字列値 | (オプション)log_file の相対パスに使用されるベースディレクトリー。このオプションは、log_config_append が設定されている場合は無視されます。 |
| 文字列値 | (オプション) ロギング出力を送信するログファイルの名前。デフォルトが設定されていない場合、ロギングは use_stderr で定義されているように stderr に送信されます。このオプションは、log_config_append が設定されている場合は無視されます。 |
| 整数値 | ログファイルがローテーションされるまでの時間。このオプションは、log_rotation_type が "interval" に設定されていない限り無視されます。 |
| 文字列値 | ローテーション間隔の種別。次のローテーションをスケジューリングする際に、最後のファイル変更の時刻 (またはサービスの起動時刻) が使用されます。 |
| 文字列値 | ログローテーションの種別。 |
| 文字列値 | コンテキスト付きログメッセージに使用するフォーマット文字列。oslo_log.formatters.ContextFormatter により使用されます。 |
| 文字列値 | メッセージのロギングレベルが DEBUG の場合にログメッセージに追加する追加のデータ。oslo_log.formatters.ContextFormatter により使用されます。 |
| 文字列値 | コンテキストが定義されていない場合に、ログメッセージに使用するフォーマット文字列。oslo_log.formatters.ContextFormatter により使用されます。 |
| 文字列値 | この形式で、例外出力の各行の前に接頭辞が付けられます。oslo_log.formatters.ContextFormatter により使用されます。 |
| 文字列値 | logging_context_format_string で使用される %(user_identity)s のフォーマット文字列を定義します。oslo_log.formatters.ContextFormatter により使用されます。 |
| 整数値 | ローテーションされたログファイルの最大数。 |
| 整数値 | ログファイルの最大サイズ (MB 単位)。"log_rotation_type" が "size" に設定されていない場合は、このオプションは無視されます。 |
| ブール値 | エラーイベントの公開を有効または無効にします。 |
| 文字列値 | Placement python モジュールがインストールされているディレクトリー。 Placement 内部データを保持する必要がある他の設定オプションのデフォルトパスです。このオプションをデフォルト値から変更する必要がある可能性はあまりありません。 可能な値:
関連するオプション:
|
| 整数値 | rate_limit_interval ごとのログ記録されたメッセージの最大数。 |
| 文字列値 | レート制限で使用されるログレベル名:CRITICAL、ERROR、INFO、WARNING、DEBUG または空の文字列。rate_limit_except_level 以上のレベルのログはフィルターされません。空の文字列は、すべてのレベルがフィルターされることを意味します。 |
| 整数値 | ログのレート制限の間隔 (秒数)。 |
| 文字列値 | Placement で使用される状態を維持するための最上位ディレクトリー。 このディレクトリーは、Placement の内部状態を保存するために使用されます。Nova から動作が引き継がれる一部のテストで使用されます。 可能な値:
|
| 文字列値 | ログ行を受け取る syslog ファシリティー。このオプションは、log_config_append が設定されている場合は無視されます。 |
| 文字列値 | 一時作業ディレクトリーを明示的に指定します。 |
| ブール値 | ロギング用の journald を有効にします。systemd 環境で実行している場合は、ジャーナルサポートを有効にしたい場合があります。その場合、ログメッセージに加えて構造化されたメタデータが含まれる journal ネイティブプロトコルが使用されます。このオプションは、log_config_append が設定されている場合は無視されます。 |
| ブール値 | ロギングに JSON 形式を使用します。このオプションは、log_config_append が設定されている場合は無視されます。 |
| ブール値 | ロギングに syslog を使用します。既存の syslog 形式は非推奨であり、後に RFC5424 に従うように変更されます。このオプションは、log_config_append が設定されている場合は無視されます。 |
| ブール値 | 出力を Windows イベントログに記録します。 |
| ブール値 | 出力を標準エラーに記録します。このオプションは、log_config_append が設定されている場合は無視されます。 |
| ブール値 | ファイルシステムを監視するように設計されたログハンドラーを使用します。ログファイルが移動または削除されると、このハンドラーは、指定されたパスで新しいログファイルを即時に開きます。これは、log_file オプションを指定し、Linux プラットフォームが使用される場合にのみ有効です。このオプションは、log_config_append が設定されている場合は無視されます。 |
14.1.2. api リンクのコピーリンクがクリップボードにコピーされました!
次の表は、placement.conf
ファイルの [api]
グループで使用できるオプションの概要をまとめたものです。
設定オプション = デフォルト値 | タイプ | 説明 |
---|---|---|
| 文字列値 | これにより、認証に使用するストラテジー (keystone または noauth2) が決まります。noauth2 はテスト専用に設計されており、実際の認証情報チェックは実行しません。noauth2 は、ユーザー名として admin が指定されている場合にのみ管理者認証情報を提供します。 |
14.1.3. cors リンクのコピーリンクがクリップボードにコピーされました!
次の表は、placement.conf
ファイルの [cors]
グループで使用できるオプションの概要をまとめたものです。
設定オプション = デフォルト値 | タイプ | 説明 |
---|---|---|
| ブール値 | 実際の要求にユーザーの認証情報を含めることができることを示します。 |
| リスト値 | 実際の要求時に使用されるヘッダーフィールド名を示します。 |
| リスト値 | 実際の要求時に使用できるメソッドを示します。 |
| リスト値 | このリソースがリクエストの "origin" ヘッダーで受信したドメインと共有されるかどうかを示します。形式: "<protocol>://<host>[:<port>]" (行末のスラッシュなし)例: https://horizon.example.com |
| リスト値 | API に安全に公開できるヘッダーを示します。デフォルトは HTTP Simple ヘッダーです。 |
| 整数値 | CORS プリフライトリクエストの最大キャッシュ期間。 |
14.1.4. keystone_authtoken リンクのコピーリンクがクリップボードにコピーされました!
次の表は、placement.conf
ファイルの [keystone_authtoken]
グループで使用できるオプションの概要をまとめたものです。
設定オプション = デフォルト値 | タイプ | 説明 |
---|---|---|
| 文字列値 | プラグイン固有のオプションを読み込む config セクション |
| 文字列値 | 読み込む認証タイプ |
| 文字列値 | "パブリック" の Identity API エンドポイントを完了します。このエンドポイントは、すべてのエンドユーザーがアクセスできる必要があるため、"admin" エンドポイントにすることはできません。認証されていないクライアントは、認証のためにこのエンドポイントにリダイレクトされます。このエンドポイントにはバージョンを指定しないことが理想的ですが、ワイルドカードでのクライアントのサポートは異なります。バージョン指定された v2 エンドポイントを使用している場合、通常エンドユーザーがそのエンドポイントに到達できない可能性があるため、これはサービスユーザーがトークンを検証するために使用するエンドポイントにすることは できません。このオプションは www_authenticate_uri が優先されるため非推奨となり、S リリースで削除される予定です。非推奨: Queens 以降 *理由:* auth_uri オプションは www_authenticate_uri が優先されるため非推奨となり、S リリースで削除される予定です。 |
| 文字列値 | Identity API エンドポイントの API バージョン。 |
| 文字列値 |
Swift キャッシュオブジェクトが保存される環境キーを要求します。auth_token ミドルウェアを Swift キャッシュと共にデプロイする場合は、このオプションを使用して、ミドルウェアが swift とキャッシングバックエンドを共有するようにします。それ以外の場合は、代わりに |
| 文字列値 | HTTPs 接続の検証時に使用する PEM でエンコードされた認証局。デフォルトはシステム CA です。 |
| 文字列値 | ID サーバーでクライアント証明書が必要な場合に必要です。 |
| ブール値 | ミドルウェア内の認可要求を処理せず、承認の決定をダウンストリームの WSGI コンポーネントに委譲します。 |
| 文字列値 | トークンバインディングの使用および種別を制御するために使用されます。トークンバインディングのチェックを無効するには、"disabled" に設定します。バインドタイプがサーバーの認識する形式の場合にはバインディング情報を検証し、そうでない場合には無視するには、"permissive" (デフォルト) に設定します。"strict" は "permissive" と類似していますが、バインドタイプが不明な場合にはトークンが拒否されます。"required" の場合は、いずれかの形式のトークンバインディングが必要です。最後に、トークンに指定する必要のあるバインディングメソッドの名前。 |
| 整数値 | Identity API サーバーと通信する際の要求タイムアウト値。 |
| 整数値 | Identity API サーバーと通信する際に再接続を試行する回数。 |
| ブール値 | (オプション)X-Service-Catalog ヘッダーを設定するかどうかを示します。False の場合、ミドルウェアはトークンの検証時にサービスカタログを要求せず、X-Service-Catalog ヘッダーを設定しません。 |
| ブール値 | HTTPS 接続を確認します。 |
| 文字列値 | Identity API エンドポイントに使用するインターフェイス。有効な値は、"public"、"internal" (デフォルト)、または "admin" です。 |
| 文字列値 | ID サーバーでクライアント証明書が必要な場合に必要です。 |
| 整数値 | (オプション) プールから memcached クライアント接続を取得するまで操作が待機する秒数。 |
| 整数値 | (オプション)memcached サーバーが停止しているとみなされる秒数。この秒数が経過すると再試行されます。 |
| 整数値 | (オプション) すべての memcached サーバーへのオープン接続の最大合計数。 |
| 整数値 | (オプション)memcached サーバーと通信する際のソケットのタイムアウト (秒単位)。 |
| 整数値 | (オプション)memcached への接続がプール内で未使用の状態を維持する秒数。この秒数が経過すると終了されます。 |
| 文字列値 | (オプション、memcache_security_strategy が定義されている場合には必須) この文字列は鍵の導出に使用されます。 |
| 文字列値 | (オプション) 定義されている場合は、トークンデータを認証、または認証して暗号化する必要があるかどうかを示します。MAC の場合、キャッシュでトークンデータが認証されます (HMAC を使用)。ENCRYPT の場合、キャッシュでトークンデータが暗号化され、認証されます。値がこれらのオプションのいずれでもない場合や空の場合には、auth_token は初期化時に例外を発生させます。 |
| 文字列値 | (オプション) TLS コンテキストで作成されたソケットで利用可能な暗号を設定します。OpenSSL 暗号リスト形式の文字列である必要があります。指定されていない場合は、OpenSSL 対応の暗号がすべて利用可能になります。 |
| 文字列値 | (オプション) キャッシュサーバーの信頼性を確立するのに必要な PEM 形式の連結された CA 証明書のファイルへのパス。tls_enabled が False の場合、このオプションは無視されます。 |
| 文字列値 | (オプション) クライアントの証明書と証明書の信頼性を確立するために必要な任意の数の CA 証明書を含む PEM 形式の単一ファイルへのパス。このファイルは、クライアント側の認証が必要な場合にのみ必要です。tls_enabled が False の場合、このオプションは無視されます。 |
| ブール値 | (オプション) キャッシングサーバーと連携する際に、TLS の使用をグローバルに切り替えます。 |
| 文字列値 | (オプション) クライアントの秘密鍵を含む単一ファイルへのパス。それ以外の場合、秘密鍵は tls_certfile で指定されたファイルから取得されます。tls_enabled が False の場合、このオプションは無視されます。 |
| ブール値 | (オプション) 高度な (eventlet に対して安全な) memcached クライアントプールを使用します。 |
| リスト値 | オプションで、キャッシュに使用する memcached サーバーのリストを指定します。未定義のままの場合、トークンは代わりに処理中にキャッシュされます。 |
| 文字列値 | アイデンティティーサーバーがあるリージョン。 |
| リスト値 | サービストークンに存在する必要があるロールの選択。サービストークンは、期限切れのトークンを使用できることを要求できるため、このチェックでは実際のサービスのみがこのトークンを送信するように厳密に制御する必要があります。ここでのロールは ANY チェックとして適用されるため、このリストのロールはすべて存在している必要があります。後方互換性の理由から、現在 allow_expired チェックにのみ影響します。 |
| ブール値 | 後方互換性の理由から、service_token_roles チェックを有効としてパスしない有効なサービストークンをパスさせる必要があります。これを true に設定することが今後のリリースでデフォルトとなり、可能な場合は有効にされる必要があります。 |
| 文字列値 | サービスカタログに表示されるサービスの名前または種別。これは、制限されたアクセスルールがあるトークンを検証するために使用されます。 |
| 整数値 | トークンの検証に過剰な時間を費やすのを防ぐために、ミドルウェアは、設定可能な期間 (秒単位) 中は以前に見たトークンをキャシュします。キャッシュを完全に無効にするには -1 に設定します。 |
| 文字列値 | "パブリック" の Identity API エンドポイントを完了します。このエンドポイントは、すべてのエンドユーザーがアクセスできる必要があるため、"admin" エンドポイントにすることはできません。認証されていないクライアントは、認証のためにこのエンドポイントにリダイレクトされます。このエンドポイントにはバージョンを指定しないことが理想的ですが、ワイルドカードでのクライアントのサポートは異なります。バージョン指定された v2 エンドポイントを使用している場合、通常エンドユーザーがそのエンドポイントに到達できない可能性があるため、これはサービスユーザーがトークンを検証するために使用するエンドポイントにすることは できません。 |
14.1.5. oslo_middleware リンクのコピーリンクがクリップボードにコピーされました!
次の表は、placement.conf
ファイルの [oslo_middleware]
グループで使用可能なオプションの概要をまとめたものです。
設定オプション = デフォルト値 | タイプ | 説明 |
---|---|---|
| ブール値 | アプリケーションがプロキシーの背後であるかどうか。これにより、ミドルウェアがヘッダーを解析すべきかどうかを決定します。 |
14.1.6. oslo_policy リンクのコピーリンクがクリップボードにコピーされました!
次の表は、placement.conf
ファイルの [oslo_policy]
グループで使用できるオプションの概要をまとめたものです。
設定オプション = デフォルト値 | タイプ | 説明 |
---|---|---|
| ブール値 |
このオプションは、ポリシーを評価するときに古い非推奨のデフォルトを使用するかどうかを制御します。 |
| ブール値 |
このオプションは、ポリシーを評価する際にスコープを適用するかどうかを制御します。 |
| 文字列値 | デフォルトルール。要求されたルールが見つからない場合に適用されます。 |
| 多値 | ポリシー設定ファイルが保存されるディレクトリー。これは、config_dir オプションで定義される検索パス内の任意のディレクトリーへの相対パスか、絶対パスにすることができます。このディレクトリーの検索には、policy_file で定義されたファイルが存在している必要があります。存在しないディレクトリーまたは空のディレクトリーは無視されます。 |
| 文字列値 | ロールを指定のサービスのパーミッションにマッピングするファイルの相対パスまたは絶対パス。相対パスは、このオプションを設定する設定ファイルに対する相対パスとして指定する必要があります。 |
| 文字列値 | REST ベースのポリシーチェックのデータを送受信するコンテンツ種別 |
| 文字列値 | REST ベースのポリシーチェック用の認証局証明書ファイルの絶対パス |
| 文字列値 | REST ベースのポリシーチェック用のクライアント証明書の絶対パス |
| 文字列値 | REST ベースのポリシーチェック用のクライアント鍵ファイルの絶対パス |
| ブール値 | REST ベースのポリシーチェックのサーバーアイデンティティー検証 |
14.1.7. placement リンクのコピーリンクがクリップボードにコピーされました!
次の表は、placement.conf
ファイルの [placement]
グループで使用できるオプションの概要をまとめたものです。
設定オプション = デフォルト値 | タイプ | 説明 |
---|---|---|
| 文字列値 | 割り当て候補の生成中に、Placement が実行可能なルートプロバイダーを訪問する順序を定義します。
デプロイメントに幅広く対称的なプロバイダーツリーがある場合、つまり、同じルートの下に同じリソースクラスからのインベントリーを持つ複数の子プロバイダーがある場合 (例: nova の Placement 機能の mdev GPU または PCI の場合)、max_allocation_candidates 制限がある深さ優先ストラテジーにより、限られたルートプロバイダーのセットから候補が生成されることがあります。一方で、幅優先ストラテジーでは、確実にすべての実行可能なルートから候補がバランスよく返されます。 どちらのストラテジーでも、API レスポンス内の候補は、未定義だが決定論的な順序で生成されます。つまり、すべての条件が同じであれば、割り当て候補の 2 つのリクエストは同じ順序で同じ結果を返しますが、その順序がどのように決定されるかについては保証されません。 |
| 整数値 | リソースプロバイダーの生成競合が発生した場合に、サーバー側の書き込み割り当てを再試行する回数。同じリソースプロバイダーへの同時割り当てが多数予想される場合は、この値を増やすと便利です。 |
| 文字列値 | 初期の API マイクロバージョン (1.8 未満) では、割り当てを作成しても、コンシューマーのプロジェクトまたはユーザー ID を指定する必要はありませんでした。データモデリングをクリーンアップする際に、プロジェクト情報とユーザー情報の欠落が許容されなくなりました。古いクライアントが割り当てを行った場合、提供されない情報の代わりにこれを使用します。 |
| 文字列値 | 初期の API マイクロバージョン (1.8 未満) では、割り当てを作成しても、コンシューマーのプロジェクトまたはユーザー ID を指定する必要はありませんでした。データモデリングをクリーンアップする際に、プロジェクト情報とユーザー情報の欠落が許容されなくなりました。古いクライアントが割り当てを行った場合、提供されない情報の代わりにこれを使用します。 |
| 整数値 | Placement によって単一のリクエストに対して生成される割り当て候補の最大数。これは、過剰なメモリー使用とクエリー実行時間を回避するためのグローバル制限です。-1 に設定すると、生成される候補の数は、リソースプロバイダーの数と構造、および allocation_candidates クエリーの内容によってのみ制限されます。 allocation_candidates クエリーの limit パラメーターは実行可能な候補がすべて生成された後に適用されるため、limit だけではクエリーの実行時間やメモリー消費を制限するのに十分ではないことに注意してください。 何千ものリソースプロバイダーがあるデプロイメントの場合、またはデプロイメントに幅広く対称的なプロバイダーツリーがある場合 (つまり、たとえば nova の mdev GPU または Placement 機能の PCI のように、同じルートの下に同じリソースクラスのインベントリーを持つ複数の子プロバイダーがある場合)、Placement サービスで使用可能なメモリーとクライアント側のクライアントタイムアウト設定に基づいてこの設定オプションを調整することが推奨されます。適切な初期値は 100000 程度です。 幅広く対称的なプロバイダーツリーを持つデプロイメントでは、[placement]allocation_candidates_generation_strategy を幅優先に変更することも推奨されます。 |
| ブール値 | True の場合、割り当て候補の結果を制限するときに、結果は完全な結果セットのランダムサンプリングになります。[placement]max_allocation_candidates 設定により、サンプリングの入力として使用される完全なセットのサイズが制限される場合があります。 False の場合、割り当て候補は決定的だが未定義の順序で返されます。つまり、すべての条件が同じであれば、割り当て候補の 2 つのリクエストは同じ順序で同じ結果を返しますが、その順序がどのように決定されるかについては保証されません。 |
14.1.8. placement_database リンクのコピーリンクがクリップボードにコピーされました!
次の表は、placement.conf
ファイルの [placement_database]
グループで使用できるオプションの概要をまとめたものです。
設定オプション = デフォルト値 | タイプ | 説明 |
---|---|---|
| 文字列値 | データベースへの接続に使用する SQLAlchemy 接続文字列。 |
| 整数値 | SQL デバッグ情報の冗長性: 0=なし、100=すべて。 |
`connection_parameters = ` | 文字列値 | 接続時に接続 URL に追加するオプションの URL パラメーター。param1=value1¶m2=value2&… として指定します。 |
| 整数値 | この秒数より長く接続プールに存在していた接続は、次にプールからチェックアウトされたときに新しい接続に置き換えられます。 |
| ブール値 | Python スタックトレースをコメント文字列として SQL に追加します。 |
| 整数値 | 設定されている場合、この値を SQLAlchemy で max_overflow に使用します。 |
| 整数値 | プールに開いたままにする SQL 接続の最大数。値を 0 に設定すると無制限を意味します。 |
| 整数値 | 起動時のデータベース接続の最大再試行数。再試行回数を無限に指定するには -1 に設定します。 |
| 文字列値 | MySQL セッションに使用する SQL モード。このオプション (デフォルトを含む) は、サーバーセット SQL モードを上書きします。サーバー設定で設定された SQL モードを使用するには、これを no value に設定します。例: mysql_sql_mode= |
| 整数値 | 設定されている場合は、この値を SQLAlchemy で pool_timeout に使用します。 |
| 整数値 | SQL 接続を開く再試行の間隔。 |
| 文字列値 | スレーブデータベースへの接続に使用する SQLAlchemy 接続文字列。 |
| ブール値 | True の場合、SQLite は同期モードを使用します。 |
| ブール値 | True の場合、Web サービスの開始時にデータベーススキーマの移行が試行されます。 |
14.1.9. profiler リンクのコピーリンクがクリップボードにコピーされました!
次の表は、placement.conf
ファイルの [profiler]
グループで使用できるオプションの概要をまとめたものです。
設定オプション = デフォルト値 | タイプ | 説明 |
---|---|---|
| 文字列値 | 通知バックエンドの接続文字列。
デフォルト値は 使用できる値の例:
|
| ブール値 | このノード上の全サービスのプロファイリングを有効にします。 デフォルト値は False です (プロファイリング機能を無効にします)。 可能な値:
|
| 文字列値 | elasticsearch の通知インデックスに関するドキュメントタイプ。 |
| 整数値 | elasticsearch は大規模な要求をバッチに分割します。このパラメーターは、各バッチの最大サイズを定義します (例: es_scroll_size=10000)。 |
| 文字列値 | このパラメーターは時間値パラメーター (es_scroll_time=2m など) です。これは、検索に参加するノードが継続してサポートするために関連するリソースを維持する時間を示します。 |
| ブール値 | エラー/例外を含むフィルタートレースを分離された場所へ有効にします。 デフォルト値は False に設定されます。 可能な値:
|
| 文字列値 | パフォーマンスプロファイリング用にコンテキストデータの暗号化に使用するシークレットキー。 この文字列値は <key1>[,<key2>,…<keyn>] の形式にする必要があります。各キーはランダムな文字列です。REST API 経由でプロファイリングをトリガーするユーザーは、REST API 呼び出しのヘッダーにこれらのキーの 1 つを設定し、この特定プロジェクトのノードのプロファイリング結果が含まれるようにする必要があります。 プロファイリングを有効にするには、"enabled" フラグと "hmac_keys" 設定オプションの両方を設定する必要があります。また、少なくとも 1 つのキーで全サービス間で正しいプロファイリング情報を生成するには、OpenStack プロジェクト間で一貫性を確保する必要があります。これにより、クライアント側からを使用して、すべての可能なリソースからの情報を含むトレースを生成できます。 |
| 文字列値 |
Redissentinel はサービス名を使用してマスターの redis サービスを識別します。このパラメーターは名前を定義します (例: |
| 浮動小数点の値 | Redissentinel は、接続に timeout オプションを提供します。このパラメーターは、タイムアウトを定義します (例: socket_timeout=0.1)。 |
| ブール値 | サービスで SQL 要求のプロファイリングを有効にします。 デフォルト値は False です (SQL 要求はトレースされません)。 可能な値:
|