diff options
author | Valerii Ponomarov <vponomar@redhat.com> | 2018-08-20 18:55:16 +0530 |
---|---|---|
committer | Valerii Ponomarov <vponomar@redhat.com> | 2018-08-27 16:57:33 +0530 |
commit | cf90d7c46f3b47699e87837683728ab0c79d6674 (patch) | |
tree | 60afe13be2827556aedc4829cae6c6957ef4e876 | |
parent | ba5a9cc77c07c171a124ef1908527a0e3d51e2dd (diff) |
Update waiter for resource absence
With additional logic for PVC deletion.
Make it also wait for deletion of PVC's undelying PV.
Doing so, we wait for deletion of volume from storage backend,
Change-Id: I2aab7ebb7924968a2d1825056d5747df5b816cd7
-rw-r--r-- | cns-libs/cnslibs/common/openshift_ops.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/cns-libs/cnslibs/common/openshift_ops.py b/cns-libs/cnslibs/common/openshift_ops.py index c5562daf..50bfc4f4 100644 --- a/cns-libs/cnslibs/common/openshift_ops.py +++ b/cns-libs/cnslibs/common/openshift_ops.py @@ -471,11 +471,19 @@ def create_namespace(hostname, namespace): def wait_for_resource_absence(ocp_node, rtype, name, interval=10, timeout=120): - for w in waiter.Waiter(timeout=timeout, interval=interval): + _waiter = waiter.Waiter(timeout=timeout, interval=interval) + for w in _waiter: try: oc_get_yaml(ocp_node, rtype, name, raise_on_error=True) except AssertionError: - return + break + if rtype == 'pvc': + cmd = "oc get pv -o=custom-columns=:.spec.claimRef.name | grep %s" % ( + name) + for w in _waiter: + ret, out, err = g.run(ocp_node, cmd, "root") + if ret != 0: + break if w.expired: error_msg = "%s '%s' still exists after waiting for it %d seconds" % ( rtype, name, timeout) |