Bonjour,

Je reviens vous embêter avec mes problèmes de débutant sous Ansible.
Avant de poster, je me suis usé les yeux toutes l'après-midi sur la doc.

Voilà le propos = En fonction du client je veux changer une ligne correspondant à un chemin dans un script.
Mon rôle ressemble à ceci =
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
 16 - name: "Modifie le script"
 17   replace: regexp="/home/teleback" replace="/archive-7e" dest=/root/Admin/check_teleback.php
 18   when: "{{ client }} == ('poc')"
 19   ignore_errors: True
 
 26 - name: "Modifie le script"
 27   replace: regexp="/home/teleback" replace="/archive/xxxxxx" dest=/root/Admin/check_teleback.php
 28   when: "{{client}} | match('amd')"
 29   ignore_errors: True
J'ai défini une variable "client" dans les fichiers de mes clients.
Comme vous le voyez, j'ai testé ma condition de 2 manières differentes. Le meilleur résultat d'erreur obtenu est celui-ci. Le client sur lequel je m'entraîne est "amd"

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
fatal: [srv-sauv]: FAILED! => {"failed": true, "msg": "The conditional check '{{ client }} == ('poc')' failed. The error was: error while evaluating conditional ({{ client }} == ('poc')): 'amd' is undefined\n\nThe error                     appears to have been in '/ansible-wd/roles/telebackdeploy/tasks/main.yml': line 16, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: \"M                    odifie le script\"\n  ^ here\n"}
...ignoring
 
fatal: [srv-sauv]: FAILED! => {"failed": true, "msg": "The conditional check '{{client}} | match('amd')' failed. The error was: Unexpected templating type error occurred on ({% if amd | match('amd') %} True {% else %} Fa                    lse {% endif %}): expected string or buffer\n\nThe error appears to have been in '/ansible-wd/roles/telebackdeploy/tasks/main.yml': line 26, column 3, but may\nbe elsewhere in the file depending on the exact syntax probl                    em.\n\nThe offending line appears to be:\n\n\n- name: \"Modifie le script\"\n  ^ here\n"}
...ignoring
En vous remerciant de votre aide,

Vincent