Tableau passe en --extra-vars - Ansible

Comment puis-je passer yaml tableau --extra-vars dans Ansible playbook. Ansible documentation ne déclare pas sa syntaxe et je ne peux pas trouver cela sur n'importe quelle ressource internet.

je veux dire, si j'ai un playbook:

---
  - hosts: {{hostName}}
  - remote_user: admin
  ...

Ensuite, je dois appeler mon playbook comme

ansible-playbook DeployWar.yml --extra-vars="hostName=tomcat-webApp"

Mais je veux exécuter ce playbook sur deux serveurs de dire tomcat-webApp et tomcat-all, et je tiens à le contrôler à partir d'à côté, c'est à dire à l'aide de --extra-vars. Ce que j'ai essayé de faire est:

ansible-playbook DeployWar.yml --extra-vars="hostName=[tomcat-webApp, tomcat-all]"

ansible-playbook DeployWar.yml --extra-vars="hostName={tomcat-webApp, tomcat-all}"

ansible-playbook DeployWar.yml --extra-vars="[{hostName: tomcat-webApp}, {hostName: tomcat-all}]"

mais dans tous les cas playbook ne parvient pas à déclarer une erreur de syntaxe dans mon appel. Toute aide appréciée.

35
demandé sur Tariq 2014-09-02 10:40:10

2 réponses

pour répondre À votre première question: "Comment puis-je passer yaml tableau --extra-var dans Ansible playbook." vous pouvez passer dans un format json chaîne d'extra-vars.

Voici un exemple de lecture:

- hosts: all
  gather_facts: no
  tasks:
    - debug: var=test_list

Et comment faire pour passer en test_list à ansible-playbook:

ansible-playbook -c local -i localhost, test.yml --extra-vars='{"test_list": [1,2,3]}'

bien que vous puissiez utiliser une variable pour les hôtes, je recommande de vérifier le mécanisme D'Ansible pour la gestion de l'hôte qui est inventaire en conjonction avec le --limit option.

26
répondu jarv 2016-03-09 12:57:58

à partir de la version 1.3, les vars supplémentaires peuvent être formatés en YAML, soit sur la ligne de commande, soit dans un fichier. Voir la documentation possible intitulée passer des Variables sur la ligne de commande.

à partir du lien: -- extra-vars " @some_file.json"

8
répondu Ivan Ogai 2016-02-17 11:53:23