4.3. イメージのインポートにメタデータを注入してインスタンスの起動場所を制御する
クラウドユーザーは、Image サービス (glance) にイメージをアップロードし、そのイメージを使用してインスタンスを起動できます。クラウドユーザーは、特定のコンピュートノードセット上でこれらのイメージを起動する必要があります。イメージメタデータプロパティーを使用して、コンピュートノードへのインスタンスの割り当てを制御できます。
イメージプロパティー注入プラグインにより、メタデータ属性がインポート時にイメージに注入されます。プロパティーは、glance-image-import.conf
ファイルの [image_import_opts]
セクションと [inject_metadata_properties]
セクションを編集することで指定できます。glance-image-import.conf
ファイルは、Image サービスのソースコードツリーの etc/
サブディレクトリーにあります。使用している Red Hat OpenStack Platform (RHOSP) リリースに応じた適切なブランチを使用してください。
イメージプロパティー注入プラグインを有効にするには、[image_import_opts]
セクションに以下の行を追加します。
[image_import_opts] image_import_plugins = [inject_image_metadata]
メタデータの注入を特定ユーザーが提供したイメージに制限するには、ignore_user_roles
パラメーターを設定します。たとえば、以下の設定では、property1
に関する 1 つの値および property2
に関する 2 つの値が、任意の非管理者ユーザーによってダウンロードされたイメージに注入されます。
[DEFAULT] [image_conversion] [image_import_opts] image_import_plugins = [inject_image_metadata] [import_filtering_opts] [inject_metadata_properties] ignore_user_roles = admin inject = PROPERTY1:value,PROPERTY2:value;another value
パラメーター ignore_user_roles
は、プラグインが無視する Identity サービス (keystone) ロールのコンマ区切りリストです。つまり、イメージインポートの呼び出しを行うユーザーにこれらのロールが設定されている場合、プラグインはイメージに属性を注入しません。
パラメーター inject
は、インポートされたイメージのイメージレコードに注入される属性と値のコンマ区切りリストです。それぞれの属性と値は、コロン (‘:')
で区切る必要があります。