From 8ef9e08f88a07e5b42fdc8f52994435da7ae5e16 Mon Sep 17 00:00:00 2001 From: Mike Ryan Date: Sun, 6 Oct 2019 13:00:50 +0200 Subject: [PATCH] Avoid overwriting label when initialising Deployment object twice --- kubetest/objects/daemonset.py | 4 +++- kubetest/objects/deployment.py | 4 +++- kubetest/objects/statefulset.py | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/kubetest/objects/daemonset.py b/kubetest/objects/daemonset.py index d7207ad..d32436f 100644 --- a/kubetest/objects/daemonset.py +++ b/kubetest/objects/daemonset.py @@ -54,8 +54,10 @@ def _add_kubetest_labels(self): The kubetest label key is "kubetest/" where the obj kind is the lower-cased kind of the obj. """ - self.klabel_uid = str(uuid.uuid4()) self.klabel_key = 'kubetest/daemonset' + self.klabel_uid = self.obj.metadata.labels.get(self.klabel_key, None) + if not self.klabel_uid: + self.klabel_uid = str(uuid.uuid4()) # fixme: it would be nice to clean up this label setting logic a bit # and possibly abstract it out to something more generalized, but diff --git a/kubetest/objects/deployment.py b/kubetest/objects/deployment.py index 262497d..ede5e1c 100644 --- a/kubetest/objects/deployment.py +++ b/kubetest/objects/deployment.py @@ -54,8 +54,10 @@ def _add_kubetest_labels(self): The kubetest label key is "kubetest/" where the obj kind is the lower-cased kind of the obj. """ - self.klabel_uid = str(uuid.uuid4()) self.klabel_key = 'kubetest/deployment' + self.klabel_uid = self.obj.metadata.labels.get(self.klabel_key, None) + if not self.klabel_uid: + self.klabel_uid = str(uuid.uuid4()) # fixme: it would be nice to clean up this label setting logic a bit # and possibly abstract it out to something more generalized, but diff --git a/kubetest/objects/statefulset.py b/kubetest/objects/statefulset.py index 660db78..ffa66a8 100644 --- a/kubetest/objects/statefulset.py +++ b/kubetest/objects/statefulset.py @@ -54,8 +54,10 @@ def _add_kubetest_labels(self): The kubetest label key is "kubetest/" where the obj kind is the lower-cased kind of the obj. """ - self.klabel_uid = str(uuid.uuid4()) self.klabel_key = 'kubetest/statefulset' + self.klabel_uid = self.obj.metadata.labels.get(self.klabel_key, None) + if not self.klabel_uid: + self.klabel_uid = str(uuid.uuid4()) # fixme: it would be nice to clean up this label setting logic a bit # and possibly abstract it out to something more generalized, but