From 17b26ae91047e42a67dab65f3d61c729c37f0752 Mon Sep 17 00:00:00 2001 From: Ares Date: Wed, 13 Mar 2024 23:33:49 +0800 Subject: [PATCH] update bugfix/1.24-GA --- .../lib/charms/layer/kubernetes_common.py | 11 +++++++++++ .../lib/charms/layer/kubernetes_common.py | 11 +++++++++++ .../lib/charms/layer/kubernetes_common.py | 11 +++++++++++ 3 files changed, 33 insertions(+) diff --git a/kubeapi-load-balancer/lib/charms/layer/kubernetes_common.py b/kubeapi-load-balancer/lib/charms/layer/kubernetes_common.py index e984500..82d82d6 100644 --- a/kubeapi-load-balancer/lib/charms/layer/kubernetes_common.py +++ b/kubeapi-load-balancer/lib/charms/layer/kubernetes_common.py @@ -182,6 +182,17 @@ def get_ingress_address(endpoint_name, ignore_addresses=None): ingress_addresses = network_info["ingress-addresses"] network_info["ingress-addresses"] = [ip for ip in ingress_addresses if ip not in excluded_ips] + excluded_ips = [] + excluded_interfaces = ["vxlan", "kube", "wg", "docker", "cali", "virbr", "cni", "flannel"] + for addr in network_info["bind-addresses"]: + for prefix in excluded_interfaces: + if addr["interface-name"].startswith(prefix): + for ip in addr["addresses"]: + excluded_ips.append(ip["value"]) + + ingress_addresses = network_info["ingress-addresses"] + network_info["ingress-addresses"] = [ip for ip in ingress_addresses if ip not in excluded_ips] + addresses = network_info["ingress-addresses"] if ignore_addresses: diff --git a/kubernetes-control-plane/lib/charms/layer/kubernetes_common.py b/kubernetes-control-plane/lib/charms/layer/kubernetes_common.py index e984500..82d82d6 100644 --- a/kubernetes-control-plane/lib/charms/layer/kubernetes_common.py +++ b/kubernetes-control-plane/lib/charms/layer/kubernetes_common.py @@ -182,6 +182,17 @@ def get_ingress_address(endpoint_name, ignore_addresses=None): ingress_addresses = network_info["ingress-addresses"] network_info["ingress-addresses"] = [ip for ip in ingress_addresses if ip not in excluded_ips] + excluded_ips = [] + excluded_interfaces = ["vxlan", "kube", "wg", "docker", "cali", "virbr", "cni", "flannel"] + for addr in network_info["bind-addresses"]: + for prefix in excluded_interfaces: + if addr["interface-name"].startswith(prefix): + for ip in addr["addresses"]: + excluded_ips.append(ip["value"]) + + ingress_addresses = network_info["ingress-addresses"] + network_info["ingress-addresses"] = [ip for ip in ingress_addresses if ip not in excluded_ips] + addresses = network_info["ingress-addresses"] if ignore_addresses: diff --git a/kubernetes-worker/lib/charms/layer/kubernetes_common.py b/kubernetes-worker/lib/charms/layer/kubernetes_common.py index e984500..82d82d6 100644 --- a/kubernetes-worker/lib/charms/layer/kubernetes_common.py +++ b/kubernetes-worker/lib/charms/layer/kubernetes_common.py @@ -182,6 +182,17 @@ def get_ingress_address(endpoint_name, ignore_addresses=None): ingress_addresses = network_info["ingress-addresses"] network_info["ingress-addresses"] = [ip for ip in ingress_addresses if ip not in excluded_ips] + excluded_ips = [] + excluded_interfaces = ["vxlan", "kube", "wg", "docker", "cali", "virbr", "cni", "flannel"] + for addr in network_info["bind-addresses"]: + for prefix in excluded_interfaces: + if addr["interface-name"].startswith(prefix): + for ip in addr["addresses"]: + excluded_ips.append(ip["value"]) + + ingress_addresses = network_info["ingress-addresses"] + network_info["ingress-addresses"] = [ip for ip in ingress_addresses if ip not in excluded_ips] + addresses = network_info["ingress-addresses"] if ignore_addresses: