Skip to content

Commit

Permalink
qa: added three testcases
Browse files Browse the repository at this point in the history
- test_human_readable_quota_values
- test_human_readable_quota_invalid_values
- test_disable_enable_human_readable_quota_values

Fixes: https://tracker.ceph.com/issues/55940
Signed-off-by: Dhairya Parmar <dparmar@redhat.com>
  • Loading branch information
dparmar18 committed Feb 23, 2023
1 parent 2d43fed commit 9a462f7
Showing 1 changed file with 56 additions and 0 deletions.
56 changes: 56 additions & 0 deletions qa/tasks/cephfs/test_quota.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,3 +104,59 @@ def test_remote_update_write(self):
with self.assertRaises(CommandFailedError):
self.mount_b.write_n_mb("subdir_data/file", 40)

def test_human_readable_quota_values(self):
"""
test human-readable values for setting ceph.quota.max_bytes
"""
self.mount_a.run_shell(["mkdir", "subdir"])

self.assertEqual(self.mount_a.getfattr("./subdir",
"ceph.quota.max_bytes"), None)

readable_values = {"10K": "10240",
"100Ki": "102400",
"10M": "10485760",
"100Mi": "104857600",
"2G": "2147483648",
"4Gi": "4294967296",
"1T": "1099511627776",
"2Ti": "2199023255552"}
for readable_value in readable_values:
self.mount_a.setfattr("./subdir", "ceph.quota.max_bytes",
readable_value)
self.assertEqual(self.mount_a.getfattr(
"./subdir", "ceph.quota.max_bytes"),
readable_values.get(readable_value))

def test_human_readable_quota_invalid_values(self):
"""
test invalid values for ceph.quota.max_bytes
"""

self.mount_a.run_shell(["mkdir", "subdir"])

invalid_values = ["10A", "1y00Ki", "af00", "G", "", " ", "-1t", "-1"]
for invalid_value in invalid_values:
with self.assertRaises(CommandFailedError):
self.mount_a.setfattr("./subdir", "ceph.quota.max_bytes",
invalid_value)

def test_disable_enable_human_readable_quota_values(self):
"""
test:
1) disabling ceph.quota.max_bytes using byte value.
2) enabling it again using human readable value.
3) disabling it again but using human readable value.
"""

self.mount_a.run_shell(["mkdir", "subdir"])

self.mount_a.setfattr("./subdir", "ceph.quota.max_bytes", "0")
self.assertEqual(self.mount_a.getfattr("./subdir",
"ceph.quota.max_bytes"), None)
self.mount_a.setfattr("./subdir", "ceph.quota.max_bytes", "1K")
self.assertEqual(self.mount_a.getfattr("./subdir",
"ceph.quota.max_bytes"), "1024")
self.mount_a.setfattr("./subdir", "ceph.quota.max_bytes", "0M")
self.assertEqual(self.mount_a.getfattr("./subdir",
"ceph.quota.max_bytes"), None)

0 comments on commit 9a462f7

Please sign in to comment.