Create archive in tmp directory insted of working dir

Change-Id: Iefbdc376bf81fd1b5b0c98ac16f2234698c36a06
This commit is contained in:
Ekaterina Fedorova 2013-12-18 18:06:41 +04:00
parent f44821b4d8
commit ddfb891421
2 changed files with 10 additions and 8 deletions

View File

@ -33,7 +33,7 @@ def get_archive(client, hash_sum):
archive_manager = Archiver()
cache_dir = os.path.join(CONF.cache_dir, client)
if not os.path.exists(cache_dir):
os.mkdir(cache_dir)
os.makedirs(cache_dir)
existing_hash = None
else:
existing_hash = archive_manager.get_existing_hash(cache_dir)

View File

@ -120,14 +120,14 @@ class Archiver(object):
clean_dir(cache_dir)
hash_folder = self._create_hash_folder(arch_name, cache_dir)
try:
shutil.move(ARCHIVE_PKG_NAME, os.path.join(hash_folder,
arch_name))
shutil.move(arch_name, os.path.join(hash_folder,
ARCHIVE_PKG_NAME))
except Exception as e:
log.error('Unable to move created archive {0}'
' to hash folder {1} due to {2}'.format(arch_name,
hash_folder,
e))
return os.path.abspath(os.path.join(hash_folder, arch_name))
return os.path.abspath(os.path.join(hash_folder, ARCHIVE_PKG_NAME))
def _create_hash_folder(self, archive_name, cache_dir):
"""
@ -222,10 +222,12 @@ class Archiver(object):
log.info(
'Manifest for {0} service has no file definitions for '
'{1}'.format(manifest.service_display_name, data_type))
return self._compose_archive(ARCHIVE_PKG_NAME,
temp_dir,
hash=True,
cache_dir=cache_dir)
with tempfile.NamedTemporaryFile(delete=False) as temp_file:
return self._compose_archive(temp_file.name,
temp_dir,
hash=True,
cache_dir=cache_dir)
def create_service_archive(self, manifest, file_name):
temp_dir = tempfile.mkdtemp()