18.4.3. イメージインポート時のメタデータ注入による仮想マシン起動場所の制御
エンドユーザーは Image サービスにイメージを追加し、それらのイメージを使用して仮想マシンを起動することができます。これらのユーザーの提供する (非管理者) イメージは、特定のコンピュートノードセットで起動する必要があります。インスタンスのコンピュートノードへの割り当ては、イメージメタデータ属性で制御されます。
Image Property Injection プラグインにより、メタデータ属性がインポート時にイメージに注入されます。属性を指定するには、glance-image-import.conf
ファイルの [image_import_opts] および [inject_metadata_properties] セクションを編集します。
Image Property Injection プラグインを有効にするには、[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
は、プラグインが無視する Keystone ロールのコンマ区切りリストです。つまり、イメージのインポートをコールするユーザーがこれらのロールを持つ場合には、プラグインはイメージに属性を注入しません。
パラメーター inject
は、インポートされたイメージのイメージレコードに注入される属性と値のコンマ区切りリストです。それぞれの属性と値は、上記の例に示すようにコロン (「:」) で区切る必要があります。
glance-image-import.conf
ファイルは、Image サービスのソースコードツリーの etc/ サブディレクトリーにあります。使用している OpenStack のリリースに対応する正しいブランチを使用してください。