一連のホスト変数の一意の値ごとに、インポートされたAnsibleプレイブックを実行します

キャプテンブラモ

追加の変数(target_hostsとしてホスト名のリストを使用して、インベントリ全体に対して実行する必要のあるプレイブックがあります

target_hostsすべてのホストには、group_idhostvarが定義されています。group_idvarに対応する一部の補助ホストは、1つのセクションで一致するようにグループごとの構成を必要とするため、インベントリ全体を使用します。

多くの場合group_idtarget_hostsリスト内のホストに関連付けられた複数の値があります補助ホストの正しいインベントリグループを選択し、プレイブックをインポート/実行して、メインプレイブックの途中で両方のサーバーセットを構成する必要があります。

これは私が現在行っていることです:

include_playbook: group-configure.yaml
vars:
  src_hosts: "group-{{ group_id }}-ancillary-1"
  dest_hosts: "{{ target_hosts }}"

私は現在、手動でを手動で分離してから、メインのプレイブックをそれぞれ1回実行target_hostsするgroup_id必要があります。これには大量の不要なオーバーヘッドがあります。

私が本当に実行したいのはこれです:

for each group of hosts from `target_hosts` with the same `group_id` hostvar:
  import and run group-configure.yaml with:
    src_hosts: "ancillary-{{ group_id }}"
    target_hosts: restricted to those with that value of `group_id`'

これどうやってするの?これが構造化されている現在の方法が機能しない場合、最良の代替アプローチは何ですか?

mdaniel

add_host:組み合わせるとgroupby、探しいるものになる確信しています。これにより、それらのホストを属性ごとにロールアップし、そのグループがすでに定義されているかのように、それらに対してプレイブックを実行できます。

- hosts: localhost
  connection: local
  gather_facts: no
  become: no
  vars:
    list_of_name_groups: >-
        {%- set results = [] -%}
        {%- for g_id, items in (dict(hostvars) | dict2items | groupby("value.group_id")) -%}
        {%- for hostname in (items | map(attribute="key") | list) -%}
        {%- set _ = results.append({"group_id": g_id, "hostname": hostname}) -%}
        {%- endfor -%}
        {%- endfor -%}
        {{ results }}
  tasks:
  - add_host:
      name: '{{ item.hostname }}'
      groups: ancillary-{{ item.group_id }}
    with_items: '{{ list_of_name_groups }}'

- hosts: ancillary-my-awesome-groupid
  # etc etc

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

可変個引数テンプレートのネストされた値が一意であることを静的にアサートします

分類Dev

python pandasデータフレームをcsvにエクスポートし、列ごとに一意の形式でフォーマットされたテキストファイルをエクスポートします

分類Dev

oracleplsqlの一意の値ごとに2つのインデックス付きネストテーブルをマージします

分類Dev

行ごとに一意の値をカウントします(列ごとではなく、インデックス軸上で)

分類Dev

指定されたホストとグループでansibleプレイブックを実行しますか?

分類Dev

SQL Server は、新しい一意の値ごとに行番号をインクリメントします。

分類Dev

Javaは、クラス/静的メソッドの代わりにインスタンスメソッドを使用して、インスタンス化されたオブジェクトごとに一意のIDを作成します

分類Dev

ホバーされた要素ごとに一意のdivをレンダリングします

分類Dev

ansibleを作成する-プレイブックは、指定されたホストのプレイブックを1回だけ実行します

分類Dev

Ansibleの問題:ansibleを使用してインベントリ内のすべてのホストをリストとして印刷し、プレイブックが実行されているホストIPを拒否しますか?

分類Dev

ネストされたオブジェクト配列のドロップダウンにVue.jsの一意の値を入力します

分類Dev

行ごとまたはステートメントごとのMERGEステートメントの一意のインデックス/制約の検証?

分類Dev

私は自分のネットワークを実行したとき。私はエラーを得た、勾配の計算に必要な変数の一つは、インプレース操作によって変更されました

分類Dev

Googleスプレッドシート-前のグループでまだカウントされていない場合にのみ、グループごとに一意の値をカウントします

分類Dev

インデックスで指定された2つの列の間の行の一意のインスタンスをカウントします

分類Dev

インデックスで指定された2つの列の間の行の一意のインスタンスをカウントします

分類Dev

一意の列ごとにネストされたjsonを使用してcsvをjsonに変換します

分類Dev

あるタイプの一意のオブジェクトごとに、観測されたフィールドのセットの最終変更日を選択するにはどうすればよいですか?

分類Dev

あるタイプの一意のオブジェクトごとに、観測されたフィールドのセットの最終変更日を選択するにはどうすればよいですか?

分類Dev

グループ内で値の変更の前後をカウントし、一意のシフトごとに新しい変数を生成します

分類Dev

一意のプレフィックスごとにリストに1つのアイテムのみを保持します

分類Dev

SDWEBIMAGEのサーバーに保存されている画像の一意のURLを使用して、アプリケーションディレクトリ(キャッシュ)で一意の画像ファイルパスを取得します

分類Dev

タスクごとに繰り返さずに、Ansibleプレイブックの一連のタスクにremote_userを設定します

分類Dev

rの行の一意の値ごとにggplotにプロットを作成します

分類Dev

djangoテンプレートの反復リスト:アイテムごとに一意のオーバーレイポップアップを作成するにはどうすればよいですか?

分類Dev

2行のブロックの一意のインスタンスをカウントします

分類Dev

jQuery USMapプラグイン-クリックされた状態ごとに一意の.htmlを追加します

分類Dev

ansible:ホストのグループ(複数の管理対象ホスト)に対してプレイブックを実行しているときに、local_actionを1回だけ実行します

分類Dev

VBAを使用してさまざまなExcelファイルからインポートされたスプレッドシートを識別するための一意のIDフィールドを追加する

Related 関連記事

  1. 1

    可変個引数テンプレートのネストされた値が一意であることを静的にアサートします

  2. 2

    python pandasデータフレームをcsvにエクスポートし、列ごとに一意の形式でフォーマットされたテキストファイルをエクスポートします

  3. 3

    oracleplsqlの一意の値ごとに2つのインデックス付きネストテーブルをマージします

  4. 4

    行ごとに一意の値をカウントします(列ごとではなく、インデックス軸上で)

  5. 5

    指定されたホストとグループでansibleプレイブックを実行しますか?

  6. 6

    SQL Server は、新しい一意の値ごとに行番号をインクリメントします。

  7. 7

    Javaは、クラス/静的メソッドの代わりにインスタンスメソッドを使用して、インスタンス化されたオブジェクトごとに一意のIDを作成します

  8. 8

    ホバーされた要素ごとに一意のdivをレンダリングします

  9. 9

    ansibleを作成する-プレイブックは、指定されたホストのプレイブックを1回だけ実行します

  10. 10

    Ansibleの問題:ansibleを使用してインベントリ内のすべてのホストをリストとして印刷し、プレイブックが実行されているホストIPを拒否しますか?

  11. 11

    ネストされたオブジェクト配列のドロップダウンにVue.jsの一意の値を入力します

  12. 12

    行ごとまたはステートメントごとのMERGEステートメントの一意のインデックス/制約の検証?

  13. 13

    私は自分のネットワークを実行したとき。私はエラーを得た、勾配の計算に必要な変数の一つは、インプレース操作によって変更されました

  14. 14

    Googleスプレッドシート-前のグループでまだカウントされていない場合にのみ、グループごとに一意の値をカウントします

  15. 15

    インデックスで指定された2つの列の間の行の一意のインスタンスをカウントします

  16. 16

    インデックスで指定された2つの列の間の行の一意のインスタンスをカウントします

  17. 17

    一意の列ごとにネストされたjsonを使用してcsvをjsonに変換します

  18. 18

    あるタイプの一意のオブジェクトごとに、観測されたフィールドのセットの最終変更日を選択するにはどうすればよいですか?

  19. 19

    あるタイプの一意のオブジェクトごとに、観測されたフィールドのセットの最終変更日を選択するにはどうすればよいですか?

  20. 20

    グループ内で値の変更の前後をカウントし、一意のシフトごとに新しい変数を生成します

  21. 21

    一意のプレフィックスごとにリストに1つのアイテムのみを保持します

  22. 22

    SDWEBIMAGEのサーバーに保存されている画像の一意のURLを使用して、アプリケーションディレクトリ(キャッシュ)で一意の画像ファイルパスを取得します

  23. 23

    タスクごとに繰り返さずに、Ansibleプレイブックの一連のタスクにremote_userを設定します

  24. 24

    rの行の一意の値ごとにggplotにプロットを作成します

  25. 25

    djangoテンプレートの反復リスト:アイテムごとに一意のオーバーレイポップアップを作成するにはどうすればよいですか?

  26. 26

    2行のブロックの一意のインスタンスをカウントします

  27. 27

    jQuery USMapプラグイン-クリックされた状態ごとに一意の.htmlを追加します

  28. 28

    ansible:ホストのグループ(複数の管理対象ホスト)に対してプレイブックを実行しているときに、local_actionを1回だけ実行します

  29. 29

    VBAを使用してさまざまなExcelファイルからインポートされたスプレッドシートを識別するための一意のIDフィールドを追加する

ホットタグ

アーカイブ