Documentation

18. ワークフロージョブテンプレート

workflow job template (ワークフロージョブテンプレート) は、一連の各種ジョブテンプレートをリンクして、リリースプロセスに含まれていたジョブ全体を追跡するタスクを 1 つのユニットとして実行します。このようなリソースには以下が含まれます。

  • ジョブテンプレート

  • ワークフローテンプレート

  • プロジェクト同期

  • インベントリーソース同期

(templates-icon) メニューは、現在利用可能なジョブテンプレートやワークフローのリストを表示します。ワークフロー/ジョブテンプレートのリストは、アルファベット順に名前別でソートされていますが、ワークフロー/ジョブテンプレートの各種フィールドや属性別に検索できます。ワークフロー/ジョブテンプレートのリストを使用して、ジョブテンプレートの起動、コピー、削除も可能です。

ワークフローテンプレートにのみ、ワークフローエディターにアクセスするためのショートカットとしてワークフロービジュアライザーアイコン (wf-viz-icon) があります。

Wf templates - home with example wf template

注釈

ワークフローテンプレートは、ワークフローテンプレートのビルディングブロックとして使用できます。ワークフローテンプレートに含まれるパラメーターの多くで、Prompt on Launch (起動プロンプト) を有効にして、ワークフロージョブテンプレートレベルで変更でき、個別のワークフローテンプレートレベルで割り当てられた値に影響を与えることはありません。詳しくは、「 ワークフロービジュアライザー 」のセクションを参照してください。

18.1. ワークフローテンプレートの作成

新規ワークフロージョブテンプレートを作成するには、以下を実行します。

  1. オプションテンプレートの追加 add options template ボタンをクリックしてから、メニュー一覧より ワークフロージョブテンプレート を選択します。

Wf templates - create new wf template

  1. 以下のフィールドに該当する詳細を入力します。

  • 名前: ワークフローテンプレートの名前を入力します。

  • 説明: 任意の説明を入力します (オプション)。

  • 組織: オプションでワークフローを関連付ける組織を入力するか、これを検索します。

  • インベントリー: オプションで現在ログインしている Tower ユーザーが利用できるインベントリーから、このワークフローテンプレートで使用するインベントリーを入力するか、検索します。

  • 起動プロジェクト: 選択されている場合は、このワークフローテンプレートの起動時または、ワークフローテンプレートが別のワークフローテンプレートで使用時に、インベントリーを提供できます。

  • ラベル: 「dev」または「test」などのこのワークフローテンプレートを説明するオプションのラベルを指定します。ラベルを使用して Tower ディスプレイにあるワークフローテンプレートおよび完了したジョブの分類およびフィルターを実行します。

    • ラベルは、ワークフローテンプレートに追加される際に作成されます。ラベルは、ワークフローテンプレートで提供されるプロジェクトを使用する単一の組織に割り当てられます。組織のメンバーは、(管理者ロールなどの) 編集パーミッションがある場合はワークフローテンプレートでラベルを作成できます。

    • ワークフローテンプレートが保存されると、ラベルはテンプレートの概要に表示されます。

    • ラベルの横にある「x」をクリックしてこれを削除します。ラベルが削除され、ワークフローまたはワークフローテンプレートの関連付けが解除されると、ラベルは組織ラベルの一覧から完全に削除されます。

    • ジョブは起動時にワークフローテンプレートからラベルを継承します。ラベルがワークフローテンプレートから削除される場合、ジョブからも削除されます。

_images/job-template-create-labels.png _images/job-template-saved-labels.png
  • オプション: 同時実行ジョブの有効化 をチェックしてこのワークフローの同時実行を可能にします。

  • 追加変数:

    • 追加のコマンドライン変数を Playbook に渡します。これは、Ansible ドキュメントの「 Passing Variables on the Command Line 」に記載されている ansible-playbook の「-e」または「--extra-vars」コマンドラインパラメーターです。

    • YAML または JSON のいずれかを使用してキー/値のペアを指定します。これらの変数には、順序を示す最大値があり、他の場所で指定された他の変数を上書きします。値の例には、以下が含まれます。

      git_branch: production
      release_version: 1.5
      

    追加変数についての詳細は、追加変数 を参照してください。

  1. ワークフローテンプレートの設定が完了したら、保存 を選択します。

テンプレートを保存すると、ワークフローテンプレートのページが終了され、ワークフロービジュアライザーが開き、ワークフローをビルドできるようになります。詳しい情報は、「 ワークフロービジュアライザー 」セクションを参照してください。ワークフローのビルドをしない場合には、ワークフロービジュアライザーを終了して、新たに保存したテンプレートの詳細タブに戻り、パーミッション、通知、スケジュールのレビュー、編集、追加を行うか、後ほど、完了したジョブの表示やワークフローテンプレートのビルドを実行します。

_images/wf-templates-wf-template-saved.png

新規に作成されたワークフローテンプレートが画面下部のテンプレートの一覧の表示される際に、テンプレートが保存されていることを確認できます。

Wf templates - newly added wf template

注釈

デフォルトのインベントリーがワークフローテンプレートに指定されている場合には、インベントリーがテンプレートリストビューに表示されます。

_images/wf-templates-list-default-inventory.png

18.2. パーミッションの使用

パーミッション をクリックすると、ユーザーおよびチームメンバーに関連付けられたパーミッションの確認、付与、編集および削除を実行できます。

_images/wf-template-completed-permissions-view.png

add ボタンをクリックし、このワークフローテンプレートの新規のパーミッションを作成します。

この例では、2 ユーザーと 1 チームが選択されており、それぞれにこのワークフローテンプレートのパーミッションが付与されています。

_images/wf-template-assign-permissions-view.png

チームとユーザー間を切り換える必要はなく、パーミッションを同時にどちらにも割り当てることができることに注意してください。

18.3. 通知の使用

通知 をクリックすると、設定した通知の統合を簡単に確認できます。

_images/wf-template-completed-notifications-view.png

通知が設定されていない場合には、グレーのボックスの上または、中から 通知 リンクをクリックして新規通知を追加または作成します。

_images/wf-template-no-notifications-blank.png

さまざまな通知タイプの設定に関する追加の情報は、「 通知 」を参照してください。

18.4. 完了したジョブの表示

完了したジョブ タブをクリックすると、選択したワークフローを実行した全ジョブのリストと、ジョブ自体の各種詳細が表示されます。

_images/wf-template-completed-jobs-list.png

注釈

ワークフローレベルのインベントリーがランタイム時に指定された場合には、インベントリー名がジョブリストのワークフロージョブに表示されます。

_images/wf-template-completed-jobs-list-with-inventory.png

このビューから、ジョブID、ワークフロージョブの名前をクリックして、その内容が図で表示されます。以下の例では、748-WFJT A のワークフロージョブのジョブ詳細が表示されます。

_images/wf-template-jobID-detail-example.png

同様に、このワークフローを使用するワークフローテンプレートをクリックできます。上記の例では、親のワークフローテンプレート Overall をクリックして、ジョブ詳細ページに移動し、ノードが起動されると、ノードの図表現と、それぞれのステータスが表示されます。

_images/wf-template-jobs-detail-example.png

W のマークがついたノードは、ワークフローテンプレートで、このマークがないものはジョブテンプレートです。ノードごとに、ステータスと、完了までの時間が表示されます。

18.5. スケジュールの使用

スケジュール をクリックすると、このテンプレートに設定されているスケジュールを確認できます。

Workflow Template - schedule

このビューから、編集するスケジュールの選択、スケジュールのオン/オフ、削除するスケジュールの複数選択などが可能です。

この画面には、選択されたワークフローテンプレートで現在利用できるスケジュールの一覧が表示されます。スケジュールの一覧は、以下の条件で並べ替えおよび検索できます。

  • 名前: スケジュール名をクリックすると、スケジュールの編集 ダイアログが開きます。

  • 初回実行日時: このタスクの最初にスケジュールされる実行

  • 次回実行日時: このタスクの次回にスケジュールされる実行

  • 最終実行日時: タスクに終了日時が設定されている場合、これはタスクの最後にスケジュールされている実行になります。

スケジュール名の横にある ON/OFF 切り替えを使用して、対象のスケジュールを有効化/無効化します。スケジュールごとに対応の アクション コラムがあり、このコラムにはスケジュールの編集 (edit) または削除 (delete) が可能なオプションが含まれています。

18.5.1. ワークフローテンプレートのスケジュール

新規スケジュールを作成するには、以下を実行します。

  1. スケジュール画面で、add ボタンをクリックします。

  2. 以下のフィールドに該当する詳細を入力します。

  • 名前

  • 開始日

  • 開始時間

  • ローカルタイムゾーン: 入力した開始時間はこのタイムゾーンの時間になります。

  • 繰り返しの頻度: 更新頻度の変更に合わせて適切なオプションが表示されます。

注釈

ジョブは UTC でスケジュールされます。ジョブが 1 日の特定の時間に繰り返し実行される場合には、夏時間 (DST) へ/からの切り替えがあると、ローカルタイムゾーンに合わせてこれらのジョブのスケジュールは移動します。

以下のスケジュールの説明には、スケジュールの具体的な内容と選択されたローカルタイムゾーンのスケジュール済みのオカレンスの一覧が表示されます。

Workflow Template - schedule add

  1. スケジュールの詳細が正しければ、保存 をクリックします。

スケジュールが保存されると、関連付けられたワークフローテンプレートについてのスケジュールの一覧が表示されます。

Workflow Template - schedule

ON/OFF の切り替えボタンを使用すると、このスケジュールをすぐに有効化または無効化できます。

注釈

ネスとかされたワークフローで使用するワークフローテンプレートに、インベントリーオプションとして survey や、Prompt on Launch が選択されている場合には、PROMPT ボタンが、スケジュールフォームの SAVE および CANCEL ボタンの横に表示されます。PROMPT ボタンをクリックすると、オプションで INVENTORY のステップが表示され、インベントリーを指定または削除するか、変更せずにこのステップをスキップすることができます。

18.6. Survey

「実行」または「チェック」のジョブタイプを含むワークフローでは、ワークフローテンプレートの作成または編集画面で Survey を設定できます。Survey は、「Prompt for Extra Variables (追加変数のプロンプト)」の場合と同様に Playbook の追加変数を設定しますが、ユーザーにとって使いやすい質問と回答を使って実行します。また Survey ではユーザー入力の検証も可能です。survey を作成するには、survey ボタンをクリックします。

Survey のユースケースは多岐に及びます。一例として、オペレーションが開発者に「push to stage」ボタンを割り当てるなどの場合に、Ansible の高度な知識がなくても実行できます。たとえばこのタスクでは、起動時に「What tag should we release?」といった質問への回答を求めるプロンプトを表示します。

多項選択式の質問を含む、多くのタイプの質問を尋ねるようにすることができます。

注釈

Survey は Enterprise レベルのライセンスを持つユーザーのみが利用できます。

18.6.1. Survey の作成

Survey を作成するには、以下を実行します。

  1. survey ボタンをクリックして、Survey の追加 ウィンドウを起動します。

Workflow Job Template - create survey

画面上部にある ON/OFF 切り替えボタンを使用すると、この survey プロンプトをすぐに有効化または無効化できます。

  1. Survey には複数の質問を含めることができます。それぞれの質問について、以下の情報を入力します。

  • 名前: ユーザーに尋ねる質問

  • 説明: (オプション) ユーザーに尋ねられる内容の説明。

  • Answer Variable Name (回答の変数名): ユーザーの応答の保存に使用する Ansible 変数名。これは Playbook で使用される変数です。変数名にはスペースを含めることができません。

  • 回答タイプ: 以下の質問のタイプから選択します。

    • テキスト: 単一行のテキスト。この回答の最小および最大の長さ (文字数) を設定できます。

    • Textarea (テキスト領域): 複数行のテキストフィールド。この回答の最小および最大の長さ (文字数) を設定できます。

    • パスワード: 応答は、実際のパスワードが処理される場合と同様に機密情報として処理されます。この回答の最小および最大の長さ (文字数) を設定できます。

    • Multiple Choice (single select) (複数の選択 (単一選択)): 1 度に 1 つのみを選択できるオプションの一覧。複数の選択オプション ボックスに 1 行に 1 つのオプションを入力します。

    • Multiple Choice (multiple select)(複数の選択 (複数選択)): 1 度に任意の数のオプションを選択できるオプションの一覧。複数の選択オプション ボックスに 1 行に 1 つのオプションを入力します。

    • Integer (整数): 整数。この回答の最小および最大の長さ (文字数) を設定できます。

    • Float (浮動): 10 進数。この回答の最小および最大の長さ (文字数) を設定できます。

  • Default Answer (デフォルトの回答): 選択したタイプにより、質問に対するデフォルトの回答を指定できます。この値はインターフェースに事前投入されており、ユーザーにより回答が指定されない場合に使用します。

  • 必須: この質問に対する回答がユーザーから求められているかどうかを示します。

  1. 質問の情報を入力したら、add ボタンをクリックして質問を追加します。

定型化されたバージョンの Survey が「プレビュー」ペインに表示されます。いずれの質問についても、編集 ボタンをクリックして質問を編集できます。削除 ボタンをクリックすると質問を削除でき、グリッドアイコンをクリックおよびドラッグして質問の順序を変更できます。

  1. 左ペインに戻り、質問を追加します。

  2. 完了したら、保存 をクリックして Survey を保存します。

Workflow-template-completed-survey

18.6.2. オプションの Survey の質問

Survey の質問に対する 必須 の設定は、対話するユーザーにとって回答がオプションかどうかを決定します。

背後では、オプションの Survey 変数は入力されていない場合でも Playbook の extra_vars に渡されることがあります。

  • テキスト以外の変数 (入力タイプ) がオプションとマークされ、入力されていない場合、Survey の extra_var は Playbook に渡されません。

  • テキスト入力またはテキスト領域の入力がオプションとしてマークされ、入力されていない場合で、最小の length > 0 が設定されている場合、Survey の extra_var は Playbook に渡されません。

  • テキスト入力またはテキスト領域の入力がオプションとしてマークされ、入力されていない場合で、最小の length === 0 が設定されている場合、Survey の extra_var は、値が空のストリング ( “” ) に設定された状態で Playbook に渡されます。

18.7. ワークフロービジュアライザー

Ansible Tower 3.1 では、ワークフロービジュアライザー (以前の ワークフローエディター) が導入され、グラフィカルな形式で、ジョブテンプレート、ワークフローテンプレート、プロジェクト同期、インベントリー同期を統合し、ワークフローテンプレートをビルドできるようになりました。ワークフローテンプレートをビルドする前に、親、子、兄弟のノードに関するさまざまなシナリオでの留意事項について「 ワークフロー 」のセクションを確認してください。

18.7.1. ワークフローの構築

ワークフローを構築するために、ジョブ、プロジェクトの同期、またはインベントリーの同期のテンプレートの中の 2 つの組み合わせを使用します。各ノードは、長方形で表され、リレーションシップと関連のエッジタイプは、長方形の図をつなぐ線 (またはリンク) で表されます。

  1. ワークフローテンプレートの詳細/編集ビューで workflow editor ボタンをクリックするか、テンプレートリストビューから (wf-viz-icon) アイコンをクリックしてワークフロービジュアライザーを起動します。

_images/wf-editor-create-new.png
  1. start ボタンをクリックし、テンプレートの一覧を表示してワークフローに追加します。

_images/wf-editor-create-new-add-template-list.png
  1. 右側のペインで、テンプレートの一覧から追加するテンプレートを選択します。ジョブ、プロジェクトの同期およびインベントリーの同期の間で切り換えるには、上記の該当するボタンをクリックします。追加されるそれぞれのテンプレートはノードを表します。

注釈

ワークフローグラフの設定時には、デフォルトのインベントリーまたは認証情報を持たないジョブテンプレートを選択することができません。ジョブテンプレートには認証情報は必要ありませんが、パスワードを必要とする認証情報がある場合には、この認証情報がプロンプトを使用する認証情報に置き換えられない限り、使用中のワークフローに対してジョブテンプレートを選択することはできません。

  1. テンプレートを選択すると、ワークフローはビルドを開始するので、選択したテンプレートで行うアクションタイプを指定する必要があります。このアクションは、エッジタイプ とも呼ばれます。

_images/wf-editor-create-new-add-template-type.png
  1. ノードが root ノードの場合には、エッジタイプは Always (常時) にデフォルト設定され、編集はできません。それ以降のノードについては、以下のシナリオのいずれかを選択して、以下を適用します。

  • On Success (成功時): 正常に完了すると、次のテンプレートを実行します。

  • On Failure (失敗時): 失敗時に、別のテンプレートを実行します。

  • Always (常時): 成功または失敗にかかわらず、実行を継続します。

  1. ワークフローで使用するジョブテンプレートのパラメーターに Prompt on Launch (起動プロンプト) が選択されている場合には、Prompt ボタンが表示され、ノードレベルでこれらの値を変更できるようになります。ウィザードを使用して値を変更し、確定 をクリックします。

_images/wf-editor-prompt-button-wizard.png

同様に、ワークフローで使用するワークフローテンプレートで、インベントリーオプションとして Prompt on Launch (起動プロンプト) が選択されている場合には、ウィザードを使用して、プロンプト時にインベントリーを指定します。親のワークフローに独自のインベントリーがある場合には、ここで指定するインベントリーは上書きされます。

_images/wf-editor-prompt-button-inventory-wizard.png

注釈

プロンプト表示が可能な必須フィールドで、デフォルト設定のないジョブテンプレートの場合は、ノード作成時にこれらの値を指定してから、選択 ボタンを有効にする必要があります。プロンプト ボタンで値を指定するまで 選択 ボタンが無効となる例として、1) ジョブテンプレートで Prompt on Launch (起動プロンプト) チェックボックスを選択しているがデフォルトを指定していない場合、または 2) 必須の survey の質問を作成しているが、デフォルトの回答を指定していない場合が挙げられます。ただし、これは認証情報には該当 しません。ノードの作成時に、ノードの起動に必要な情報を指定する必要があるので、ワークフローノードの作成時には、起動時にパスワードを必要とする認証情報は、使用できません。そのため、ジョブテンプレートで認証情報の入力を求めるプロンプトが表示される場合には、Tower により、パスワードを必要とする認証情報を選択できないようになります。

また、対象のノードで変更を適用するには、プロンプトのウィザードの終了時に、選択 をクリックする必要があります。選択しないと、変更内容が、実際にジョブテンプレートで設定した値に戻ってしまいます。

_images/wf-editor-wizard-buttons.png

各ワークフローノードに関連付けられるテンプレートは、プロセスの進行時に選択した実行シナリオに基づいて実行されます。 コンパス (compass) アイコンをクリックして、各実行シナリオとそのジョブタイプの凡例を表示します。

_images/wf-editor-key-dropdown-list.png
  1. ノードの追加/編集が終了したら、選択 をクリックして、変更を保存し、グラフィカルビューに表示します。

ノード上にマウスをかざすと、別のノードの追加 ( add template )、別のノードへのリンク ( edit link )、選択したノードの削除 ( delete template ) が可能になります。

_images/wf-editor-create-new-add-template.png

親ノードの add template をクリックして兄弟ノードを追加できます。

_images/wf-editor-create-sibling-node.png

ノード間に別のノードを挿入するには、add template が表示されるまで2 つのノード間をつなぐ線の上にマウスをかざします。add template をクリックすると自動的に、2 つのノード間にノードが挿入されます。

_images/wf-editor-insert-node-template.png

root ノードを追加して分割のシナリオを表現するには、start ボタンをもう一度クリックします。

_images/wf-editor-create-new-add-template-split.png

分割シナリオを作成するノード上にマウスをかざし、そこから分割シナリオを開始して、add template をクリックします。これで実際に、同じ親ノードから複数のノードが追加されて、兄弟ノードが作成されます。

_images/wf-editor-create-siblings.png

注釈

新規ノードの追加時には、PROMPT ボタンでワークフローテンプレートも適用します。ワークフローテンプレートにより、インベントリーおよび survey のプロンプトが表示されます。

最後に挿入したノードを取り消すには、右のペーンから何も選択せずに別のノードをクリックするか、右のペーンから キャンセル をクリックします。

以下は、ジョブテンプレートで開始される 3 つのタイプのジョブがすべて含まれるワークフローの例です。これが実行に失敗する場合は、プロジェクト同期ジョブに進み、成否にかかわらず、インベントリーの同期ジョブに進みます。

_images/wf-editor-create-new-add-template-example.png

ウィンドウの先頭にあるキーを参照して、グラフィックな説明と関連付けられる記号および色の意味を特定するのを忘れないでください。

注釈

ワークフローで、兄弟ノードに異なるエッジタイプが指定されている場合に、後続のノードがアタッチされたノードを削除すると、アタッチされた自ノードが自動的に兄弟ノードセットと結合されて、エッジタイプが保持されます。

_images/wf-node-delete-scenario.png

以下の方法で、ノードを変更できます。

  • ノードを編集する必要がある場合に、編集するノードをクリックすると右側のペインには現在の選択内容が表示されます。変更を加えたら 選択 をクリックして変更をグラフィカルビューに適用します。

  • 既存のリンクのエッジタイプを編集するには (success (成功)/failure (失敗)/always (常時))、リンクをクリックします。右側のペインに、現在の選択内容が表示されます。変更を加えたら 選択 をクリックして変更をグラフィカルビューに適用します。

_images/wf-editor-wizard-edit-link.png
  • 別のノードに新規リンクを追加するには、各ノード上に表示される、リンク edit link アイコンをクリックします。クリックすると、リンクを追加可能なノードがハイライトされます。実行可能なオプションは、点線で表示されます。無効なオプションは、ボックス (ノード) がグレーアウトされます。このようなボックスを選択できたとしても、無効なリンクが生成されます。以下の例では、矢印で示されているように、e2e-ec20de52-project のリンク先に対する選択可能なオプションとして Demo Project が表示されます。

_images/wf-node-link-scenario.png
  • リンクを削除するには対象のリンクをクリックして、リンク解除 をクリックします。

_images/wf-editor-wizard-unlink.png

ターゲットまたは子ノードに複数の親がある場合に、このボタンは、右側のパネルにのみ表示されます。すべてのノードが常に、少なくとも 1 つ以上の他のノードにリンクされている必要があるため、必要のなくなったリンクを削除する前に、新規リンクを作成する必要があります。

設定アイコン (settings) をクリックしてビューのズーム、パン、または再配置を行います。または、ワークフローの図をドラッグして画面上で再配置するか、マウスをスクロールしてズームします。

  1. ワークフローテンプレートのビルドが完了したら、保存 をクリックしてワークフローテンプレート全体を保存し、新しいワークフローテンプレートの詳細ページに戻ります。

重要

このペインで 閉じる をクリックしても、作業は保存されません。代わりにワークフロービジュアライザー全体を閉じて最初からやり直す必要があります。

18.8. ワークフローテンプレートの起動

ワークフローテンプレートを起動するには、以下を実行します。

  1. ワークフロージョブテンプレートには、テンプレート のナビゲーションリンク (templates-icon) からアクセスするか、ワークフロージョブテンプレートの詳細ビューで、下方にスクロールしてテンプレートの一覧からアクセスします。

Wf templates - home with example wf template

  1. 起動するワークフローの横にある起動 launch アイコンをクリックします。

ジョブテンプレートおよび Survey に設定される追加変数と共に、Tower は起動時にジョブテンプレートに追加される変数として同じ変数を自動的に追加します。さらに、Tower は web ブラウザーをこのジョブの詳細ページにリダイレクトし、ここで進捗と結果が表示されます。

_images/wf-launch-details-page-example.png

18.9. ワークフローテンプレートのコピー

Ansible Tower では、ワークフローテンプレートのコピー機能を使用できます。ワークフローテンプレートをコピーすることを選択した場合には、関連付けられたスケジュール、通知、またはパーミッションは コピーされません。スケジュールおよび通知は、ワークフローテンプレートのコピーを作成するユーザーまたは管理者により作成しなおす必要があります。ジョブテンプレートをコピーするユーザーには管理者権限が付与されますが、パーミッションはワークフローテンプレートには割り当てられません (コピーされません)。

  1. コピーするワークフロージョブテンプレートには、テンプレート のナビゲーションリンク (templates-icon) からアクセスするか、ワークフロージョブテンプレートの詳細ビューで、下方にスクロールしてテンプレートの一覧からアクセスします。

Wf templates - home with example wf template

  1. copy ボタンをクリックします。

新規テンプレートが、コピーしたテンプレートの名前とタイムスタンプが設定された状態で開きます。

名前フィールドの内容を新規の名前に置き換え、他のフィールドのエントリーを指定または変更してこのページを完了します。

  1. 完了したら 保存 をクリックします。

注釈

プロジェクトが使用する認証情報で現在のユーザーに 読み取り アクセスしか割り当てられていない場合など、リソースに、適切なレベルのパーミッションが割り当てられていない関連リソースが含まれる場合に、このリソースはコピーできません。ただし、ワークフローテンプレートでは、このノードのいずれかで、権限のないジョブテンプレートを使用する場合に、ワークフローテンプレートのコピーは可能ですが、コピーしたワークフローテンプレートでは、ワークフローテンプレートノード内の適切なフィールドがなくなります。

18.10. 追加変数

注釈

追加の厳密な extra_vars 検証が Ansible Tower 3.0.0 で追加されました。ジョブ起動 API に渡される extra_vars は、以下が True の場合のみ受け入れられます。

  • それらは有効な survey の変数に対応するものである。

  • ask_variables_on_launch は True に設定されている。

Survey 変数を渡す際に、それらは Tower 内の追加変数 (extra_vars) として渡されます。これは、(Survey で実行するように) 追加変数をワークフローテンプレートに渡すと、インベントリーおよびプロジェクトから渡される他の変数が上書きされる可能性があるために注意が必要です。

たとえば、インベントリーの定義された変数が debug = true であるとします。この変数 debug = true はワークフローテンプレート Survey で上書きされる可能性があります。

渡す必要のある変数が上書きされないようにするには、それらを Survey で再定義することで組み込むことができます。追加変数はインベントリー、グループおよびホストのレベルで定義できることに注意してください。

以下の表では、Ansible の変数の順序との比較で、Ansible Tower の変数の順序の動作 (階層) を示しています。

Ansible Tower 変数の順序の階層 (最後に一覧表示された win)

_images/Architecture-Tower_Variable_Precedence_Hierarchy-Workflows.png