summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArun Kumar <arukumar@redhat.com>2019-04-01 15:41:23 +0530
committerArun Kumar <arukumar@redhat.com>2019-07-01 12:40:25 +0530
commit33c9873aca41c262bcc2c31a381279503c1982b9 (patch)
tree9a78491ad86a03ccab594c5ab9d91bd3b7b8c6e4
parentff5771132bb1159e2e1a21959e3a12ad8d6d0cc3 (diff)
Add TC resize PVC with invalid size
This test case checks if invalid size is passed, size of PVC does not change. Verify the size of PVC and I/O can be performed on the volume attached to PVC. Change-Id: Ia833c76a6d9990ebbac78759c54dc7d28f530ec6
-rw-r--r--openshift-storage-libs/openshiftstoragelibs/openshift_ops.py2
-rw-r--r--tests/functional/provisioning/test_pv_resize.py46
2 files changed, 31 insertions, 17 deletions
diff --git a/openshift-storage-libs/openshiftstoragelibs/openshift_ops.py b/openshift-storage-libs/openshiftstoragelibs/openshift_ops.py
index 6d29d4ab..51865106 100644
--- a/openshift-storage-libs/openshiftstoragelibs/openshift_ops.py
+++ b/openshift-storage-libs/openshiftstoragelibs/openshift_ops.py
@@ -1005,7 +1005,7 @@ def resize_pvc(hostname, pvc_name, size):
'''
cmd = ("oc patch pvc %s "
"-p='{\"spec\": {\"resources\": {\"requests\": "
- "{\"storage\": \"%dGi\"}}}}'" % (pvc_name, size))
+ "{\"storage\": \"%sGi\"}}}}'" % (pvc_name, size))
out = command.cmd_run(cmd, hostname=hostname)
g.log.info("successfully edited storage capacity"
"of pvc %s . out- %s" % (pvc_name, out))
diff --git a/tests/functional/provisioning/test_pv_resize.py b/tests/functional/provisioning/test_pv_resize.py
index 288355dd..68730c6f 100644
--- a/tests/functional/provisioning/test_pv_resize.py
+++ b/tests/functional/provisioning/test_pv_resize.py
@@ -44,9 +44,14 @@ class TestPvResizeClass(BaseClass):
g.log.error(msg)
raise self.skipTest(msg)
- @ddt.data(False, True)
- def test_pv_resize_with_prefix_for_name(self,
- create_vol_name_prefix=False):
+ @ddt.data(
+ (True, True),
+ (False, True),
+ (False, False),
+ )
+ @ddt.unpack
+ def test_pv_resize_with_prefix_for_name_and_size(
+ self, create_vol_name_prefix=False, valid_size=True):
"""Validate PV resize with and without name prefix"""
dir_path = "/mnt/"
node = self.ocp_client[0]
@@ -76,20 +81,29 @@ class TestPvResizeClass(BaseClass):
ret, out, err = oc_rsh(node, pod_name, cmd)
self.assertEqual(ret, 0, "failed to execute command %s on %s" % (
cmd, node))
- cmd = ("dd if=/dev/urandom of=%sfile2 "
- "bs=100K count=10000") % dir_path
- with self.assertRaises(AssertionError):
- ret, out, err = oc_rsh(node, pod_name, cmd)
- msg = ("Command '%s' was expected to fail on '%s' node. "
- "But it returned following: ret is '%s', err is '%s' "
- "and out is '%s'" % (cmd, node, ret, err, out))
- raise ExecutionError(msg)
-
- pvc_size = 2
- resize_pvc(node, pvc_name, pvc_size)
- verify_pvc_size(node, pvc_name, pvc_size)
pv_name = get_pv_name_from_pvc(node, pvc_name)
- verify_pv_size(node, pv_name, pvc_size)
+
+ # If resize size is invalid then size should not change
+ if valid_size:
+ cmd = ("dd if=/dev/urandom of=%sfile2 "
+ "bs=100K count=10000") % dir_path
+ with self.assertRaises(AssertionError):
+ ret, out, err = oc_rsh(node, pod_name, cmd)
+ msg = ("Command '%s' was expected to fail on '%s' node. "
+ "But it returned following: ret is '%s', err is '%s' "
+ "and out is '%s'" % (cmd, node, ret, err, out))
+ raise ExecutionError(msg)
+ pvc_size = 2
+ resize_pvc(node, pvc_name, pvc_size)
+ verify_pvc_size(node, pvc_name, pvc_size)
+ verify_pv_size(node, pv_name, pvc_size)
+ else:
+ invalid_pvc_size = 'ten'
+ with self.assertRaises(AssertionError):
+ resize_pvc(node, pvc_name, invalid_pvc_size)
+ verify_pvc_size(node, pvc_name, 1)
+ verify_pv_size(node, pv_name, 1)
+
oc_delete(node, 'pod', pod_name)
wait_for_resource_absence(node, 'pod', pod_name)
pod_name = get_pod_name_from_dc(node, dc_name)