Merge pull request #40642 from DSRCorporation/bugs/40594_ssh_cachedir

Correctly resolve relative cache path to absolute.
This commit is contained in:
Mike Place 2017-04-11 14:43:57 -06:00 committed by GitHub
commit 6c4ae3c914
2 changed files with 10 additions and 10 deletions

View file

@ -217,7 +217,7 @@ def prep_trans_tar(opts, file_client, chunks, file_refs, pillar=None, id_=None):
files = ''
if files:
for filename in files:
fn = filename[len(cache_dest):].strip('/')
fn = filename[len(file_client.get_cachedir(cache_dest)):].strip('/')
tgt = os.path.join(
env_root,
short,

View file

@ -132,11 +132,7 @@ class Client(object):
'''
Return the local location to cache the file, cache dirs will be made
'''
if cachedir is None:
cachedir = self.opts['cachedir']
elif not os.path.isabs(cachedir):
cachedir = os.path.join(self.opts['cachedir'], cachedir)
cachedir = self.get_cachedir(cachedir)
dest = salt.utils.path_join(cachedir,
'files',
saltenv,
@ -159,6 +155,13 @@ class Client(object):
yield dest
os.umask(cumask)
def get_cachedir(self, cachedir=None):
if cachedir is None:
cachedir = self.opts['cachedir']
elif not os.path.isabs(cachedir):
cachedir = os.path.join(self.opts['cachedir'], cachedir)
return cachedir
def get_file(self,
path,
dest='',
@ -250,10 +253,7 @@ class Client(object):
# prefix = ''
# else:
# prefix = separated[0]
if cachedir is None:
cachedir = self.opts['cachedir']
elif not os.path.isabs(cachedir):
cachedir = os.path.join(self.opts['cachedir'], cachedir)
cachedir = self.get_cachedir(cachedir)
dest = salt.utils.path_join(cachedir, 'files', saltenv)
for fn_ in self.file_list_emptydirs(saltenv):