summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorValerii Ponomarov <vponomar@redhat.com>2018-08-20 18:55:16 +0530
committerValerii Ponomarov <vponomar@redhat.com>2018-08-27 16:57:33 +0530
commitcf90d7c46f3b47699e87837683728ab0c79d6674 (patch)
tree60afe13be2827556aedc4829cae6c6957ef4e876
parentba5a9cc77c07c171a124ef1908527a0e3d51e2dd (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.py12
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)