diff --git a/ocp_resources/resource.py b/ocp_resources/resource.py index 5e8d8e4529..c02a8ddc57 100644 --- a/ocp_resources/resource.py +++ b/ocp_resources/resource.py @@ -894,13 +894,16 @@ def wait_for_condition(self, condition, status, timeout=300): self.logger.info( f"Wait for {self.kind}/{self.name}'s '{condition}' condition to be '{status}'" ) - for sample in self.watcher(timeout=timeout): - for cond in sample["raw_object"].get("status", {}).get("conditions", []): - if cond["type"] == condition and cond["status"] == status: - return - raise TimeoutExpiredError( - value=f"condition {condition} not in desired status {status} after {timeout} seconds" - ) + + for sample in TimeoutSampler( + wait_timeout=timeout, + sleep=1, + func=lambda: self.instance, + ): + if sample: + for cond in sample.get("status", {}).get("conditions", []): + if cond["type"] == condition and cond["status"] == status: + return def api_request(self, method, action, url, **params): """