Change in vdsm[master]: tests: storagetestlib: normalize make_file_volume
alitke at redhat.com
alitke at redhat.com
Thu Apr 14 20:46:55 UTC 2016
Adam Litke has uploaded a new change for review.
Change subject: tests: storagetestlib: normalize make_file_volume
......................................................................
tests: storagetestlib: normalize make_file_volume
The test utility make_block_volume was recently improved so that the
created volume had correct metadata in the fake storage domain. Do the
same for make_file_volume and normalize the interface so that it works
like make_block_volume (ie. requires image and volume ids).
Change-Id: I79a94da73e370541277ad6fa55fcf4655681e1c2
Signed-off-by: Adam Litke <alitke at redhat.com>
---
M tests/domain_manifest_test.py
M tests/storagetestlib.py
M tests/storagetestlibTests.py
3 files changed, 45 insertions(+), 19 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/70/56170/1
diff --git a/tests/domain_manifest_test.py b/tests/domain_manifest_test.py
index 0d9a543..202fdfc 100644
--- a/tests/domain_manifest_test.py
+++ b/tests/domain_manifest_test.py
@@ -20,7 +20,7 @@
import os
import uuid
-from testlib import VdsmTestCase, make_file, recorded
+from testlib import VdsmTestCase, recorded
from storagetestlib import (
make_file_volume,
fake_block_env,
@@ -35,21 +35,27 @@
class FileManifestTests(VdsmTestCase):
+ def setUp(self):
+ self.img_id = str(uuid.uuid4())
+ self.vol_id = str(uuid.uuid4())
+
def test_getreaddelay(self):
with fake_file_env() as env:
self.assertIsInstance(env.sd_manifest.getReadDelay(), float)
def test_getvsize(self):
with fake_file_env() as env:
- sd_manifest = env.sd_manifest
- imguuid, voluuid = make_file_volume(sd_manifest.domaindir, VOLSIZE)
- self.assertEqual(VOLSIZE, sd_manifest.getVSize(imguuid, voluuid))
+ make_file_volume(env.sd_manifest, VOLSIZE,
+ self.img_id, self.vol_id)
+ self.assertEqual(VOLSIZE, env.sd_manifest.getVSize(
+ self.img_id, self.vol_id))
def test_getvallocsize(self):
with fake_file_env() as env:
- sd_manifest = env.sd_manifest
- imguuid, voluuid = make_file_volume(sd_manifest.domaindir, VOLSIZE)
- self.assertEqual(0, sd_manifest.getVAllocSize(imguuid, voluuid))
+ make_file_volume(env.sd_manifest, VOLSIZE,
+ self.img_id, self.vol_id)
+ self.assertEqual(0, env.sd_manifest.getVAllocSize(
+ self.img_id, self.vol_id))
def test_getisodomainimagesdir(self):
with fake_file_env() as env:
@@ -72,17 +78,16 @@
def test_getallimages(self):
with fake_file_env() as env:
self.assertEqual(set(), env.sd_manifest.getAllImages())
- img_uuid = str(uuid.uuid4())
- make_file_volume(env.sd_manifest.domaindir, VOLSIZE, img_uuid)
- self.assertIn(img_uuid, env.sd_manifest.getAllImages())
+ img_id = str(uuid.uuid4())
+ vol_id = str(uuid.uuid4())
+ make_file_volume(env.sd_manifest, VOLSIZE, img_id, vol_id)
+ self.assertIn(img_id, env.sd_manifest.getAllImages())
class BlockManifestTests(VdsmTestCase):
def test_getreaddelay(self):
with fake_block_env() as env:
- vg_name = env.sd_manifest.sdUUID
- make_file(env.lvm.lvPath(vg_name, 'metadata'))
self.assertIsInstance(env.sd_manifest.getReadDelay(), float)
def test_getvsize_active_lv(self):
diff --git a/tests/storagetestlib.py b/tests/storagetestlib.py
index ebe2e0d..d005e28 100644
--- a/tests/storagetestlib.py
+++ b/tests/storagetestlib.py
@@ -136,15 +136,32 @@
return manifest
-def make_file_volume(domaindir, size, imguuid=None, voluuid=None):
- imguuid = imguuid or str(uuid.uuid4())
- voluuid = voluuid or str(uuid.uuid4())
- volpath = os.path.join(domaindir, "images", imguuid, voluuid)
+def make_file_volume(sd_manifest, size, imguuid, voluuid,
+ parent_vol_id=volume.BLANK_UUID,
+ vol_format=volume.RAW_FORMAT,
+ prealloc=volume.SPARSE_VOL,
+ disk_type=image.UNKNOWN_DISK_TYPE,
+ desc='fake volume'):
+ volpath = os.path.join(sd_manifest.domaindir, "images", imguuid, voluuid)
mdfiles = [volpath + '.meta', volpath + '.lease']
make_file(volpath, size)
for mdfile in mdfiles:
make_file(mdfile)
- return imguuid, voluuid
+
+ size_blk = size / volume.BLOCK_SIZE
+ vol_class = sd_manifest.getVolumeClass()
+ vol_class.newMetadata(
+ (volpath,),
+ sd_manifest.sdUUID,
+ imguuid,
+ parent_vol_id,
+ size_blk,
+ volume.type2name(vol_format),
+ volume.type2name(prealloc),
+ volume.type2name(volume.LEAF_VOL),
+ disk_type,
+ desc,
+ volume.LEGAL_VOL)
def make_block_volume(lvm, sd_manifest, size, imguuid, voluuid,
diff --git a/tests/storagetestlibTests.py b/tests/storagetestlibTests.py
index cafeb85..0a1a4a6 100644
--- a/tests/storagetestlibTests.py
+++ b/tests/storagetestlibTests.py
@@ -63,7 +63,9 @@
def test_volume_structure(self):
with fake_file_env() as env:
- img_id, vol_id = make_file_volume(env.sd_manifest.domaindir, 0)
+ img_id = str(uuid.uuid4())
+ vol_id = str(uuid.uuid4())
+ make_file_volume(env.sd_manifest, 0, img_id, vol_id)
image_dir = env.sd_manifest.getImagePath(img_id)
files = (vol_id, vol_id + constants.LEASE_FILEEXT,
vol_id + fileVolume.META_FILEEXT)
@@ -74,7 +76,9 @@
def test_volume_metadata_io(self):
with fake_file_env() as env:
size = 1 * MB
- img_id, vol_id = make_file_volume(env.sd_manifest.domaindir, size)
+ img_id = str(uuid.uuid4())
+ vol_id = str(uuid.uuid4())
+ make_file_volume(env.sd_manifest, size, img_id, vol_id)
vol = env.sd_manifest.produceVolume(img_id, vol_id)
desc = 'foo'
vol.setDescription(desc)
--
To view, visit https://gerrit.ovirt.org/56170
To unsubscribe, visit https://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I79a94da73e370541277ad6fa55fcf4655681e1c2
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Adam Litke <alitke at redhat.com>
More information about the vdsm-patches
mailing list