summaryrefslogtreecommitdiffstats
path: root/cns-libs/cnslibs/common/openshift_ops.py
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 /cns-libs/cnslibs/common/openshift_ops.py
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
Diffstat (limited to 'cns-libs/cnslibs/common/openshift_ops.py')
-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)