Merge "Move ensure_tree to utils"

This commit is contained in:
Jenkins 2012-08-27 16:43:03 +00:00 committed by Gerrit Code Review
commit f10e4480d4
10 changed files with 35 additions and 37 deletions

View File

@ -63,10 +63,6 @@ def remove_logical_volumes(*paths):
pass
def ensure_tree(path):
pass
def write_to_file(path, contents, umask=None):
pass

View File

@ -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)

View File

@ -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:

View File

@ -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))

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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'])

View File

@ -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,

View File

@ -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