私はAnsibleロールNFSを使用していた時に質問があります。文字列を動的に構築してください。
NFSの役割: https://github.com/geerlingguy/ansible-role-nfs
私の状況はこのようなものです:私たちは、NFSクライアントであるVMのリストを作成します。 NFSサーバー上でアクセス制御が必要です。そこで、上記の役割に従って、Ansibleのインベントリに「nfs_exports」という名前のリストを設定しました。
一部のVMは、完全なワークロードの後に終了され、廃止されます。 NFSサーバーの設定を更新するためのNFSロールを含むプレイブックを再実行します。したがって、ホストグループ 'client_group'があり、ホスト数は可変です。 1 VMがある場合
、nfs_exportsリストは次のようになります。
nfs_clients: "{{ groups['client_group'] }}"
nfs_exports:
- "{{ nfs_dirs[0] }} {{ nfs_clients[0] }}(rw)"
- "{{ nfs_dirs[1] }} {{ nfs_clients[0] }}(ro)"
をそして2つのVMがある場合
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)"
三台のVMがある場合
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)"
これは私たちの場合は良くありません。 VMの量が変わるたびに、手動で 'nfs_exports'を変更する必要があるためです。
リスト 'nfs_exports'に動的に文字列を作成する必要があります。したがって、VMが1つの場合、 'nfs_exports'には1つのクライアントしか存在しません。複数のVMがある場合、すべてのVMを自動的に 'nfs_exports'に含める必要があります。
'nfs_exports'に文字列を作成する方法については誰でも解決できますが、 'client_group'が変更されたときに手動で 'nfs_exports'を変更することはできませんか?ここで
私はあなたのコードを確認しても、それが正常に動作します。どうもありがとうございます! –