From b2a6eb99c1b252b2e95cfc4141a2a4a648eb3422 Mon Sep 17 00:00:00 2001 From: Konstantinos Tsakalozos Date: Wed, 20 Dec 2017 16:30:07 +0200 Subject: [PATCH 1/4] Evicted pods should respawn --- .../layers/kubernetes-master/reactive/kubernetes_master.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cluster/juju/layers/kubernetes-master/reactive/kubernetes_master.py b/cluster/juju/layers/kubernetes-master/reactive/kubernetes_master.py index ff764bf8080..aac738bdc2c 100644 --- a/cluster/juju/layers/kubernetes-master/reactive/kubernetes_master.py +++ b/cluster/juju/layers/kubernetes-master/reactive/kubernetes_master.py @@ -1241,7 +1241,8 @@ def all_kube_system_pods_running(): result = json.loads(output) for pod in result['items']: status = pod['status']['phase'] - if status != 'Running': + # Evicted nodes should re-spawn + if status != 'Running' and pod['status']['reason'] != 'Evicted': return False return True From d3ca7a0eb8198aa1e4e1eb21596175d941a5c4a2 Mon Sep 17 00:00:00 2001 From: Konstantinos Tsakalozos Date: Wed, 20 Dec 2017 16:56:18 +0200 Subject: [PATCH 2/4] reason key should exist --- .../layers/kubernetes-master/reactive/kubernetes_master.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cluster/juju/layers/kubernetes-master/reactive/kubernetes_master.py b/cluster/juju/layers/kubernetes-master/reactive/kubernetes_master.py index aac738bdc2c..44dcb7bc86e 100644 --- a/cluster/juju/layers/kubernetes-master/reactive/kubernetes_master.py +++ b/cluster/juju/layers/kubernetes-master/reactive/kubernetes_master.py @@ -1242,7 +1242,9 @@ def all_kube_system_pods_running(): for pod in result['items']: status = pod['status']['phase'] # Evicted nodes should re-spawn - if status != 'Running' and pod['status']['reason'] != 'Evicted': + if status != 'Running' and \ + ('reason' in pod['status'].keys() + and pod['status']['reason'] != 'Evicted'): return False return True From c9688155f6b69c97f8962aeed9f505d8eaf91ff5 Mon Sep 17 00:00:00 2001 From: Konstantinos Tsakalozos Date: Wed, 20 Dec 2017 17:14:00 +0200 Subject: [PATCH 3/4] Much better --- .../layers/kubernetes-master/reactive/kubernetes_master.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cluster/juju/layers/kubernetes-master/reactive/kubernetes_master.py b/cluster/juju/layers/kubernetes-master/reactive/kubernetes_master.py index 44dcb7bc86e..196f39e80e4 100644 --- a/cluster/juju/layers/kubernetes-master/reactive/kubernetes_master.py +++ b/cluster/juju/layers/kubernetes-master/reactive/kubernetes_master.py @@ -1243,8 +1243,7 @@ def all_kube_system_pods_running(): status = pod['status']['phase'] # Evicted nodes should re-spawn if status != 'Running' and \ - ('reason' in pod['status'].keys() - and pod['status']['reason'] != 'Evicted'): + pod['status'].get('reason', '') != 'Evicted': return False return True From bd8eaa7f18d6fba71f188c0484afc1e2d8700cd1 Mon Sep 17 00:00:00 2001 From: Konstantinos Tsakalozos Date: Wed, 20 Dec 2017 17:25:54 +0200 Subject: [PATCH 4/4] Even better --- .../juju/layers/kubernetes-master/reactive/kubernetes_master.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cluster/juju/layers/kubernetes-master/reactive/kubernetes_master.py b/cluster/juju/layers/kubernetes-master/reactive/kubernetes_master.py index 196f39e80e4..d27caf59f57 100644 --- a/cluster/juju/layers/kubernetes-master/reactive/kubernetes_master.py +++ b/cluster/juju/layers/kubernetes-master/reactive/kubernetes_master.py @@ -1243,7 +1243,7 @@ def all_kube_system_pods_running(): status = pod['status']['phase'] # Evicted nodes should re-spawn if status != 'Running' and \ - pod['status'].get('reason', '') != 'Evicted': + pod['status'].get('reason', '') != 'Evicted': return False return True