Rapport d'erreur
1.8.2
RHEL 5
Le filtre par défaut ne résout pas les variables définies dans l'inventaire.
Par exemple, si j'ai défini dans mon fichier d'inventaire la variable suivante :
app_install_dir=/test
Mon playbook a ceci et "somevariable" n'est pas défini:
dest_dir="{{ unevariable | default('{{app_install_dir}}/DATA') }}"
Lors de l'exécution du playbook, la valeur par défaut ne parvient pas à résoudre "app_install_dir"
Cela fonctionnait sur Ansible 1.7.1.
1) Définissez une variable dans l'inventaire appelée "test_directory=/tmp/testdir"
2) Dans le playbook, ayez une tâche pour créer un répertoire défini par la variable dest={{ undefined_variable | par défaut('{{test_directory}}') }}
3) Après avoir exécuté le playbook, il ne parvient pas à résoudre la valeur de "test_directory"
Le filtre par défaut doit pouvoir résoudre les variables
Le filtre par défaut ne résout pas les variables définies dans l'inventaire
Salut!
Merci beaucoup pour votre soumission à Ansible. Cela signifie sincèrement beaucoup pour nous.
Nous pensons que le ticket que vous avez déposé est quelque peu mal compris, car une chose fonctionne un peu différemment de ce qui est indiqué.
dest={{ undefined_variable | default('{{test_directory}}') }}
est une expression invalide, vous ne pouvez pas imbriquer {{ }}, ce que vous voulez probablement est le suivant :
dest={{ undefined_variable | default(test_directory) }}
À l'avenir, cela pourrait être un sujet plus adapté à la liste des utilisateurs, que vous pouvez également publier ici si vous souhaitez obtenir plus d'aide avec ce qui précède.
Merci encore pour cela et votre intérêt pour Ansible !
@bcoca : Bon à savoir, mais cela signifie-t-il que nous ne pouvons pas concaténer une variable et un littéral dans une valeur par défaut ? Quelque chose comme : dest={{ undefined_variable | default('{{test_directory}}/subdir') }}
(mais pas invalide ;-)
Je ne vois normalement pas de messages dans les tickets fermés, mais un utilisateur irc m'a envoyé un ping à ce sujet :
dest={{ undefined_variable | default(test_directory + '/subdir') }}
Commentaire le plus utile
Je ne vois normalement pas de messages dans les tickets fermés, mais un utilisateur irc m'a envoyé un ping à ce sujet :
dest={{ undefined_variable | default(test_directory + '/subdir') }}