J'ai une question quand j'utilisais le rôle Anfs NFS.Créer des chaînes dynamiquement dans l'inventaire Ansible
rôle NFS: https://github.com/geerlingguy/ansible-role-nfs
Ma situation est comme ceci: Nous allons créer une liste des machines virtuelles qui sont des clients NFS. Et nous avons besoin d'un contrôle d'accès sur le serveur NFS. Nous avons donc défini une liste nommée 'nfs_exports' dans l'inventaire Ansible en fonction du rôle ci-dessus.
Certaines des machines virtuelles seront terminées et désaffectées après une charge de travail complète. Et nous réexécuterons le playbook y compris le rôle NFS pour mettre à jour les paramètres du serveur NFS. Donc, il y a un groupe d'hôtes 'client_group', et la quantité d'hôtes est variable.
S'il y a une machine virtuelle, la liste des nfs_exports sera:
nfs_clients: "{{ groups['client_group'] }}"
nfs_exports:
- "{{ nfs_dirs[0] }} {{ nfs_clients[0] }}(rw)"
- "{{ nfs_dirs[1] }} {{ nfs_clients[0] }}(ro)"
Et s'il y a deux machines virtuelles,
nfs_clients: "{{ groups['client_group'] }}"
nfs_exports:
- "{{ nfs_dirs[0] }} {{ nfs_clients[0] }}(rw) {{ nfs_clients[1] }}(rw)"
- "{{ nfs_dirs[1] }} {{ nfs_clients[0] }}(ro) {{ nfs_clients[1] }}(ro)"
Et s'il y a trois machines virtuelles,
nfs_clients: "{{ groups['client_group'] }}"
nfs_exports:
- "{{ nfs_dirs[0] }} {{ nfs_clients[0] }}(rw) {{ nfs_clients[1] }}(rw) {{ nfs_clients[2] }}(rw)"
- "{{ nfs_dirs[1] }} {{ nfs_clients[0] }}(ro) {{ nfs_clients[1] }}(ro) {{ nfs_clients[2] }}(ro)"
Ce n'est pas bon dans notre cas. Parce que chaque fois que la quantité de machines virtuelles a changé, j'ai besoin de changer les 'nfs_exports' manuellement.
J'ai besoin de construire les chaînes dans la liste 'nfs_exports' dynamiquement. Donc s'il y a une VM, il n'y aura qu'un seul client dans 'nfs_exports'. S'il y a plusieurs machines virtuelles, toutes les machines virtuelles doivent être automatiquement incluses dans 'nfs_exports'.
Quelqu'un peut-il fournir une solution sur la construction de chaînes dans 'nfs_exports', ne pas changer manuellement 'nfs_exports' quand 'client_group' change?
J'ai vérifié votre code et il fonctionne très bien. Merci beaucoup! –