2014-06-17 4 views
1
1 - name: Test 
2 - hosts: webserv 
3 connection: local 
4 gather_facts: False 
5 
6 tasks: 
7 - name: Provision web instances 
8  local_action: 
9   module: rax 
10   credentials: "{{ rax_cred | mandatory }}" 
11   name: "{{ rax_name | default(w0) }}" 
12   flavor: "{{ rax_flavor | default(6) }}" 
13   image: debian-7-wheezy-pvhvm 
14   files: 
15   /root/.ssh/authorized_keys: "{{ rax_ssh_keys | mandatory }}" 
16   count: "{{ rax_count | default(1) }}" 
17   group: "{{ rax_group }}" 
18   region: DFW 
19   wait: yes 
20   state: present 
21  register: rax 

J'ai cette ansible-playbook, mais à cause du groupe, le nom du nouveau serveur est associé à un compteur de nombres. Je veux pouvoir utiliser ceci pour une instance de serveur unique aussi bien que pour plusieurs. Est-il possible de faire quelque chose comme:Ansible: chargement d'une variable de groupe conditionnellement sur un nombre

si le nombre est supérieur à 1, alors avoir la variable de groupe définie.

Merci!

Répondre

1

Si je comprends bien, vous voulez avoir la valeur group réglée que si rax_count est supérieur à 1. Vous devez faire cela en deux pièces:

- name: Provision web instances 
    local_action: 
     module: rax 
     credentials: "{{ rax_cred | mandatory }}" 
     name: "{{ rax_name | default(w0) }}" 
     flavor: "{{ rax_flavor | default(6) }}" 
     image: debian-7-wheezy-pvhvm 
     files: 
      /root/.ssh/authorized_keys: "{{ rax_ssh_keys | mandatory }}" 
     count: "{{ rax_count | default(1) }}" 
     group: "{{ rax_group if rax_count > 1 else None }}" 
     region: DFW 
     wait: yes 
     state: present 
    register: rax 
+0

Je l'ai fait avec inclure des fichiers, mais utilisé le même logique. Y a-t-il un moyen de modifier seulement cette variable? –

+0

Désolé mais je ne suis pas sûr de ce que vous demandez, pourriez-vous reformuler/élaborer? –

+0

Vous avez répondu à ma question, mais cela nécessite de répéter beaucoup de code. Je me demandais si je ne pouvais définir que la variable de groupe basée sur le nombre de comptes. Si count> 1 a alors la variable de groupe, sinon ne l'ai pas. –

Questions connexes