From e7ddd302eea0a54f21bf18f611ed7038b5e18a71 Mon Sep 17 00:00:00 2001 From: Meni Yakove Date: Wed, 13 Aug 2025 22:39:55 +0300 Subject: [PATCH 1/2] refactor(wait_for_status): Use self.instance to get status --- ocp_resources/resource.py | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/ocp_resources/resource.py b/ocp_resources/resource.py index 5142ebcf5e..b227a6dcb0 100644 --- a/ocp_resources/resource.py +++ b/ocp_resources/resource.py @@ -970,27 +970,23 @@ def wait_for_status( **PROTOCOL_ERROR_EXCEPTION_DICT, **DEFAULT_CLUSTER_RETRY_EXCEPTIONS, }, - func=self.api.get, - field_selector=f"metadata.name=={self.name}", - namespace=self.namespace, + func=lambda: self.instance.status.phase, ) current_status = None last_logged_status = None try: for sample in samples: - if sample.items: - sample_status = sample.items[0].status - if sample_status: - current_status = sample_status.phase - if current_status != last_logged_status: - last_logged_status = current_status - self.logger.info(f"Status of {self.kind} {self.name} is {current_status}") - - if current_status == status: - return - - if current_status == stop_status: - raise TimeoutExpiredError(f"Status of {self.kind} {self.name} is {current_status}") + if sample: + current_status = sample + if current_status != last_logged_status: + last_logged_status = current_status + self.logger.info(f"Status of {self.kind} {self.name} is {current_status}") + + if current_status == status: + return + + if current_status == stop_status: + raise TimeoutExpiredError(f"Status of {self.kind} {self.name} is {current_status}") except TimeoutExpiredError: if current_status: From bc36a781df0cd2d0c248cf19ccf7090d32ab4895 Mon Sep 17 00:00:00 2001 From: Meni Yakove Date: Thu, 14 Aug 2025 21:07:42 +0300 Subject: [PATCH 2/2] refactor(wait_for_status): Use self.exists to get instance --- ocp_resources/resource.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ocp_resources/resource.py b/ocp_resources/resource.py index 4f5be13c02..86d21c92a8 100644 --- a/ocp_resources/resource.py +++ b/ocp_resources/resource.py @@ -971,14 +971,16 @@ def wait_for_status( **PROTOCOL_ERROR_EXCEPTION_DICT, **DEFAULT_CLUSTER_RETRY_EXCEPTIONS, }, - func=lambda: self.instance.status.phase, + func=lambda: self.exists, ) current_status = None last_logged_status = None try: for sample in samples: if sample: - current_status = sample + instance_dict = sample.to_dict() + current_status = instance_dict.get("status", {}).get("phase") + if current_status != last_logged_status: last_logged_status = current_status self.logger.info(f"Status of {self.kind} {self.name} is {current_status}")