From 658319604654a6c445d040aa85f83c848e9a4cc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Dulko?= Date: Wed, 26 Aug 2020 12:15:11 +0200 Subject: [PATCH] DevStack: Disable leader election for K8s services The DevStack plugin is really designed just for gate testing and developer usage. In both use cases normally we won't run K8s services on multiple nodes. Because of that this commit disables leader election for kube-scheduler and kube-controller-manager. The motivation behind this is that on the OpenInfra gate VMs we often see degraded storage performance that affects etcd. If that happens during leader-election of a service, it'll crash, leaving us with broken and unrecoverable K8s. This should eliminate the issue. Change-Id: Ib84ed289c9aaf3ae27af1c7ffa8aab2f8ba48671 (cherry picked from commit acfe74957442eabcb2922493ade37c5eadf98cf7) --- devstack/plugin.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/devstack/plugin.sh b/devstack/plugin.sh index 92cde69fc..3a8bbd25a 100644 --- a/devstack/plugin.sh +++ b/devstack/plugin.sh @@ -663,7 +663,8 @@ function run_k8s_controller_manager { --root-ca-file=/srv/kubernetes/ca.crt --min-resync-period=3m --v=$(get_k8s_log_level) - --logtostderr=true) + --logtostderr=true + --leader-elect=false) run_container kubernetes-controller-manager "${command[@]}" } @@ -683,7 +684,8 @@ function run_k8s_scheduler { /hyperkube scheduler --master=$KURYR_K8S_API_URL --v=$(get_k8s_log_level) - --logtostderr=true) + --logtostderr=true + --leader-elect=false) run_container kubernetes-scheduler "${command[@]}" }