From 33fee22032a899e7c6bafd857381e2a586443c66 Mon Sep 17 00:00:00 2001 From: Rye Terrell Date: Tue, 28 Mar 2017 16:20:39 -0500 Subject: [PATCH] add support for kube-proxy cluster-cidr option --- .../kubernetes-worker/reactive/kubernetes_worker.py | 13 ++++++++++--- hack/verify-flags/exceptions.txt | 2 +- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/cluster/juju/layers/kubernetes-worker/reactive/kubernetes_worker.py b/cluster/juju/layers/kubernetes-worker/reactive/kubernetes_worker.py index 40a0b7f42e..f69fe59e32 100644 --- a/cluster/juju/layers/kubernetes-worker/reactive/kubernetes_worker.py +++ b/cluster/juju/layers/kubernetes-worker/reactive/kubernetes_worker.py @@ -288,16 +288,22 @@ def start_worker(kube_api, kube_control, cni): # the correct DNS even though the server isn't ready yet. dns = kube_control.get_dns() + cluster_cidr = cni.get_config()['cidr'] + + if cluster_cidr is None: + hookenv.log('Waiting for cluster cidr.') + return if (is_state('kubernetes-worker.restart-needed') or data_changed('kube-api-servers', servers) or - data_changed('kube-dns', dns)): + data_changed('kube-dns', dns) or + data_changed('cluster-cidr', cluster_cidr)): # set --allow-privileged flag for kubelet set_privileged() create_config(servers[0]) - configure_worker_services(servers, dns) + configure_worker_services(servers, dns, cluster_cidr) set_state('kubernetes-worker.config.created') restart_unit_services() update_kubelet_status() @@ -424,7 +430,7 @@ def create_config(server): user='kubelet') -def configure_worker_services(api_servers, dns): +def configure_worker_services(api_servers, dns, cluster_cidr): ''' Add remaining flags for the worker services and configure snaps to use them ''' layer_options = layer.options('tls-client') @@ -448,6 +454,7 @@ def configure_worker_services(api_servers, dns): kubelet_opts.add('tls-private-key-file', server_key_path) kube_proxy_opts = FlagManager('kube-proxy') + kube_proxy_opts.add('cluster-cidr', cluster_cidr) kube_proxy_opts.add('kubeconfig', kubeconfig_path) kube_proxy_opts.add('logtostderr', 'true') kube_proxy_opts.add('v', '0') diff --git a/hack/verify-flags/exceptions.txt b/hack/verify-flags/exceptions.txt index 951fbffbcd..92c16206f2 100644 --- a/hack/verify-flags/exceptions.txt +++ b/hack/verify-flags/exceptions.txt @@ -47,7 +47,7 @@ cluster/juju/layers/kubernetes-master/reactive/kubernetes_master.py:def send_clu cluster/juju/layers/kubernetes-master/reactive/kubernetes_master.py:def service_cidr(): cluster/juju/layers/kubernetes-worker/reactive/kubernetes_worker.py: context.update({'kube_api_endpoint': ','.join(api_servers), cluster/juju/layers/kubernetes-worker/reactive/kubernetes_worker.py: ca_cert_path = layer_options.get('ca_certificate_path') -cluster/juju/layers/kubernetes-worker/reactive/kubernetes_worker.py:def configure_worker_services(api_servers, dns): +cluster/juju/layers/kubernetes-worker/reactive/kubernetes_worker.py:def configure_worker_services(api_servers, dns, cluster_cidr): cluster/lib/logging.sh: local source_file=${BASH_SOURCE[$frame_no]} cluster/lib/logging.sh: local source_file=${BASH_SOURCE[$stack_skip]} cluster/log-dump.sh: local -r node_name="${1}"