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 =
J'ai défini une variable "client" dans les fichiers de mes clients.
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
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"
En vous remerciant de votre aide,
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
Vincent
Partager