From e88218ee0f4b04c86ed6f611d4566e38427f3075 Mon Sep 17 00:00:00 2001 From: Michael Still Date: Sun, 26 Aug 2012 21:26:50 +1000 Subject: Move ensure_tree to utils Its useful to people other that virt drivers. Change-Id: I721094a1785d7a275f4bfa8994b7b114a6ec07f6 --- nova/virt/baremetal/driver.py | 6 +++--- nova/virt/configdrive.py | 2 +- nova/virt/libvirt/driver.py | 6 +++--- nova/virt/libvirt/imagebackend.py | 2 +- nova/virt/libvirt/utils.py | 17 +---------------- 5 files changed, 9 insertions(+), 24 deletions(-) (limited to 'nova/virt') 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 178756dac..d691252cd 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 -- cgit