第4章 要求のフルフィルメント

4.1. 要求のフルフィルメント

要求が承認された後には、その要求を完了するのに必要なステップを Red Hat CloudForms が実行します。テンプレートではなく仮想マシンから仮想マシンへの通常のプロビジョニングを行うために実行するステップは、自動化エクスプローラー をクリックすると、DOMAINCloud|InfrastructureVMProvisioningVMProvision_VMProvision VM from Template (template) の下に表示されます。そのインスタンスが Datastore アコーディオンにある場合には、各状態の値が表示されます。実行ステップのデフォルトセットを以下に示します。ステートマシンに関する詳しい情報は、「ステートマシン」のセクションを参照してください。

4.2. ステートインスタンスにおけるデフォルトの実行ステップ

ステップ説明

Customize Request

カスタマイズを適用します。

Acquire IP Address

IPAM (IP Address Management) と統合して IP アドレスを取得します。

Acquire MAC Address

IPAM と統合して MAC アドレスを取得します。

Register DNS

IPAM と統合して DNS に登録します。

Register CMDB

CMDB (Configuration Management Database) と統合して、CMDB での登録を行います。

Register AD

IPAM と統合して Active Directory を登録します。

PreProvision

プロビジョニング前のステップ

Provision

仮想マシンまたはインスタンスを作成します。

CheckProvisioned

新規仮想マシン/インスタンスが VMDB にあるかどうかをチェックします。

PostProvision

プロビジョニング後のステップ

Register DHCP

IPAM と統合して、IP アドレスを DHCP サーバーに登録します。

Activate CMDB

IPAM と統合して、CMDB 内の仮想マシンまたはインスタンスをアクティブ化します。

Email owner

所有者にメールを送信して、仮想マシンまたはインスタンスがプロビジョニングされたことを通知します。

4.2.1. クォータ

クォータを使用すると、プロビジョニングされた仮想マシンまたはインスタンスを対象とする最大使用率の閾値をユーザー、グループまたはテナントに設定することができます。これらの最大値は、承認後、実際のプロビジョニングが開始される前に確認されます。クォータはテナントまたはグループ全体に対して設定されます。

4.2.1.1. ユーザーまたはグループクォータの適用

  1. 管理者またはスーパー管理者の権限のあるユーザーとして、Red Hat CloudForms コンソールにログインします。
  2. 自動化エクスプローラー に移動します。
  3. ManageIQSystemCommonMethodsQuotaStateMachinequota インスタンスをカスタムのドメインにコピーします。
  4. アコーディオンメニューで、DOMAINSystemCommonMethodsQuotaStateMachinequota の順にクリックします。

    注記

    デフォルトでは、クォータはテナントに適用され、自動化エクスプローラー に変更を加える必要はありません。

  5. 1847 (設定) をクリックして 1851 (このインスタンスの編集) を選択します。 6300

    1. ユーザー または グループQuota Source Type の値を設定します。

      重要

      プロビジョニングの要求を作成するユーザーは、プロファイルにメールアドレスを保存しておく必要があります。保存去れていない場合にはプロビジョニングが失敗する可能性があります。ユーザー設定の詳細は、『設定全般』「ユーザーの作成」を参照してください。

    2. VM Warning CountVM Maximum CountStorage Warning LimitStorage Maximum LimitCPU Warning CountCPU Maximum CountMemory Warning Limit または Memory Maximum Limit の値を設定して、固有のユーザーまたはグループに対して最大値を指定します。
  6. 保存 をクリックします。

4.2.1.2. 所有者またはグループのクォータに対するタグの使用

Red Hat CloudForms は、仮想マシン/インスタンスの所有者のクォータを適用するためのタグを提供しています。仮想マシン/インスタンスの所有権はプロビジョニングプロセス中か、Configuration Set Ownership ボタンを使用して設定することができます。仮想マシン/インスタンスに所有者が設定されている場合には、仮想マシン/インスタンスの概要ページの ライフサイクル のセクションに値が表示されます。

クォータタグは、設定項目に対してではなく、グループまたは所有者のいずれかに直接割り当てることができます。以下の表にはクォータに使用するタグをまとめています。

カテゴリーの表示名 (名前)用途

Quota Max CPU (quota_max_cpu)

そのグループまたはユーザーが所有する全仮想マシンおよびインスタンスの合計の CPU の最大数を設定します。(サンプル値: 1、2、3、4、5、10、20、30、40、50)

Quota Max Memory (quota_max_memory)

そのグループまたはユーザーが所有する全仮想マシンおよびインスタンスのメモリー合計の最大値を設定します。(MB 単位のサンプル値: 1024、2048、4096、8192、10240、20480、40960、81920)

Quota Max Storage (quota_max_storage)

そのグループまたはユーザーが所有する全仮想マシンおよびインスタンスのストレージ容量の合計の最大数を設定します。(GB 単位のサンプル値: 10、100、1000、20、200、40、400)

4.2.1.3. ユーザーまたはユーザーグループへのタグの適用

  1. 設定メニューから 構成 を選択します。
  2. アクセス制御 のアコーディオンをクリックして、タグを付けるユーザーとグループを選択します。
  3. 1941 (ポリシー) をクリックして 1851 (タグの編集) を選択します。
  4. 割り当てるカスタマータグを選択して、値を指定します。
  5. 保存 をクリックします。
注記

自動化のインスタンスとタグ付けの両方でクォータが適用されると、タグ付けされた値の優先度が上がります。

4.2.1.4. ステートマシン

自動化のステートマシンは、順序指定された一覧を処理します。これにより、1 つのステップが正常に完了してから次のステップが実行されるようにし、ステップの再試行を許可し、状態の再試行を終了するまでの最大時間を設定することができます。各状態が実行される前には、On_Entry メソッドが実行され、状態が終了すると、その終了した状態によって On_Exit または On_Error メソッドが実行されます。

Red Hat CloudForms Automate のステートマシンは、以下のコンポーネントで構成されます。

コンポーネント説明

On_Entry

状態の入力時に実行するメソッド。これにより、ステートマシンの状態が処理される前の事前処理を行う自動化メソッドを実行することができます。

On_Exit

状態を終了する際の実行するメソッド

On_Error

状態の実行時にエラーが発生した場合に実行するメソッド。これにより、ステートマシンがエラーで最後に終了 (MIQ_ABORT) する前に最終処理を行う自動化メソッドを実行することができます。

デフォルト値

On_Entry メソッドの完了後に実行します (処理される実際の状態)。

再試行の最大回数

プロセスを終了する前にその状態を再試行する最大回数

最大時間

プロセスを終了する前にその状態を再試行する最大時間

以下の図には、これらのコンポーネントを組み合わせてステートマシンのワークフローを作成する方法を示しています。

注記

以下のプログラムフローは、On_Entry および On_Error の再試行ロジックをベースとしています。

2353

ステートマシンの再試行ロジックを示すコードスニペット:

# Get current provisioning status
task = $evm.root['service_template_provision_task']
task_status = task['status']
result = task.status

Then check the result to see how it should proceed:

case result
when 'error'
  $evm.root['ae_result'] = 'error'
.....
when 'retry'
  $evm.root['ae_result'] = 'retry'
  $evm.root['ae_retry_interval'] = '1.minute'
when 'ok'
  $evm.root['ae_result'] = 'ok'
end

When the result is "retry", it sets:
  $evm.root['ae_result'] = 'retry'
  $evm.root['ae_retry_interval'] = '1.minute'

以下の図は、プロビジョニング要求の承認に関する単純なステートマシンを示しています。このインスタンスは、DatastoreManageIQInfrastructureVMProvisioningStateMachinesProvisioningRequestApprovalDefault に移動すると表示することができます。 2354

  1. 属性 max_vms の値は 1 に設定されています。ステートマシンののプロセスは、ステートマシンインスタンスのこの属性を使用してロジックの決定を行うことができます。この場合には、ValidateRequest 状態の On_Entry の部分で処理される validate_request メソッドが max_vms 属性を評価します。要求される仮想マシン数が max_vms 値より少ない場合には、要求を自動承認することができます。
  2. ValidateRequest は、最初に実行される状態です。
  3. ApproveRequest は、次に実行される状態です。
注記

グレーアウトされている項目は、クラススキーマで設定されている値を反映しています。これらの値は、インスタンスごとに上書きすることができます。

4.2.1.5. プロビジョニング状態のカスタマイズ

仮想マシンまたはクラウドインスタンスのプロビジョニング時に従うステップは、DOMAINCloud|InfrastructureVMProvisioningStateMachinesVMProvision_VM クラスのインスタンスに基づいています。環境に応じて、プロビジョニングプロセスのステップを削除、変更、追加することができます。たとえば、IPAM または CMDB と統合していない場合には、それらの実行ステップを削除することができます。 6281

4.2.1.6. デフォルト状態のインスタンスの編集

  1. 自動化エクスプローラー に移動します。
  2. アコーディオンで、DOMAINCloudVMProvisioningStateMachinesVMProvision_VM の順でクリックします。

    注記

    DOMAIN は、ロックされた ManageIQ ドメインではなく、ユーザー定義のドメインである必要があります。必要な場合には、ManageIQ ドメインからカスタムドメインにクラスをコピーすることができます。

    上記の例では、Cloud 名前空間を使用していますが、Infrastructure 名前空間を使用することもできます。

  3. 1847 (設定) をクリックして 1851 (このインスタンスの編集) を選択します。 6281
  4. 削除する各ステップで、ValueOn EntryOn Exit、および On Error 列のエントリーを削除します。
  5. 保存 をクリックします。

4.2.1.7. プロビジョニング要求のステータスの表示

要求が承認された後には、フルフィルメントのさまざまな段階が実行されます。プロビジョニング要求プロセスの進捗状況はステータスを表示して確認することができます。

  1. サービス要求 に移動します。
  2. 特定のリクエストをクリックすると、詳しい情報が表示されます。プロビジョニングの開始後に、その要求が複数の仮想マシンまたはインスタンスを作成する場合には、プロビジョニングされた仮想マシン のフィールドが表示されます。その隣にある数字をクリックすると、各プロビジョニングの情報が表示されます。

4.2.1.8. プロビジョニングされた仮想マシンまたはインスタンスの確認

プロビジョニング要求によって仮想マシンまたはインスタンスが作成されると、ライフサイクルe のセクションにプロビジョニングの完了時にサマリーの画面にその概要が表示されます。

  1. サービスワークロード に移動して、表示する仮想マシンまたはインスタンスをクリックします。 2356

4.2.1.9. 仮想マシンまたはインスタンスの概要の表示

サービスワークロード に移動して、表示する仮想マシンをクリックします。