From b3a11157968acaa43e19568bf29361ffc23efc4f Mon Sep 17 00:00:00 2001 From: Konstantinos Tsakalozos Date: Mon, 26 Jun 2017 13:00:00 +0300 Subject: [PATCH] Add a failsafe for etcd not returning a connection string --- .../layers/kubernetes-master/reactive/kubernetes_master.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cluster/juju/layers/kubernetes-master/reactive/kubernetes_master.py b/cluster/juju/layers/kubernetes-master/reactive/kubernetes_master.py index 387d2559720..0b729b1a974 100644 --- a/cluster/juju/layers/kubernetes-master/reactive/kubernetes_master.py +++ b/cluster/juju/layers/kubernetes-master/reactive/kubernetes_master.py @@ -305,6 +305,11 @@ def start_master(etcd): hookenv.status_set('maintenance', 'Configuring the Kubernetes master services.') freeze_service_cidr() + if not etcd.get_connection_string(): + # etcd is not returning a connection string. This hapens when + # the master unit disconnects from etcd and is ready to terminate. + # No point in trying to start master services and fail. Just return. + return handle_etcd_relation(etcd) configure_master_services() hookenv.status_set('maintenance',