• # ne pas faire référence à soi-même

    Posté par . En réponse au message [Ansible] : changement conditionnel de la valeur d'une variable. Évalué à 4.

    Sans avoir vérifié dans le code d'ansible, 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.

    Mais tu ne dis pas à quel endroit tu essaie de re-définir cette variable.
    Est-ce dans une action set_facts?
    Ou peut-être dans une section vars d'une action, ou d'un block?

    Au passage, si ta variable booleen est déjà un ... booléen, tu peux résumé ton test à "not booleen" (avec quand même de filtre default si la variable n'est pas définie pour tous les hosts), et en inversant le if on évite la négation.

    Au pire, si tu as vraiment besoin de re-définir la variable var_a, ça peut probablement se faire en deux temps:

    - set_fact:
     var_a_bis: "{{var_aifbooleen|default(true)elsevar_b}}"
    - set_fact:
     var_a: "{{var_a_bis}}"

    Je n'ai pas testé, mais comme les actions s'exécutent séquentiellement, ça devrait le faire.