diff options
| author | Jenkins <jenkins@review.openstack.org> | 2012-08-27 16:43:03 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2012-08-27 16:43:03 +0000 |
| commit | f10e4480d4c3d7ebcbd97a3e64753bae645e537c (patch) | |
| tree | f285633d5bcbd65afc948f0ef901fae746a22922 | |
| parent | 34c012c709cc5ae577330c7d67ba060293158210 (diff) | |
| parent | e88218ee0f4b04c86ed6f611d4566e38427f3075 (diff) | |
| download | nova-f10e4480d4c3d7ebcbd97a3e64753bae645e537c.tar.gz nova-f10e4480d4c3d7ebcbd97a3e64753bae645e537c.tar.xz nova-f10e4480d4c3d7ebcbd97a3e64753bae645e537c.zip | |
Merge "Move ensure_tree to utils"
| -rw-r--r-- | nova/tests/fake_libvirt_utils.py | 4 | ||||
| -rw-r--r-- | nova/tests/test_imagebackend.py | 6 | ||||
| -rw-r--r-- | nova/tests/test_libvirt.py | 6 | ||||
| -rw-r--r-- | nova/tests/test_utils.py | 8 | ||||
| -rw-r--r-- | nova/utils.py | 15 | ||||
| -rw-r--r-- | nova/virt/baremetal/driver.py | 6 | ||||
| -rw-r--r-- | nova/virt/configdrive.py | 2 | ||||
| -rw-r--r-- | nova/virt/libvirt/driver.py | 6 | ||||
| -rw-r--r-- | nova/virt/libvirt/imagebackend.py | 2 | ||||
| -rw-r--r-- | nova/virt/libvirt/utils.py | 17 |
10 files changed, 35 insertions, 37 deletions
diff --git a/nova/tests/fake_libvirt_utils.py b/nova/tests/fake_libvirt_utils.py index aa613f35d..510774939 100644 --- a/nova/tests/fake_libvirt_utils.py +++ b/nova/tests/fake_libvirt_utils.py @@ -63,10 +63,6 @@ def remove_logical_volumes(*paths): pass -def ensure_tree(path): - pass - - def write_to_file(path, contents, umask=None): pass diff --git a/nova/tests/test_imagebackend.py b/nova/tests/test_imagebackend.py index 62153ab1f..e34f35f74 100644 --- a/nova/tests/test_imagebackend.py +++ b/nova/tests/test_imagebackend.py @@ -55,8 +55,8 @@ class _ImageTestCase(test.TestCase): os.path.exists(self.TEMPLATE_PATH).AndReturn(False) fn = self.mox.CreateMockAnything() fn(target=self.TEMPLATE_PATH) - self.mox.StubOutWithMock(imagebackend.libvirt_utils, 'ensure_tree') - imagebackend.libvirt_utils.ensure_tree(self.TEMPLATE_DIR) + self.mox.StubOutWithMock(imagebackend.utils, 'ensure_tree') + imagebackend.utils.ensure_tree(self.TEMPLATE_DIR) self.mox.ReplayAll() image = self.image_class(self.INSTANCE, self.NAME) @@ -82,7 +82,7 @@ class _ImageTestCase(test.TestCase): os.path.exists(self.TEMPLATE_PATH).AndReturn(False) fn = self.mox.CreateMockAnything() fn(target=self.TEMPLATE_PATH) - self.mox.StubOutWithMock(imagebackend.libvirt_utils, 'ensure_tree') + self.mox.StubOutWithMock(imagebackend.utils, 'ensure_tree') self.mox.ReplayAll() image = self.image_class(self.INSTANCE, self.NAME) diff --git a/nova/tests/test_libvirt.py b/nova/tests/test_libvirt.py index da2a7e306..885cf7e83 100644 --- a/nova/tests/test_libvirt.py +++ b/nova/tests/test_libvirt.py @@ -3393,12 +3393,6 @@ disk size: 4.4M''', '')) libvirt_utils.mkfs('ext4', '/my/block/dev') libvirt_utils.mkfs('swap', '/my/swap/block/dev') - def test_ensure_tree(self): - with utils.tempdir() as tmpdir: - testdir = '%s/foo/bar/baz' % (tmpdir,) - libvirt_utils.ensure_tree(testdir) - self.assertTrue(os.path.isdir(testdir)) - def test_write_to_file(self): dst_fd, dst_path = tempfile.mkstemp() try: diff --git a/nova/tests/test_utils.py b/nova/tests/test_utils.py index c7a323875..39dc9ab6d 100644 --- a/nova/tests/test_utils.py +++ b/nova/tests/test_utils.py @@ -762,3 +762,11 @@ class DiffDict(test.TestCase): diff = utils.diff_dict(old, new) self.assertEqual(diff, dict(b=['-'])) + + +class EnsureTree(test.TestCase): + def test_ensure_tree(self): + with utils.tempdir() as tmpdir: + testdir = '%s/foo/bar/baz' % (tmpdir,) + utils.ensure_tree(testdir) + self.assertTrue(os.path.isdir(testdir)) diff --git a/nova/utils.py b/nova/utils.py index 7eb7aa662..6f199e659 100644 --- a/nova/utils.py +++ b/nova/utils.py @@ -1266,3 +1266,18 @@ class UndoManager(object): LOG.exception(msg, **kwargs) self._rollback() + + +def ensure_tree(path): + """Create a directory (and any ancestor directories required) + + :param path: Directory to create + """ + try: + os.makedirs(path) + except OSError as exc: + if exc.errno == errno.EEXIST: + if not os.path.isdir(path): + raise + else: + raise diff --git a/nova/virt/baremetal/driver.py b/nova/virt/baremetal/driver.py index d92688276..58ad6b13b 100644 --- a/nova/virt/baremetal/driver.py +++ b/nova/virt/baremetal/driver.py @@ -303,7 +303,7 @@ class BareMetalDriver(driver.ComputeDriver): if not os.path.exists(target): base_dir = os.path.join(FLAGS.instances_path, '_base') if not os.path.exists(base_dir): - libvirt_utils.ensure_tree(base_dir) + utils.ensure_tree(base_dir) base = os.path.join(base_dir, fname) @utils.synchronized(fname) @@ -331,7 +331,7 @@ class BareMetalDriver(driver.ComputeDriver): fname + suffix) # ensure directories exist and are writable - libvirt_utils.ensure_tree(basepath(suffix='')) + utils.ensure_tree(basepath(suffix='')) utils.execute('chmod', '0777', basepath(suffix='')) LOG.info(_('instance %s: Creating image'), inst['name'], @@ -339,7 +339,7 @@ class BareMetalDriver(driver.ComputeDriver): if FLAGS.baremetal_type == 'lxc': container_dir = '%s/rootfs' % basepath(suffix='') - libvirt_utils.ensure_tree(container_dir) + utils.ensure_tree(container_dir) # NOTE(vish): No need add the suffix to console.log libvirt_utils.write_to_file(basepath('console.log', ''), '', 007) diff --git a/nova/virt/configdrive.py b/nova/virt/configdrive.py index 11b9cd1c0..bc9ef55c4 100644 --- a/nova/virt/configdrive.py +++ b/nova/virt/configdrive.py @@ -61,7 +61,7 @@ class ConfigDriveBuilder(object): def _add_file(self, path, data): filepath = os.path.join(self.tempdir, path) dirname = os.path.dirname(filepath) - virtutils.ensure_tree(dirname) + utils.ensure_tree(dirname) with open(filepath, 'w') as f: f.write(data) diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py index 418ae778b..7bb4cbc22 100644 --- a/nova/virt/libvirt/driver.py +++ b/nova/virt/libvirt/driver.py @@ -805,7 +805,7 @@ class LibvirtDriver(driver.ComputeDriver): # Export the snapshot to a raw image snapshot_directory = FLAGS.libvirt_snapshots_directory - libvirt_utils.ensure_tree(snapshot_directory) + utils.ensure_tree(snapshot_directory) with utils.tempdir(dir=snapshot_directory) as tmpdir: try: out_path = os.path.join(tmpdir, snapshot_name) @@ -1237,7 +1237,7 @@ class LibvirtDriver(driver.ComputeDriver): return image(fname, image_type='raw') # ensure directories exist and are writable - libvirt_utils.ensure_tree(basepath(suffix='')) + utils.ensure_tree(basepath(suffix='')) LOG.info(_('Creating image'), instance=instance) libvirt_utils.write_to_file(basepath('libvirt.xml'), libvirt_xml) @@ -1246,7 +1246,7 @@ class LibvirtDriver(driver.ComputeDriver): container_dir = os.path.join(FLAGS.instances_path, instance['name'], 'rootfs') - libvirt_utils.ensure_tree(container_dir) + utils.ensure_tree(container_dir) # NOTE(dprince): for rescue console.log may already exist... chown it. self._chown_console_log_for_instance(instance['name']) diff --git a/nova/virt/libvirt/imagebackend.py b/nova/virt/libvirt/imagebackend.py index 001bf58a3..146234ca9 100644 --- a/nova/virt/libvirt/imagebackend.py +++ b/nova/virt/libvirt/imagebackend.py @@ -114,7 +114,7 @@ class Image(object): if not os.path.exists(self.path): base_dir = os.path.join(FLAGS.instances_path, '_base') if not os.path.exists(base_dir): - libvirt_utils.ensure_tree(base_dir) + utils.ensure_tree(base_dir) base = os.path.join(base_dir, fname) self.create_image(call_if_not_exists, base, size, diff --git a/nova/virt/libvirt/utils.py b/nova/virt/libvirt/utils.py index 997628405..1f40bcc71 100644 --- a/nova/virt/libvirt/utils.py +++ b/nova/virt/libvirt/utils.py @@ -250,21 +250,6 @@ def mkfs(fs, path, label=None): execute(*args) -def ensure_tree(path): - """Create a directory (and any ancestor directories required) - - :param path: Directory to create - """ - try: - os.makedirs(path) - except OSError as exc: - if exc.errno == errno.EEXIST: - if not os.path.isdir(path): - raise - else: - raise - - def write_to_file(path, contents, umask=None): """Write the given contents to a file @@ -479,7 +464,7 @@ def write_stored_info(target, field=None, value=None): return info_file = get_info_filename(target) - ensure_tree(os.path.dirname(info_file)) + utils.ensure_tree(os.path.dirname(info_file)) d = read_stored_info(info_file) d[field] = value |
