2017-10-04 10 views
0

私はこのような課題があるとします。が異なるホストのために異なる入力してタスクを実行し

- name: install python modules 
    pip: 
    name: "{{ item }}" 
    with_items: 
    - requests 

を私は劇中のすべてのホスト上の1つを実行したいのですが、異なるwith_itemsで宿主に応じて。それが可能です。私はウェブ上の何かを見つけることができませんでした。

私の目標は、4つの同様の、わずかに異なるボックスを構成することです。すべてのタスクは同じですが、入力は少し異なります。私は4連続演奏をしたくない。私は1つのパラレルプレイをしたい。

+0

[ホスト変数](http: /docs.ansible.com/ansible/latest/intro_inventory.html#host-variables) –

答えて

0

はかなり基本的なサウンド:どちらかでホストごとに個別にパッケージ名のリストを含む変数を定義します。hosts_vars

+0

例は何ですか?あなたの特別なケースは何ですか?あなたは、変数の割り当てでいくつかのテキストファイルを書く必要があります – techraf

+0

私はあなたの懸念が本当に無知です。 'with_items:" {{variable}} "'を指定することはできますか? – techraf

+0

だから、基本的にそれらは単にvarsファイルですが、特定のディレクトリに置かれます。 'with_items'を実行してホスト変数を使用したい場合は、それらを異なるホストに同じ名前で呼び出さなければなりません。そして、それらは異なる値に展開されますか?問題は、私がプレイブックを始めるときにこれらのホストを持っていないということです(プレイブックはそれらを作成します)。彼らはこれらのヴァールを得ることができるでしょうか? – 4c74356b41

0

私は動的なものを維持しようとしているように私は、わずかに異なるルートを行ってきました:

を私はadd_hostタスク、リストを反復があります。

- add_host: 
    name: "{{ item }}" 
    ansible_ssh_user: "{{ item }}" 
    var: "{{ var[item] }}" 
    with_items: "{{ myList }}" 

をこのように別のvarsファイルを作成することができます。ホストの設定を変数として定義します。

var: 
    host1: 
    - xxx 
    - yyy 
    host2: 
    - zzz 
    - vvv 
関連する問題