From 918cf4446c200f30d5630090936f4ec3530131c1 Mon Sep 17 00:00:00 2001 From: Abel Luck Date: Sun, 5 Nov 2023 20:37:06 +0100 Subject: [PATCH] don't let specific node failures fail us --- tailscalesd/main.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tailscalesd/main.py b/tailscalesd/main.py index 4b339e1..4c38a4f 100644 --- a/tailscalesd/main.py +++ b/tailscalesd/main.py @@ -94,6 +94,8 @@ async def matrix_node_sd(device) -> Dict: def matrix_workers_to_sd(device, workers) -> List: + if len(workers) == 0: + return [] ipv4 = filter_ipv6(device["addresses"])[0] target_groups = [] for worker_type, workers in workers.items(): @@ -125,7 +127,12 @@ async def matrix_sd(devices) -> List: for device in devices: if "tag:matrix" not in device["tags"]: continue - workers = await matrix_node_sd(device) + try: + workers = await matrix_node_sd(device) + except Exception as e: + log.error(f"Failed parsing matrix node sd for device={device['hostname']}") + log.error(e) + workers = [] targets = matrix_workers_to_sd(device, workers) if targets: sd.append(targets)