From 0920121eed97889ff33ef84f04a3730242ccb04b Mon Sep 17 00:00:00 2001 From: sarthurdev <965089+sarthurdev@users.noreply.github.com> Date: Fri, 8 Mar 2024 16:36:25 +0100 Subject: dhcp: T3316: De-duplicate Kea control socket variable --- python/vyos/kea.py | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'python') diff --git a/python/vyos/kea.py b/python/vyos/kea.py index 5aa91e652..89ae7ca81 100644 --- a/python/vyos/kea.py +++ b/python/vyos/kea.py @@ -56,6 +56,8 @@ kea6_options = { 'captive_portal': 'v6-captive-portal' } +kea_ctrl_socket = '/run/kea/dhcp{inet}-ctrl-socket' + def kea_parse_options(config): options = [] @@ -294,7 +296,9 @@ def kea6_parse_subnet(subnet, config): return out -def _ctrl_socket_command(path, command, args=None): +def _ctrl_socket_command(inet, command, args=None): + path = kea_ctrl_socket.format(inet=inet) + if not os.path.exists(path): return None @@ -319,9 +323,7 @@ def _ctrl_socket_command(path, command, args=None): return json.loads(result.decode('utf-8')) def kea_get_leases(inet): - ctrl_socket = f'/run/kea/dhcp{inet}-ctrl-socket' - - leases = _ctrl_socket_command(ctrl_socket, f'lease{inet}-get-all') + leases = _ctrl_socket_command(inet, f'lease{inet}-get-all') if not leases or 'result' not in leases or leases['result'] != 0: return [] @@ -329,11 +331,9 @@ def kea_get_leases(inet): return leases['arguments']['leases'] def kea_delete_lease(inet, ip_address): - ctrl_socket = f'/run/kea/dhcp{inet}-ctrl-socket' - args = {'ip-address': ip_address} - result = _ctrl_socket_command(ctrl_socket, f'lease{inet}-del', args) + result = _ctrl_socket_command(inet, f'lease{inet}-del', args) if result and 'result' in result: return result['result'] == 0 @@ -341,9 +341,7 @@ def kea_delete_lease(inet, ip_address): return False def kea_get_active_config(inet): - ctrl_socket = f'/run/kea/dhcp{inet}-ctrl-socket' - - config = _ctrl_socket_command(ctrl_socket, 'config-get') + config = _ctrl_socket_command(inet, 'config-get') if not config or 'result' not in config or config['result'] != 0: return None -- cgit v1.2.3