def test_volume_accessibility(self): with fake_block_env() as env: sd_id = env.sd_manifest.sdUUID img_id = make_uuid() vol_id = make_uuid() make_block_volume(env.lvm, env.sd_manifest, 1 * MB, img_id, vol_id) self.assertTrue(os.path.isfile(env.lvm.lvPath(sd_id, vol_id))) domain_path = os.path.join(env.sd_manifest.domaindir, sd.DOMAIN_IMAGES, img_id, vol_id) repo_path = os.path.join(env.sd_manifest.getRepoPath(), sd_id, sd.DOMAIN_IMAGES, img_id, vol_id) self.assertNotEqual(repo_path, domain_path) # The links to the dev are created only when producing the volume self.assertFalse(os.path.isfile(domain_path)) self.assertFalse(os.path.isfile(repo_path)) env.sd_manifest.produceVolume(img_id, vol_id) self.assertTrue(os.path.samefile(repo_path, domain_path))
def test_volume_accessibility(self): with fake_block_env() as env: sd_id = env.sd_manifest.sdUUID img_id = make_uuid() vol_id = make_uuid() make_block_volume(env.lvm, env.sd_manifest, 1 * MB, img_id, vol_id) self.assertTrue(os.path.isfile(env.lvm.lvPath(sd_id, vol_id))) domain_path = os.path.join(env.sd_manifest.domaindir, sd.DOMAIN_IMAGES, img_id, vol_id) repo_path = os.path.join(env.sd_manifest.getRepoPath(), sd_id, sd.DOMAIN_IMAGES, img_id, vol_id) self.assertNotEqual(repo_path, domain_path) # The links to the dev are created only when producing the volume self.assertFalse(os.path.isfile(domain_path)) self.assertFalse(os.path.isfile(repo_path)) env.sd_manifest.produceVolume(img_id, vol_id) self.assertTrue(os.path.samefile(repo_path, domain_path))
def test_volume_type(self, vol_type): with fake_block_env() as env: img_id = make_uuid() vol_id = make_uuid() make_block_volume(env.lvm, env.sd_manifest, 0, img_id, vol_id, vol_type=vol_type) vol = env.sd_manifest.produceVolume(img_id, vol_id) self.assertEqual(vol.getVolType(), sc.type2name(vol_type))
def test_volume_type(self, vol_type): with fake_block_env() as env: img_id = make_uuid() vol_id = make_uuid() make_block_volume(env.lvm, env.sd_manifest, 0, img_id, vol_id, vol_type=vol_type) vol = env.sd_manifest.produceVolume(img_id, vol_id) self.assertEqual(vol.getVolType(), sc.type2name(vol_type))
def test_volume_size_alignment(size_param): with fake_block_env() as env: sd_id = env.sd_manifest.sdUUID img_id = make_uuid() vol_id = make_uuid() make_block_volume(env.lvm, env.sd_manifest, size_param, img_id, vol_id) vol = env.sd_manifest.produceVolume(img_id, vol_id) expected_size = utils.round(size_param, sc.VG_EXTENT_SIZE) assert expected_size == vol.getCapacity() assert expected_size == int(env.lvm.getLV(sd_id, vol_id).size) lv_file_size = os.stat(env.lvm.lvPath(sd_id, vol_id)).st_size assert expected_size == lv_file_size
def test_volume_size_alignment(self, size_param): with fake_block_env() as env: sd_id = env.sd_manifest.sdUUID img_id = make_uuid() vol_id = make_uuid() make_block_volume(env.lvm, env.sd_manifest, size_param, img_id, vol_id) vol = env.sd_manifest.produceVolume(img_id, vol_id) extent_size = sc.VG_EXTENT_SIZE_MB * MB expected_size = utils.round(size_param, extent_size) self.assertEqual(expected_size, vol.getCapacity()) self.assertEqual(expected_size, int(env.lvm.getLV(sd_id, vol_id).size)) lv_file_size = os.stat(env.lvm.lvPath(sd_id, vol_id)).st_size self.assertEqual(expected_size, lv_file_size)
def test_volume_size_alignment(self, size_param): with fake_block_env() as env: sd_id = env.sd_manifest.sdUUID img_id = make_uuid() vol_id = make_uuid() make_block_volume(env.lvm, env.sd_manifest, size_param, img_id, vol_id) vol = env.sd_manifest.produceVolume(img_id, vol_id) extent_size = sc.VG_EXTENT_SIZE_MB * MB expected_size = utils.round(size_param, extent_size) self.assertEqual(expected_size // sc.BLOCK_SIZE, vol.getSize()) self.assertEqual(expected_size, int(env.lvm.getLV(sd_id, vol_id).size)) lv_file_size = os.stat(env.lvm.lvPath(sd_id, vol_id)).st_size self.assertEqual(expected_size, lv_file_size)
def test_volume_metadata_io_block_env(): with fake_block_env() as env: sd_id = env.sd_manifest.sdUUID img_id = make_uuid() vol_id = make_uuid() size = sc.VG_EXTENT_SIZE make_block_volume(env.lvm, env.sd_manifest, size, img_id, vol_id) assert vol_id == env.lvm.getLV(sd_id, vol_id).name vol = env.sd_manifest.produceVolume(img_id, vol_id) assert size == vol.getCapacity() desc = 'foo' vol.setDescription(desc) # Test that metadata is persisted to our temporary storage area. vol = env.sd_manifest.produceVolume(img_id, vol_id) assert desc == vol.getDescription()
def test_volume_metadata_io(self): with fake_block_env() as env: sd_id = env.sd_manifest.sdUUID img_id = make_uuid() vol_id = make_uuid() size_mb = sc.VG_EXTENT_SIZE_MB size = size_mb * MB make_block_volume(env.lvm, env.sd_manifest, size, img_id, vol_id) self.assertEqual(vol_id, env.lvm.getLV(sd_id, vol_id).name) vol = env.sd_manifest.produceVolume(img_id, vol_id) self.assertEqual(size, vol.getCapacity()) desc = 'foo' vol.setDescription(desc) # Test that metadata is persisted to our temporary storage area vol = env.sd_manifest.produceVolume(img_id, vol_id) self.assertEqual(desc, vol.getDescription())
def test_volume_metadata_io(self): with fake_block_env() as env: sd_id = env.sd_manifest.sdUUID img_id = make_uuid() vol_id = make_uuid() size_mb = sc.VG_EXTENT_SIZE_MB size = size_mb * MB size_blk = size_mb * MB // sc.BLOCK_SIZE make_block_volume(env.lvm, env.sd_manifest, size, img_id, vol_id) self.assertEqual(vol_id, env.lvm.getLV(sd_id, vol_id).name) vol = env.sd_manifest.produceVolume(img_id, vol_id) self.assertEqual(size_blk, vol.getSize()) desc = 'foo' vol.setDescription(desc) # Test that metadata is persisted to our temporary storage area vol = env.sd_manifest.produceVolume(img_id, vol_id) self.assertEqual(desc, vol.getDescription())