Skip to content

Commit 8999da4

Browse files
committed
zfs-vol: add a test for VDI resize
Signed-off-by: Yann Dirson <[email protected]>
1 parent ef796e2 commit 8999da4

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

Diff for: lib/vdi.py

+4
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ def __init__(self, sr, uuid, snapshot_of=None):
77
# TODO: use a different approach when migration is possible
88
self.sr = sr
99

10+
def resize(self, size):
11+
return self.sr.pool.master.xe('vdi-resize', {'uuid': self.uuid,
12+
'disk-size': str(size)})
13+
1014
def snapshot(self):
1115
logging.info(f"Create snapshot of {self}")
1216
return VDI(self.sr,

Diff for: tests/storage/zfsvol/test_zfsvol_sr.py

+14
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,20 @@ def test_create_and_destroy_sr(self, host, sr_disk_wiped):
3030

3131
@pytest.mark.usefixtures("zfsvol_sr")
3232
class TestZfsvolSrBasics:
33+
def test_vdi_resize(self, vdi_on_zfsvol_sr):
34+
logging.info("Resize up")
35+
vdi_on_zfsvol_sr.resize(1024 * 1024)
36+
logging.info("Attempt to resize down")
37+
try:
38+
vdi_on_zfsvol_sr.resize(64 * 1024)
39+
except Exception as e:
40+
if "shrinking not allowed" in str(e):
41+
# properly refused
42+
pass
43+
else:
44+
logging.error("unexpected error on downsize attempt: %s", e)
45+
raise
46+
3347
@pytest.mark.xfail # needs support for cloning non-snapshots
3448
def test_vdi_clone(self, vdi_on_zfsvol_sr):
3549
clone = vdi_on_zfsvol_sr.clone()

0 commit comments

Comments
 (0)