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