From 6c194007a1d46a5f4e8a20c6c7a3c5786da889d8 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sun, 30 Nov 2025 13:29:00 +0100 Subject: [PATCH] statd: fix double timezone in DHCP lease expiry timestamps The isoformat() method already includes the timezone offset when the datetime object has timezone info. Appending "+00:00" created an invalid double-timezone suffix like "2025-11-30T13:13:49+00:00+00:00" which failed YANG validation. Error was: admin@bpi-26-60-00:/> show dhcp-server Error running sysrepocfg: Command '['sysrepocfg', '-f', 'json', '-X', '-d', 'operational', '-x', '/infix-dhcp-server:dhcp-server']' returned non-zero exit status 1. No interface data retrieved. With syslog showing: statd[4291]: libyang[0]: Invalid union value "2025-11-30T13:13:49+00:00+00:00" - no matching subtype found Signed-off-by: Joachim Wiberg --- src/statd/python/yanger/infix_dhcp_server.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/statd/python/yanger/infix_dhcp_server.py b/src/statd/python/yanger/infix_dhcp_server.py index 3c90d6d4..08ed4cad 100755 --- a/src/statd/python/yanger/infix_dhcp_server.py +++ b/src/statd/python/yanger/infix_dhcp_server.py @@ -23,7 +23,7 @@ def leases(leases_file): else: dt = datetime.fromtimestamp(int(tokens[0]), tz=timezone.utc) - expires = dt.isoformat() + "+00:00" + expires = dt.isoformat() row = { "expires": expires,