je suppose que c'est un effet de bord de la façon dont sont implémentés les facts d'ansible.
Il ne faut probablement pas voir ça comme une affectation de variable, qui ferait appel à son ancienne valeur, mais à une re-définition de la valeur, l'ancienne valeur n'étant plus disponible tu te retrouve avec une définition récursive qu'il ne peut pas résoudre.
C'est aussi ce que je me suis dit : au moins ça me rassure sur le diagnostic.
Mais tu ne dis pas à quel endroit tu essaie de re-définir cette variable.
Je croyais que si :
Je dispose dans un fichier group_vars/all.yml de deux variables ainsi que d'un booleen :
en gros j'ai un truc du genre : + plabook_dir
| + group_vars
| + all.yml
+ playbookA.yml
+ playbookB.yml
Est-ce dans une action set_facts?
Non
Ou peut-être dans une section vars d'une action, ou d'un block?
Voir au dessus. Je ne sais pas si c'est sufisamment précis ...
les playbooks A B etc ... font appel à des rôles sur lesquels je n'ai pas la main, et mes playbooks sont appelés par un processus sur lequel je n'ai pas la main. Je dois juste insérer mon changement de variable entre les deux.
Sinon pour ta solution je ne suis pas sur de pouvoir faire un set_facts au niveau du fichier group_var (je ne peux pas faire ce que je veux à ce niveau).
[^] # Re: ne pas faire référence à soi-même
Posté par totof2000 . En réponse au message [Ansible] : changement conditionnel de la valeur d'une variable. Évalué à 2. Dernière modification le 08 avril 2017 à 21:07.
C'est aussi ce que je me suis dit : au moins ça me rassure sur le diagnostic.
Je croyais que si :
en gros j'ai un truc du genre :
+ plabook_dir| + group_vars
| + all.yml
+ playbookA.yml
+ playbookB.yml
Non
Voir au dessus. Je ne sais pas si c'est sufisamment précis ...
les playbooks A B etc ... font appel à des rôles sur lesquels je n'ai pas la main, et mes playbooks sont appelés par un processus sur lequel je n'ai pas la main. Je dois juste insérer mon changement de variable entre les deux.
Sinon pour ta solution je ne suis pas sur de pouvoir faire un set_facts au niveau du fichier group_var (je ne peux pas faire ce que je veux à ce niveau).
En tout cas merci pour l'aide.