7.5. カスタム特性とリソースクラスの宣言


管理者は、以下のいずれかの方法を使用して、Red Hat OpenStack Platform (RHOSP)オーバークラウドノードでどのカスタム物理機能と消費可能なリソースが利用可能であるかを宣言できます。

  • YAML ファイルでリソースのカスタムインベントリーを定義することにより、provider.yaml
  • 特定のノードロールに適用されるリソースのカスタムインベントリーを定義する方法。

CUSTOM_DIESEL_BACKUP_POWERCUSTOM_FIPS_COMPLIANTCUSTOM_HPC_OPTIMIZED などのカスタム特性を定義することで、物理ホスト機能の可用性を宣言できます。CUSTOM_DISK_IOPSCUSTOM_POWER_WATTS などのリソースクラスを定義することで、消費可能なリソースの可用性を宣言することもできます。

7.5.1. YAML ファイルでのカスタム特性とリソースクラスの宣言

管理者は、YAML ファイル provider.yaml でリソースのカスタムインベントリーを定義することにより、Red Hat OpenStack Platform (RHOSP) オーバークラウドノードでどのカスタム物理機能と消費可能なリソースが利用可能であるかを宣言できます。

CUSTOM_DIESEL_BACKUP_POWERCUSTOM_FIPS_COMPLIANTCUSTOM_HPC_OPTIMIZED などのカスタム特性を定義することで、物理ホスト機能の可用性を宣言できます。CUSTOM_DISK_IOPSCUSTOM_POWER_WATTS などのリソースクラスを定義することで、消費可能なリソースの可用性を宣言することもできます。

注記

フレーバーメタデータを使用して、カスタムリソースとカスタム特性を要求できます。詳細は、インスタンスのベアメタルリソースクラスインスタンスのリソース特性 を参照してください。

手順

  1. /home/stack/templates/provider.yaml という名前のファイルを作成します。
  2. リソースプロバイダーを設定するには、provider.yaml ファイルに次の設定を追加します。

    meta:
      schema_version: '1.0'
    providers:
      - identification:
          uuid: <node_uuid>
    Copy to Clipboard
    • <node_uuid> をノードの UUID に置き換えます (例: '5213b75d-9260-42a6-b236-f39b0fd10561')。あるいは、name プロパティーを使用してリソースプロバイダーを指定することもできます (name: 'EXAMPLE_RESOURCE_PROVIDER')
  3. リソースプロバイダー用に使用可能なカスタムリソースクラスを設定するには、次の設定を provider.yaml ファイルに追加します。

    meta:
      schema_version: '1.0'
    providers:
      - identification:
          uuid: <node_uuid>
        inventories:
          additional:
            - CUSTOM_EXAMPLE_RESOURCE_CLASS:
                total: <total_available>
                reserved: <reserved>
                min_unit: <min_unit>
                max_unit: <max_unit>
                step_size: <step_size>
                allocation_ratio: <allocation_ratio>
    Copy to Clipboard
    • CUSTOM_EXAMPLE_RESOURCE_CLASS をリソースクラスの名前に置き換えます。カスタムリソースクラスは接頭辞 CUSTOM_ で始まり、A から Z までの文字、0 から 9 までの数字、およびアンダースコア "_" だけを使用する必要があります。
    • <total_available> は、このリソースプロバイダーで使用可能な CUSTOM_EXAMPLE_RESOURCE_CLASS の数に置き換えます。
    • &lt ;reserved&gt; は、このリソースプロバイダー用に予約されている CUSTOM_EXAMPLE_RESOURCE_CLASS の数に置き換えます。
    • <min_unit> は、単一インスタンスが消費できるリソースの最小単位に置き換えます。
    • <max_unit> は、単一インスタンスが消費できるリソースの最大単位に置き換えます。
    • &lt ;step_size> は、消費量のインクリメント数に置き換えます。
    • & lt;allocation_ratio& gt; をリソースの割り当て比率を設定する値に置き換えます。過剰割り当てを防ぐには 1.0 に設定します。リソースの可用性を物理ハードウェアより多くするには、1.0 より大きい値に設定します。
  4. リソースプロバイダー用に使用可能な特性を設定するには、provider.yaml ファイルに次の設定を追加します。

    meta:
      schema_version: '1.0'
    providers:
      - identification:
          uuid: <node_uuid>
        inventories:
          additional:
          ...
        traits:
          additional:
            - 'CUSTOM_EXAMPLE_TRAIT'
    Copy to Clipboard
    • CUSTOM_EXAMPLE_TRAIT を特性の名前に置き換えます。カスタムの特性は接頭辞 CUSTOM_ で始まり、A から Z までの文字、0 から 9 までの数字、およびアンダースコア "_" だけを使用する必要があります。

      provider.yaml ファイルの例

      次の例では、リソースプロバイダーの 1 つのカスタムリソースクラスと 1 つのカスタム特性を宣言します。

      meta:
        schema_version: 1.0
      providers:
        - identification:
            uuid: $COMPUTE_NODE
          inventories:
            additional:
              CUSTOM_LLC:
                # Describing LLC on this Compute node
                total: 22 
      1
      
                reserved: 2 
      2
      
                min_unit: 1 
      3
      
                max_unit: 11 
      4
      
                step_size: 1 
      5
      
                allocation_ratio: 1.0 
      6
      
          traits:
              additional:
                  # This Compute node enables support for P-state control
                  - CUSTOM_P_STATE_ENABLED
      Copy to Clipboard
      1
      このハイパーバイザーには 22 ユニットの最終レベルキャッシュ (LLC) があります。
      2
      LLC のユニットのうち 2 つはホスト用に予約されています。
      3 4
      min_unit および max_unit の値は、単一の仮想マシンが消費できるリソースのユニット数を定義します。
      5
      ステップサイズは消費量の増分を定義します。
      6
      割り当て比率は、リソースの過剰割り当てを設定します。
  5. provider.yaml ファイルを保存して閉じます。
  6. provider.yaml ファイルを他の環境ファイルとともにスタックに追加し、オーバークラウドをデプロイします。

    (undercloud)$ openstack overcloud deploy --templates \
    -e [your environment files] \
    -e /home/stack/templates/provider.yaml
    Copy to Clipboard

7.5.2. ロールのカスタム特性とリソースクラスの宣言

ロールのカスタム特性とリソースクラスを宣言するには、role ファイルで CustomProviderInventories パラメーターを設定する必要があります。

手順

  1. Controller ロールおよび Compute ロール、およびオーバークラウドに必要なその他のロールを含む、roles_data_custom_traits.yaml という名前の新しいロールデータファイルを生成します。

    (undercloud)$ openstack overcloud roles \
     generate -o /home/stack/templates/roles_data_roles_data_custom_traits.yaml \
     Compute:Compute Controller
    Copy to Clipboard
  2. 以下の設定例を使用して、リソースプロバイダーで利用可能なカスタムリソースクラスおよび特性を設定します。

    次の例では、ComputeGpu ロールのカスタムリソースクラスとカスタム特性を宣言します。

     ##########################
      # GPU configuration #
      ##########################
    
      ComputeGpuParameters:
        NovaVGPUTypesDeviceAddressesMapping: {'nvidia-319': ['0000:82:00.0'],
                                              'nvidia-320': ['0000:04:00.0']}
        CustomProviderInventories:
          - name: computegpu-0.localdomain_pci_0000_04_00_0
            traits:
              - CUSTOM_NVIDIA_12
          - name: computegpu-0.localdomain_pci_0000_82_00_0
            traits:
              - CUSTOM_NVIDIA_11
          - name: computegpu-1.localdomain_pci_0000_04_00_0
            traits:
              - CUSTOM_NVIDIA_12
          - name: computegpu-1.localdomain_pci_0000_82_00_0
            traits:
              - CUSTOM_NVIDIA_11
          - uuid: $COMPUTE_NODE
            inventories:
              CUSTOM_EXAMPLE_RESOURCE_CLASS:
                total: 100 
    1
    
                reserved: 0 
    2
    
                min_unit: 1 
    3
    
                max_unit: 10 
    4
    
                step_size: 1 
    5
    
                allocation_ratio: 1.0 
    6
    
              CUSTOM_ANOTHER_EXAMPLE_RESOURCE_CLASS:
                total: 100
            traits:
            # This Compute node enables support for P-state and C-state control
              - CUSTOM_P_STATE_ENABLED
              - CUSTOM_C_STATE_ENABLED
    Copy to Clipboard
    • CUSTOM_EXAMPLE_RESOURCE_CLASS をリソースクラスの名前に置き換えます。カスタムリソースクラスは接頭辞 CUSTOM_ で始まり、A から Z までの文字、0 から 9 までの数字、およびアンダースコア "_" だけを使用する必要があります。
    • <1> total は、このリソースプロバイダーで使用可能な CUSTOM_EXAMPLE_RESOURCE_CLASS の数です。
    • <2> は、このリソースプロバイダー用に予約されている CUSTOM_EXAMPLE_RESOURCE_CLASS の数です。
    • <3> min_unit は、単一インスタンスが消費できるリソースの最小単位です。
    • <4> max_unit は、単一インスタンスが消費できるリソースの最大単位です。
    • <5> step_size は消費量の増分数です。
    • <6> allocation_ratio は、リソースの過剰割り当てを設定します。allocation_ratio を 1.0 に設定すると、過剰割り当ては許可されません。ただし、allocation_ration が 1.0 より大きい場合、使用可能なリソースの合計は物理的に存在するリソースよりも多くなります。
  3. ロールファイルを保存して閉じます。
  4. その他の環境ファイルと共にロールファイルをスタックに追加して、オーバークラウドをデプロイします。

    (undercloud)$ openstack overcloud deploy --templates \
    -e [your environment files] \
    -e /home/stack/templates/roles_data_roles_data_custom_traits.yaml
    Copy to Clipboard
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat