diff --git a/src/mas/devops/olm.py b/src/mas/devops/olm.py index 5481000b..844e4343 100644 --- a/src/mas/devops/olm.py +++ b/src/mas/devops/olm.py @@ -156,12 +156,16 @@ def applySubscription(dynClient: DynamicClient, namespace: str, packageName: str # Wait for Subscription to complete logger.debug(f"Waiting for Subscription {name} in {namespace}") - subscriptionResource = subscriptionsAPI.get(name=name, namespace=namespace) - while subscriptionResource.status.state != "AtLatestKnown": + while True: subscriptionResource = subscriptionsAPI.get(name=name, namespace=namespace) - sleep(30) + state = getattr(subscriptionResource.status, "state", None) + + if state == "AtLatestKnown": + logger.debug(f"Subscription {name} in {namespace} reached state: {state}") + return subscriptionResource - return subscriptionResource + logger.debug(f"Subscription {name} in {namespace} not ready yet (state = {state}), retrying...") + sleep(30) def deleteSubscription(dynClient: DynamicClient, namespace: str, packageName: str) -> None: