2017-07-10 12 views
0

私はこれを簡単にしようとしています...私はPostgreSQLのpg_hba.confファイルを書くつもりです。任意のdbサーバーが他のdbサーバーに複製できるようにします。このようにして、私は失敗の場合に再設定する必要はありません。私はグループ "db"にリストされている各ホストの行を挿入することができます。これらのエントリはCIDRタイプでなければなりません。だから、私は各システムに自分のCIDRをファイルに表示させることに成功しました。ノー喜びで徹底的に見てきたが、ここで私が使用しようとしているもの:私はやった可能 - プレイブックのすべてのホストを設定ファイルに出力する必要があります

- name: Update the pg_hba.conf file 
    lineinfile: 
    path: '{{ pg_data }}/{{ pg_cluster_name }}/pg_hba.conf' 
    regexp: 'hostssl replication' 
    insertafter: 'hostssl replication' 
    line: "hostssl replication  rplctn_usr {{ hostvars[ '{{ item }}' ]['ansible_default_ipv4']['address'] }}/32  md5" 
    with_items: groups['db'] 
    tags: 
    - "pg_hba.conf" 

何も{{アイテム}}変数が適切に展開して得ません。誰でも?

+0

を、あなたは試してみました: '行:「hostssl複製rplctn_usr {{HOSTVARS [アイテム] [ 'ansible_default_ipv4'] [ 'アドレス']}}/32 MD5は、 「? – mbarthelemy

答えて

0

まず、あなたは、中括弧とを反復処理するVARを参照する必要があります。

with_items: "{{ groups['db'] }}" 

第二に、itemは、各反復の値を表すVARです。 {{ }}内には余分な括弧なしで直接任意のVARSを参照することができます。

{{ hostvars[item]['ansible_default_ipv4']['address'] }} 
+0

クリスおかげさまで、インターネット上の間違ったページのためにいくつかの誤った開始の後、私は今朝この作品を作った。あなたの投稿を読む前に私が思いついたとしても、私の構文はまさにあなたが書いたものです。 – user2288360

+0

あなた自身でそれを見つけたとしても、ここで私の答えを受け入れることができます。同じことを探している人には役に立ちます。 –

関連する問題