summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorIndrajit Raychaudhuri <irc@indrajit.com>2025-01-26 15:16:58 -0600
committerIndrajit Raychaudhuri <irc@indrajit.com>2025-01-26 15:22:24 -0600
commit9723f1054a98d82ee71a18eb672472be0a632f8e (patch)
treecf702b9fe13f441c8b2af357a7fd8c8a8e2d4cb8 /python
parent10ee7ac1d2bfd20bd11b5ebaa33c2f07dd561d48 (diff)
downloadvyos-1x-9723f1054a98d82ee71a18eb672472be0a632f8e.tar.gz
vyos-1x-9723f1054a98d82ee71a18eb672472be0a632f8e.zip
dhcp: T7052: Fix remaining time evaluation and formatting errors
The remaining time for a lease was not being correctly evaluated and formatted. As a result, expired leases show up with `show dhcp server leases`. Also, the empty hostname should be replaced by '-'.
Diffstat (limited to 'python')
-rw-r--r--python/vyos/kea.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/python/vyos/kea.py b/python/vyos/kea.py
index 951c83693..fe1564355 100644
--- a/python/vyos/kea.py
+++ b/python/vyos/kea.py
@@ -497,7 +497,7 @@ def kea_get_server_leases(config, inet, pools=[], state=[], origin=None) -> list
)
data_lease['origin'] = 'local' # TODO: Determine remote in HA
# remove trailing dot in 'hostname' to ensure consistency for `vyos-hostsd-client`
- data_lease['hostname'] = lease.get('hostname', '-').rstrip('.')
+ data_lease['hostname'] = lease.get('hostname', '').rstrip('.') or '-'
if inet == '4':
data_lease['mac'] = lease['hw-address']
@@ -512,7 +512,7 @@ def kea_get_server_leases(config, inet, pools=[], state=[], origin=None) -> list
prefix_len = lease['prefix-len']
data_lease['ip'] += f'/{prefix_len}'
- data_lease['remaining'] = '-'
+ data_lease['remaining'] = ''
if lease['valid-lft'] > 0:
data_lease['remaining'] = lease['expire_timestamp'] - datetime.now(
@@ -526,7 +526,7 @@ def kea_get_server_leases(config, inet, pools=[], state=[], origin=None) -> list
# Do not add old leases
if (
- data_lease['remaining']
+ data_lease['remaining'] != ''
and data_lease['pool'] in pools
and data_lease['state'] != 'free'
and (not state or state == 'all' or data_lease['state'] in state)