From faf27a39404d49b514626fd73babd108691bda14 Mon Sep 17 00:00:00 2001 From: Franziska Kunsmann Date: Thu, 3 Jun 2021 07:45:56 +0200 Subject: [PATCH] bundles/nfs-server: support using node names for shares --- bundles/nfs-server/files/exports | 8 +++++++- bundles/nfs-server/metadata.py | 2 +- nodes/home/nas.py | 8 ++++---- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/bundles/nfs-server/files/exports b/bundles/nfs-server/files/exports index 095261a..ad2ca4c 100644 --- a/bundles/nfs-server/files/exports +++ b/bundles/nfs-server/files/exports @@ -1,3 +1,9 @@ % for path, shares in sorted(node.metadata['nfs-server']['shares'].items()): -${path} ${' '.join(sorted(shares))} +% for share_target, share_options in sorted(shares.items()): +% for ip_list in repo.libs.tools.resolve_identifier(repo, share_target).values(): +% for ip in sorted(ip_list): +${path} ${ip}(${share_options}) +% endfor +% endfor +% endfor % endfor diff --git a/bundles/nfs-server/metadata.py b/bundles/nfs-server/metadata.py index df22834..b0bbd32 100644 --- a/bundles/nfs-server/metadata.py +++ b/bundles/nfs-server/metadata.py @@ -17,7 +17,7 @@ def iptables(metadata): for share_items in metadata.get('nfs-server/shares', {}).values(): for share_target in share_items: - ips.add(share_target.split('(', 2)[0]) + ips.add(share_target) return { 'iptables': { diff --git a/nodes/home/nas.py b/nodes/home/nas.py index deae1e9..7c48bbd 100644 --- a/nodes/home/nas.py +++ b/nodes/home/nas.py @@ -118,16 +118,16 @@ nodes['home.nas'] = { 'nfs-server': { 'shares': { '/storage/download': { - '172.19.138.27/32(rw,all_squash,anonuid=65534,anongid=1012,no_subtree_check)', + 'home.downloadhelper': 'rw,all_squash,anonuid=65534,anongid=1012,no_subtree_check', }, '/storage/nas': { - '172.19.138.0/24(ro,all_squash,anonuid=65534,anongid=65534,no_subtree_check)', + '172.19.138.0/24': 'ro,all_squash,anonuid=65534,anongid=65534,no_subtree_check', }, '/srv/paperless': { - '172.19.138.29/32(rw,all_squash,anonuid=65534,anongid=65534,no_subtree_check)', + 'home.paperless': 'rw,all_squash,anonuid=65534,anongid=65534,no_subtree_check', }, '/srv/scansnap': { - '172.19.138.0/24(rw,all_squash,anonuid=65534,anongid=65534,no_subtree_check)', + '172.19.138.0/24': 'rw,all_squash,anonuid=65534,anongid=65534,no_subtree_check', }, }, },