Ansible: vérifier si la variable est égale à la chaîne
J'ai un ansible variable passés sur la ligne de commande en tant que tel:
ansible-playbook -e environment=staging ansible/make_server.yml
Je veux charger de certaines variables dans mon rôle dependeing sur la valeur de l'environnement. J'ai essayé beaucoup de différentes méthodes telles que:
- include_vars: staging_vars.yml
when: environment | staging
et
- include_vars: staging_vars.yml
when: "{{environment}} == "staging"
et
- include_vars: staging_vars.yml
when: "{{environment}} | match('staging')"
mais rien ne semble fonctionner. Comment puis-je faire cela?
Détails:
- Je suis en utilisant ansible 1.7.2
OriginalL'auteur Jordan Ell | 2014-12-06
Vous devez vous connecter pour publier un commentaire.
Être prudent avec une variable appelée
environment
, il peut causer des problèmes parce que Ansible l'utilise en interne. Je ne me souviens plus si c'est dans les docs, mais voici une liste de diffusion thread:https://groups.google.com/forum/#!topic/ansible-projet/fP0hX2Za4I0
Nous utilisons une variable appelée
stage
.Il semble que vous finirez avec un tas de ces dans une rangée:
Mais vous pourriez tout aussi bien inclure votre environnement:
Ou, utilisez la
vars_files
sur un playbook niveau:OriginalL'auteur Ramon de la Fuente