From ca454b86fdb626334fb02b2026119ce436b1aa0a Mon Sep 17 00:00:00 2001 From: xiafan Date: Thu, 29 Jun 2023 18:18:54 +0800 Subject: [PATCH] fix some bug --- kata/reactive/kata.py | 4 ++-- .../lib/charms/layer/kubernetes_common.py | 11 +++++++++++ .../lib/charms/layer/kubernetes_common.py | 11 +++++++++++ .../lib/charms/layer/kubernetes_common.py | 11 +++++++++++ 4 files changed, 35 insertions(+), 2 deletions(-) diff --git a/kata/reactive/kata.py b/kata/reactive/kata.py index e11c45f..3d50672 100644 --- a/kata/reactive/kata.py +++ b/kata/reactive/kata.py @@ -60,13 +60,13 @@ def install_kata(): if not archive or os.path.getsize(archive) == 0: status.maintenance('Installing Kata via apt') gpg_key = requests.get( - 'http://download.opensuse.org/repositories/home:/katacontainers:/' + 'http://ftp.lysator.liu.se/pub/opensuse/repositories/home:/katacontainers:/' 'releases:/{}:/master/x{}/Release.key'.format(arch, release)).text import_key(gpg_key) with open('/etc/apt/sources.list.d/kata-containers.list', 'w') as f: f.write( - 'deb http://download.opensuse.org/repositories/home:/' + 'deb http://ftp.lysator.liu.se/pub/opensuse/repositories/home:/' 'katacontainers:/releases:/{}:/master/x{}/ /' .format(arch, release) ) diff --git a/kubeapi-load-balancer/lib/charms/layer/kubernetes_common.py b/kubeapi-load-balancer/lib/charms/layer/kubernetes_common.py index fb14ad2..5888f2b 100644 --- a/kubeapi-load-balancer/lib/charms/layer/kubernetes_common.py +++ b/kubeapi-load-balancer/lib/charms/layer/kubernetes_common.py @@ -170,6 +170,17 @@ def get_ingress_address(endpoint_name, ignore_addresses=None): # doesn't support spaces, so just return the private address return hookenv.unit_get("private-address") + 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-master/lib/charms/layer/kubernetes_common.py b/kubernetes-master/lib/charms/layer/kubernetes_common.py index fb14ad2..5888f2b 100644 --- a/kubernetes-master/lib/charms/layer/kubernetes_common.py +++ b/kubernetes-master/lib/charms/layer/kubernetes_common.py @@ -170,6 +170,17 @@ def get_ingress_address(endpoint_name, ignore_addresses=None): # doesn't support spaces, so just return the private address return hookenv.unit_get("private-address") + 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 fb14ad2..5888f2b 100644 --- a/kubernetes-worker/lib/charms/layer/kubernetes_common.py +++ b/kubernetes-worker/lib/charms/layer/kubernetes_common.py @@ -170,6 +170,17 @@ def get_ingress_address(endpoint_name, ignore_addresses=None): # doesn't support spaces, so just return the private address return hookenv.unit_get("private-address") + 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: