diff --git a/node_external_ip_controller_async.py b/node_external_ip_controller_async.py index 41f8d50..0109183 100644 --- a/node_external_ip_controller_async.py +++ b/node_external_ip_controller_async.py @@ -28,7 +28,6 @@ def is_valid_ip(ip): async def update_service_annotation(v1, service, external_ipset): try: - external_ips = list(external_ipset) service_name = service.metadata.name namespace = service.metadata.namespace logger.debug(f"Fetching service {service_name} in namespace {namespace}") @@ -40,12 +39,13 @@ async def update_service_annotation(v1, service, external_ipset): logger.debug(f"Zlan Gateway IP: {zlan_gateway_ip}") if is_valid_ip(zlan_gateway_ip): - target_annotation = ",".join(external_ips) + "," + zlan_gateway_ip + external_ipset = set(external_ipset).add(zlan_gateway_ip) else: - target_annotation = ",".join(external_ips) logger.debug( f"Invalid Zlan Gateway IP: {zlan_gateway_ip}, excluding from target annotation" ) + external_ips = list(external_ipset) + target_annotation = ",".join(external_ips) if annotated_ipset != external_ipset: logger.debug(f"Current annotation: {current_annotation}: {annotated_ipset}") logger.debug(f"Target annotation: {target_annotation}: {external_ipset}")