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 <ali...@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 <ali...@redhat.com> _______________________________________________ vdsm-patches mailing list vdsm-patches@lists.fedorahosted.org https://lists.fedorahosted.org/mailman/listinfo/vdsm-patches