obey umask and default group in results-workload firesim/firesim#1150 (#1163)

Co-authored-by: Tim Snyder <snyder.tim@gmail.com>
This commit is contained in:
Tim Snyder 2022-08-17 04:10:30 +00:00 committed by GitHub
parent 8cb2325e7e
commit f9b0f1cf40
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 10 additions and 2 deletions

View File

@ -322,6 +322,14 @@ class FireSimServerNode(FireSimNode):
"""
assert self.has_assigned_host_instance(), "copy requires assigned host instance"
# rsync_project defaults to using -a and that will copy symlinks as links
# and preserve group ownership and permissions.
copy_back_extra_opts = ' '.join([
'-L', # transform symlink into referent file/dir
'--no-group', # use default group here for creating local files
'--no-perms --chmod=ugo=rwX', # obey local umask
])
jobinfo = self.get_job()
simserverindex = slotno
job_results_dir = self.get_job().parent_workload.job_results_dir
@ -387,7 +395,7 @@ class FireSimServerNode(FireSimNode):
rsync_cap = rsync_project(remote_dir=mountpoint + outputfile,
local_dir=job_dir,
ssh_opts="-o StrictHostKeyChecking=no",
extra_opts="-L",
extra_opts=copy_back_extra_opts,
upload=False,
capture=True)
rootLogger.debug(rsync_cap)
@ -409,7 +417,7 @@ class FireSimServerNode(FireSimNode):
rsync_cap = rsync_project(remote_dir=remote_sim_run_dir + simoutputfile,
local_dir=job_dir,
ssh_opts="-o StrictHostKeyChecking=no",
extra_opts="-L",
extra_opts=copy_back_extra_opts,
upload=False,
capture=True)
rootLogger.debug(rsync_cap)