From 4a8c7989b1d65997ffc7028ad5f21ee01ab45123 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20de=20Saint=20Martin?= Date: Sat, 9 Oct 2021 09:45:47 +0200 Subject: [PATCH] fix(stop_pods): harden logic --- CHANGELOG.md | 4 ++++ VERSION | 2 +- src/wiremind_kubernetes/kubernetes_helper.py | 13 ++++--------- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 97dcfe4..4a2a8ef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # wiremind-kubernetes +## v6.3.5 (2021-10-06) +### Fixes +- stop_pods: harden logic. + ## v6.3.4 (2021-10-06) ### Fixes - Add python 3.10 CI. diff --git a/VERSION b/VERSION index 8ac3c44..b98d1d3 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -6.3.4 +6.3.5 diff --git a/src/wiremind_kubernetes/kubernetes_helper.py b/src/wiremind_kubernetes/kubernetes_helper.py index 58b081a..2e2bcc7 100644 --- a/src/wiremind_kubernetes/kubernetes_helper.py +++ b/src/wiremind_kubernetes/kubernetes_helper.py @@ -169,7 +169,7 @@ def is_deployment_stopped(self, deployment_name: str, statefulset: bool = False) if current_scale > 0: kind = statefulset and "StatefulSet" or "Deployment" - logger.info("%s %s still has %s living replicas", deployment_name, kind, current_scale) + logger.info("%s %s has %s living replicas", deployment_name, kind, current_scale) return False return True @@ -317,17 +317,12 @@ def _stop_deployments(self, deployment_dict: Dict[str, int]): """ Scale down a dict (deployment_name, expected_scale) of Deployments. """ - for deployment_name in deployment_dict: - self.scale_down_deployment(deployment_name) - stopped = False for _ in range(self.SCALE_DOWN_MAX_WAIT_TIME): for deployment_name in deployment_dict: - stopped = self._are_deployments_stopped(deployment_dict) - if stopped: - break - time.sleep(1) - if stopped: + self.scale_down_deployment(deployment_name) + if self._are_deployments_stopped(deployment_dict): break + time.sleep(1) else: raise Exception("Timed out waiting for pods to be deleted: aborting.")