2016-08-01 20 views
1

Wie erstellt man eine variable Gruppe basierend auf dem IP-Adressbereich in Ansible Inventory Groups? Ich habe zwei Gruppen von Servern an verschiedenen Orten. Ich möchte die beiden Gruppen basierend auf ihrem IP-Bereich erstellen (zwei Bereiche für zwei Standorte). Ich habe bereits Gruppen basierend auf Verteilung, prod, dev, test, qa, dr in meinem Host-Inventar. Ich weiß, dass ich eine Gruppierung mit group_by erstellen kann. Aber wie rufe ich sie an? und Wie weisen Sie ihnen einen benutzerdefinierten Variablennamen zu? - Gastgeber: alle Aufgaben: - group_by: key = Netzwerk _ {{}} ansible_default_ipv4.networkansible dynamische Gruppe basierend auf IP-Bereich

Aber wie ich sie nennen? und Wie weisen Sie ihnen einen benutzerdefinierten Variablennamen zu? Gibt es eine Möglichkeit, dass ich einmal eine Gruppe erstellen und alle Hosts in einer statischen Inventardatei speichern kann? ?

Antwort

1

Ich habe in der comment beantwortet.

Sie können when Anweisung mit group_by wie bei jeder anderen Aufgabe verwenden.
Zum Beispiel:

--- 
- hosts: all 
    tasks: 
    - group_by: key=London 
    when: ansible_default_ipv4.network == '192.168.0.0' 
    - group_by: key=Paris 
    when: ansible_default_ipv4.network == '10.0.0.0'