[Kimchi-devel] [PATCH] Bug fix: Use a temp directory under /var to avoid permission
Daniel Henrique Barboza
dhbarboza82 at gmail.com
Wed Jun 17 12:09:21 UTC 2015
Reviewed-by: Daniel Barboza <dhbarboza82 at gmail.com>
On Tue, Jun 16, 2015 at 5:14 PM, Aline Manera <alinefm at linux.vnet.ibm.com>
wrote:
> The user may have the Kimchi source code in any directory and using it
> as a base to do the tests may cause permission errors while open ISO
> files or creating guest disks.
> To avoid those errors use a temp directory under /var which already has
> the right permissions to all users.
>
> Signed-off-by: Aline Manera <alinefm at linux.vnet.ibm.com>
> ---
> tests/test_model.py | 40 ++++++++++++++++++++--------------------
> 1 file changed, 20 insertions(+), 20 deletions(-)
>
> diff --git a/tests/test_model.py b/tests/test_model.py
> index 602ca6e..3828342 100644
> --- a/tests/test_model.py
> +++ b/tests/test_model.py
> @@ -48,13 +48,13 @@ invalid_repository_urls = ['www.fedora.org', #
> missing protocol
> 'http://www.fedora', # invalid domain name
> 'file:///home/foobar'] # invalid path
>
> -ISO_PATH = '/tmp/kimchi-model-iso/'
> -UBUNTU_ISO = ISO_PATH + 'ubuntu14.04.iso'
> +TMP_DIR = '/var/lib/kimchi/tests/'
> +UBUNTU_ISO = TMP_DIR + 'ubuntu14.04.iso'
>
>
> def setUpModule():
> - if not os.path.exists(ISO_PATH):
> - os.makedirs(ISO_PATH)
> + if not os.path.exists(TMP_DIR):
> + os.makedirs(TMP_DIR)
>
> iso_gen.construct_fake_iso(UBUNTU_ISO, True, '14.04', 'ubuntu')
>
> @@ -68,7 +68,7 @@ def setUpModule():
>
>
> def tearDownModule():
> - shutil.rmtree(ISO_PATH)
> + shutil.rmtree(TMP_DIR)
>
>
> class ModelTests(unittest.TestCase):
> @@ -382,7 +382,7 @@ class ModelTests(unittest.TestCase):
>
> @unittest.skipUnless(utils.running_as_root(), 'Must be run as root')
> def test_vm_disk(self):
> - disk_path = '/tmp/existent2.iso'
> + disk_path = os.path.join(TMP_DIR, 'existent2.iso')
> open(disk_path, 'w').close()
> modern_disk_bus = get_template_default('modern', 'disk_bus')
>
> @@ -403,7 +403,7 @@ class ModelTests(unittest.TestCase):
>
> inst = model.Model(objstore_loc=self.tmp_store)
> with RollbackContext() as rollback:
> - path = os.path.join(os.getcwd(), 'kimchi-images')
> + path = os.path.join(TMP_DIR, 'kimchi-images')
> pool = 'test-pool'
> vol = 'test-volume.img'
> vol_path = "%s/%s" % (path, vol)
> @@ -468,7 +468,7 @@ class ModelTests(unittest.TestCase):
> self.assertRaises(
> InvalidParameter, inst.vmstorages_create, vm_name,
> disk_args)
>
> - old_distro_iso = ISO_PATH + 'rhel4_8.iso'
> + old_distro_iso = TMP_DIR + 'rhel4_8.iso'
> iso_gen.construct_fake_iso(old_distro_iso, True, '4.8',
> 'rhel')
>
> vm_name = 'kimchi-ide-bus-vm'
> @@ -508,8 +508,8 @@ class ModelTests(unittest.TestCase):
> self.assertEquals(1, prev_count)
>
> # dummy .iso files
> - iso_path = '/tmp/existent.iso'
> - iso_path2 = '/tmp/existent2.iso'
> + iso_path = os.path.join(TMP_DIR, 'existent.iso')
> + iso_path2 = os.path.join(TMP_DIR, 'existent2.iso')
> open(iso_path, 'w').close()
> rollback.prependDefer(os.remove, iso_path)
> open(iso_path2, 'w').close()
> @@ -996,20 +996,20 @@ class ModelTests(unittest.TestCase):
> inst = model.Model(None,
> objstore_loc=self.tmp_store)
> with RollbackContext() as rollback:
> - path = '/tmp/kimchi-images/tmpdir'
> - if not os.path.exists(path):
> - os.makedirs(path)
> - iso_gen.construct_fake_iso('/tmp/kimchi-images/tmpdir/'
> - 'ubuntu12.04.iso', True,
> - '12.04', 'ubuntu')
> - iso_gen.construct_fake_iso('/tmp/kimchi-images/sles10.iso',
> - True, '10', 'sles')
> + deep_path = os.path.join(TMP_DIR, 'deep-scan')
> + subdir_path = os.path.join(deep_path, 'isos')
> + if not os.path.exists(subdir_path):
> + os.makedirs(subdir_path)
> + ubuntu_iso = os.path.join(deep_path, 'ubuntu12.04.iso')
> + sles_iso = os.path.join(subdir_path, 'sles10.iso')
> + iso_gen.construct_fake_iso(ubuntu_iso, True, '12.04',
> 'ubuntu')
> + iso_gen.construct_fake_iso(sles_iso, True, '10', 'sles')
>
> args = {'name': 'kimchi-scanning-pool',
> - 'path': '/tmp/kimchi-images',
> + 'path': deep_path,
> 'type': 'kimchi-iso'}
> inst.storagepools_create(args)
> - rollback.prependDefer(shutil.rmtree, '/tmp/kimchi-images')
> + rollback.prependDefer(shutil.rmtree, deep_path)
> rollback.prependDefer(shutil.rmtree, args['path'])
> rollback.prependDefer(inst.storagepool_deactivate,
> args['name'])
>
> --
> 2.1.0
>
> _______________________________________________
> Kimchi-devel mailing list
> Kimchi-devel at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/kimchi-devel
>
--
Daniel Henrique Barboza
Senior Software Engineer - IBM Linux Technology Center
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ovirt.org/pipermail/kimchi-devel/attachments/20150617/ee394d80/attachment.html>
More information about the Kimchi-devel
mailing list