ビジュアル・デザイナを使用したランブックの設計

ビジュアル・デザイナを使用して、フリート・アプリケーション管理でカスタム・ランブックを設計および作成します。デザイナには、ランブックをより簡単に作成および編集できるように、コードを追加するオプションを備えたドラッグ・インタフェースが用意されています。ランブックはYAMLまたはJSONで記述できます。ただし、ビジュアル・デザイナを使用してネイティブJSONまたはYAMLで作成しなくても、ランブックを作成できます。

ビジュアル・デザイナを使用して、次のタスクを実行できます。

  • ランブック・コンポーネントを使用して、ランブックを設計します。
  • ランブックの実行を合理化します。
  • 条件ビルダーを使用して条件文を構成します。
  • 製品コンポーネント、入力変数および出力変数、あるいはその両方に基づいて条件付きタスク実行を構成します。
  • エラー処理を構成します。
  • フリート・アプリケーション管理によって提供されるランブックを示します。
  • ソース・モードまたはデザイナ・モードでコードを追加するカスタム・ランブックの作成に役立つ、図示されたランブックをクローニングします。

ランブックを作成すると、ビジュアル・デザイナが作業内容を検証し、コードを自動的に生成します。生成されたコードを確認するか、ローカル開発用にエクスポートできます。ランブックを作成したら、保存して公開し、コンソールで結果を確認できます。

ビジュアル・デザイナには、次のインタフェース・コンポーネントがあります。
  • 右側の「アクション」ペインには、「コンポーネント」および「プロパティ」タブがあります。
  • 中央のキャンバスは、ランブックを設計するプレースホルダです。パラレル・リソース・グループやローリング・リソース・グループなどのアクション・ペインからコンポーネントをドラッグし、タスクをこれらのグループにドラッグできます。キャンバス上のコンポーネントの順序を変更するには、タスクを実行する順序にコンポーネントを配置するか、プロパティを構成したり、エラーを処理するアクションを選択します。

    キャンバスには、ランブック・タスクを表示および変更するための編集アイコンが各タスク・コンポーネントの横にも表示されます。

    ビジュアル・デザイナを使用しているときにランブックの自動生成されたYAMLまたはJSONコードを表示するには、キャンバスで「ソース」を選択します。YAMLまたはJSONを更新すると、変更内容がデザイナ・モードで自動的に生成されます。

「Actions」ペイン

「処理」ペインから、キャンバス上の作業領域にドラッグするコンポーネントを選択できます。ペインには、次の項目が含まれています。

  • 「コンポーネント」タブには、キャンバスのランブックの作業領域にドラッグできるコンポーネントのセットが用意されています。これらのコンポーネントは、新しいタスク、パラレル・タスク・グループ、パラレル・リソース・グループおよびローリング・リソース・グループです。
    重要

    タスクを追加するには、まずパラレルまたはローリング・リソース・グループを追加する必要があります。タスクはグループ内に存在する必要があります。グループ・タイプの使用方法の詳細は、ランブックの作成を参照してください。
    • 新規タスク: このボタンを使用して、ランブックのタスクを作成します。アクション・タイプをスクリプトとして指定することで、スクリプトを実行できるタスクを追加できるようになりました。
    • パラレル・タスク・グループ: パラレル・タスク・グループの一部のタスクは、フリートの一部であるリソース(コンピュートおよびデータベース・リソース)でパラレルに実行されます。

      たとえば、フリートに2つのリソースがあり、パラレル・タスク・グループの一部である2つのタスク(task1およびtask2)がある場合、task1およびtask2はresource1およびresource2でパラレルに実行されます。

    • パラレル・リソース・グループ: パラレル・リソース・グループの一部のタスクは、フリートの一部であるリソース(コンピュートおよびデータベース・リソース)間でパラレルに実行されます。リソース内では、パラレル・リソース・グループの一部であるタスクは順次実行されます。

      たとえば、フリートに2つのリソースがあり、パラレル・リソース・グループの一部である2つのタスク(task1およびtask2)がある場合、task1およびtask2はresource1およびresource2で順次実行され、resource1およびresource2での実行はパラレルに実行されます。

    • リソース・グループのローリング: ローリング・リソース・グループの一部のタスクは、フリートの一部であるリソース(コンピュートおよびデータベース・リソース)間で順次実行されます。リソース内では、ローリング・リソース・グループの一部であるタスクは順次実行されます。

      たとえば、フリートに2つのリソースがあり、ローリング・リソース・グループの一部である2つのタスク(task1およびtask2)がある場合、task1およびtask2はresource1で順次実行されます。resource1タスクが完了すると、task1およびtask2がresource2で順次実行されます。

  • 「プロパティ」タブには、条件文を制御し、キャンバスに追加するコンポーネントのエラー処理を構成するための設定が用意されています。コンポーネントをキャンバスの作業領域に追加した後、ユースケースに合せて構成します。構成するコンポーネントを選択し、設定アイコン(設定アイコン)をクリックしてプロパティおよびオプションを構成します。「ソース」を選択して、YAMLまたはJSONコードを表示することもできます。プロパティは、ランブック、グループおよびタスクで使用できます。
    • ランブック・プロパティ: ランブックの2つのプロパティを次に示します。
      • タスクの失敗時: このプロパティに対して選択するオプションは、ランブック内のすべてのグループおよびタスクのデフォルト値です。
      • 実行対象: このプロパティは、ターゲットがtrueと評価されたときにターゲットでの条件付きランブック実行用です。このプロパティは、ランブックの製品スタック・ワークフローの処理に最適です。
    • グループのプロパティー: グループの5つのプロパティーを次に示します。
      • 失敗時: グループのタスクのいずれかが失敗した場合に、このプロパティに対して選択するオプションで次のアクション・セットが決定されます。「続行」を選択すると、ターゲットでの製品ランブックの実行が停止し、「中断」を選択するとアクション・グループでの製品スタック・ランブックの実行が停止し、「ロールバック」を選択すると、ランブックの実行がロールバック・ステップに移動します。ロールバック・スコープに基づいて、ロールバック・アクションをターゲット・レベルまたはアクション・グループ・レベルに設定できます。
      • 条件: 現在のタスクの入力変数および以前のすべてのタスクの出力変数を使用して条件を指定します。タスクは、条件がtrueと評価された場合にのみターゲットで実行されます。
      • 実行対象: ターゲット製品名(製品スタック・ランブックの場合)、製品プロパティおよびコンポーネント名、およびターゲットのコンポーネント・プロパティを使用して条件を指定します。タスクは、条件がtrueと評価された場合にのみターゲットで実行されます。

        たとえば、Oracle WebLogic ServerおよびJava製品スタック・ランブックで、java_versionプロパティ値が1.8.0_391で、ADMIN_SERVERコンポーネントが使用可能な場合に、Oracle WebLogic Serverターゲットでのみタスクを実行するには、次の条件を入力します。

        target.product.name == "Oracle Weblogic Server" AND target.product.properties.java_home == "1.8.0_391" AND target.product.components.ADMIN_SERVER.properties.Server == "AdminServer"
        
      • 実行の一時停止: 介入するか所要時間が経過するまで、ランブックの実行を停止するオプション。一時停止は、タスクが実行される前に発生します。
      • 通知: タスク・ステータスについてOCI通知サービスを使用して通知します。
    • タスク・プロパティ: タスクには、グループと比較して追加のプロパティが含まれます。プロパティーの説明は次のとおりです。

      入力変数マッピング: 「スクリプトの実行」タスク・タイプの場合、スクリプト・ログの出力が解析され、$$VARIABLE=VALUE$$のパターン一致で入力変数の値が評価されます。

      たとえば、タスクが前のタスクの出力に依存する場合は、入力変数をマッピングするために次のステップを実行します。
      1. 「出力変数」チェック・ボックスを選択し、出力変数を追加します。

        フリート・アプリケーション管理スクリプトの実行により、出力変数が確実に移入されます。

      2. 次のタスクで、入力変数のチェック・ボックスを選択し、入力変数を追加します。
      3. 入力変数マッピングを使用して、入力変数名を以前のタスク出力変数名にマップします。

        フリート・アプリケーション管理スクリプトは、出力ログを解析して、$$VARIABLE=VALUE$$などのパターンを識別します。

  • タスクのライブラリには、フリート・アプリケーション管理に存在する、または作成したすぐに使用できる再利用可能なタスクのリストが表示されます。タスクの左隅にあるドラッグ・ハンドル・アイコン(アイコン)を使用して、キャンバス上のランブックの作業領域にドラッグできます。ライブラリには、製品または製品スタックおよびOSタイプに基づいて、ランブックに関連するタスクのみが表示されます。
  • 定義されたタスクが失敗した場合にロールバックするには、「コンポーネント」タブの「ロールバック・タスク」トグルをオンにします。このアクションにより、キャンバスの作業領域にプレースホルダが提供され、グループを追加してからロールバックするタスクを追加できます。ロールバックするには、「失敗時」タスク・プロパティを「ロールバック」として選択してください。
    ノート

    ロールバックは、ターゲット・レベルまたはアクション・グループ・レベルにスコープ指定できます。この範囲指定は、フリート・アプリケーション管理が、特定のターゲットまたはすべてのターゲット・グループに対してロールバック・タスクを実行することを意味します。ロールバック・タスクはターゲットで実行され、ターゲットのスコープを設定すると失敗します。一方、ロールバック・タスクは、アクション・グループのスコープを設定するとターゲットのすべてのグループで実行されます。

キャンバス

ビジュアル・デザイナに追加するアクションを決定したら、コンポーネントをキャンバスの作業領域にドラッグします。コンポーネントの順序を変更するには、コンポーネントの左隅にあるドラッグ・ハンドル・アイコン(アイコン)を使用して、ランブックの作業領域の別の場所にドラッグします。この新しい処理が作業領域に追加され、そのコードが自動的に生成されます。

ナビゲーションのキーボード・ショートカット

ビジュアル・デザイナでは、ランブックの設計時に次のキーボード・ショートカットがサポートされています。
キーボード・ショートカット アクション
「」タブ フォーカスを次のランブック要素に移動します。
Shift+Tab 前のランブック要素にフォーカスを移動します。
矢印キー コンポーネントをキャンバス上で移動します。たとえば:
  • 左矢印キーを押して、キャンバス上のグループ内で新しいタスク・コンポーネントを移動します。
  • 要素のドラッグ・ハンドル・アイコン(ドラッグハンドル)にフォーカスがある場合に、選択後にキャンバスでタスクまたはグループを再配置します。
スペースバーまたは入力/戻る 「コンポーネント」タブまたは「プロパティ」タブ、またはランブック要素からコンポーネントを選択します。
Esc キャンバスへのコンポーネントの移動、またはトリガーされる前のアクションを取り消します。
[Space]バーまたは[Enter] コンポーネント、プロパティまたはランブック要素のいずれかにフォーカスがある場合に、適切なアクティビティをトリガーします。たとえば:
  • コンポーネントを選択後、現在の位置に配置します。
  • ロールバック・タスク構成のトグルをオンにします。
  • パラレル・リソースまたはパラレル・タスク・グループ・コンポーネントの矢印キーを使用して、選択したグループをキャンバスに移動した後に配置します。
  • それぞれの矢印キーを使用して移動した後、キャンバス上のグループ内に新しいタスク・コンポーネントを配置します。このアクションの後、キーボード・ショートカット(スペースバーまたはEnter)を押して、タスクの「タスクの作成」ダイアログ・ボックスを開きます。