2017-07-10 4 views
0

Ich werde versuchen, dies kurz zu machen ... Ich richte mich ein, eine PostgreSQL pg_hba.conf-Datei zu schreiben, und was ich tun möchte erlaubt jedem Datenbankserver, auf irgendeinen anderen Datenbankserver zu replizieren. Auf diese Weise muss ich im Falle eines Fehlers nicht neu konfigurieren. Ich möchte ansible Zeilen für jeden Host einfügen, die in der Gruppe "db" aufgeführt sind. Diese Einträge müssen CIDR-Typen sein. Bis jetzt ist es mir nur gelungen, jedes System dazu zu bringen, seine eigene CIDR in der Datei zu zeigen. Ich habe ohne Freude intensiv gesucht, aber hier ist, was ich versuche zu verwenden:Ansible - müssen alle Hosts im Playbook in eine Konfigurationsdatei ausgeben

- 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" 

Nichts, was ich getan habe, wird der {{item}} Variable richtig zu erweitern. Jemand?

+0

Haben Sie versucht: 'Zeile:„hostssl Replikation rplctn_usr {{hostvars [Artikel] [ 'ansible_default_ipv4'] [ 'Adresse']}}/32 md5 "'? – mbarthelemy

Antwort

0

Zunächst müssen Sie die var verweisen mit Klammern zu durchlaufen:

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

Zweitens item ist die var den Wert jeder Iteration darstellt. Innerhalb {{ }} können Sie Vars ohne zusätzliche Klammern direkt Referenz:

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

Danke Chris, Nach mehreren Fehlstarts wegen falscher Seiten im Internet, habe ich diese Arbeit heute Morgen gemacht. Meine Syntax ist genau das, was Sie geschrieben haben, obwohl ich vor dem Lesen Ihres Posts darauf gekommen bin. – user2288360

+0

Fühlen Sie sich frei, meine Antwort hier zu akzeptieren, selbst wenn Sie es selbst gefunden haben :) Könnte nützlich für Leute sein, die nach der gleichen Sache suchen. –

Verwandte Themen