diff options
author | Christian Breunig <christian@breunig.cc> | 2023-12-31 07:28:57 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-31 07:28:57 +0100 |
commit | 2286b8600da6c631b17e1d5b9b341843e50f9abf (patch) | |
tree | e2032793be5a755c0e2c1c1317948ff6d244f30a /src/conf_mode/dhcpv6_server.py | |
parent | 14dc8a8962f0a52107913423a750f36ed8e45160 (diff) | |
parent | 3192095a197ae8d74690ab5c676e6a5fabae7fae (diff) | |
download | vyos-1x-2286b8600da6c631b17e1d5b9b341843e50f9abf.tar.gz vyos-1x-2286b8600da6c631b17e1d5b9b341843e50f9abf.zip |
Merge pull request #2696 from indrajitr/kea-lfc-fix
dhcp: T3316: Adjust kea lease files' location and permissions
Diffstat (limited to 'src/conf_mode/dhcpv6_server.py')
-rwxr-xr-x | src/conf_mode/dhcpv6_server.py | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/conf_mode/dhcpv6_server.py b/src/conf_mode/dhcpv6_server.py index f9da3d84a..9cc57dbcf 100755 --- a/src/conf_mode/dhcpv6_server.py +++ b/src/conf_mode/dhcpv6_server.py @@ -22,8 +22,9 @@ from sys import exit from vyos.config import Config from vyos.template import render -from vyos.template import is_ipv6 from vyos.utils.process import call +from vyos.utils.file import chmod_775 +from vyos.utils.file import makedir from vyos.utils.file import write_file from vyos.utils.dict import dict_search from vyos.utils.network import is_subnet_connected @@ -33,7 +34,8 @@ airbag.enable() config_file = '/run/kea/kea-dhcp6.conf' ctrl_socket = '/run/kea/dhcp6-ctrl-socket' -lease_file = '/config/dhcp6.leases' +lease_file = '/config/dhcp/dhcp6-leases.csv' +user_group = '_kea' def get_config(config=None): if config: @@ -182,10 +184,17 @@ def generate(dhcpv6): dhcpv6['lease_file'] = lease_file dhcpv6['machine'] = os.uname().machine + # Create directory for lease file if necessary + lease_dir = os.path.dirname(lease_file) + if not os.path.isdir(lease_dir): + makedir(lease_dir, group='vyattacfg') + chmod_775(lease_dir) + + # Create lease file if necessary and let kea own it - 'kea-lfc' expects it that way if not os.path.exists(lease_file): - write_file(lease_file, '', user='_kea', group='vyattacfg', mode=0o755) + write_file(lease_file, '', user=user_group, group=user_group, mode=0o644) - render(config_file, 'dhcp-server/kea-dhcp6.conf.j2', dhcpv6) + render(config_file, 'dhcp-server/kea-dhcp6.conf.j2', dhcpv6, user=user_group, group=user_group) return None def apply(dhcpv6): |