Je tente de créer un rôle ansible pour créer une réplique de volume glusterfs dans les instances AWS Centos.J'ai réussi à créer du volume et à installer glusterfs. J'ai essayé d'utiliser cette suggestion topic exécutant "gluster peer probe" sur chaque machine du groupe hôte. Je PlayBook que l'exécution de rôle « glusterfs » sur hostgroup:Comment exécuter la commande Glusterfs-cli "peer probe" en utilisant le groupe d'hôtes Ansible avec la condition "when"
[Server]
devserver1.net ansible_user=ec2-user ansible_ssh_private_key_file=/some.pem
devserver2.net ansible_user=ec2-user ansible_ssh_private_key_file=/some.pem
Ce que je suis en train est maintenant rôle à exécuter « sonde homologue Gluster ... », lorsque cette tâche exécutée dans l'hôte spesific de ce groupe d'hôtes . Comme ceci:
- name: gluster peer probe in server1
shell: gluster peer probe {{ stackName }}server2.net
when: "'{{ stackName }}server1.net' == {{ inventory_hostname }}"
- name: gluster peer probe in server2
shell: gluster peer probe {{ stackName }}server1.net
when: "'{{ stackName }}server2.net' == {{ inventory_hostname }}"
StackName est l'inventaire prédéfini "dev" variable pour playbook.
Et il échoue avec l'erreur:
FAILED! => {"failed": true, "msg": "The conditional check '{{ stackName }} server1.net in inventory_hostname' failed. The error was: error while evaluating conditional ({{ stackName }}server1.net in inventory_hostname): 'server1' is undefined\n\nThe error appears to have been in 'ansible/roles/glusterfs/tasks/main.yml': line 69, 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: gluster peer probe from server1\n^here\n"}
Tout ce qui suggère comment je peux le faire? Ou ce que je fais mal ici?