Skip to content

Commit

Permalink
Merge pull request #320 from mskcc/release/1.29.0
Browse files Browse the repository at this point in the history
Release 1.29.0
  • Loading branch information
nikhil authored Jul 26, 2023
2 parents 49edd76 + d561cae commit a94f595
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 20 deletions.
47 changes: 29 additions & 18 deletions orchestrator/tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -275,25 +275,36 @@ def terminate_job(job):


def set_permission(job):
first_dir = job.root_dir.replace(job.base_dir, "").split("/")[0]
permissions_dir = "/".join([job.base_dir, first_dir]).replace("//", "/")
failed_to_set = None
dirs = job.root_dir.replace(job.base_dir, "").split("/")
permission_str = job.root_permission
try:
permission_octal = int(permission_str, 8)
except Exception:
raise TypeError("Could not convert %s to permission octal" % str(permission_str))
try:
os.chmod(permissions_dir, permission_octal)
for root, dirs, files in os.walk(permissions_dir):
for single_dir in dirs:
if oct(os.lstat(os.path.join(root, single_dir)).st_mode)[-3:] != permission_octal:
logger.info(f"Setting permissions for {os.path.join(root, single_dir)}")
os.chmod(os.path.join(root, single_dir), permission_octal)
for single_file in files:
if oct(os.lstat(os.path.join(root, single_file)).st_mode)[-3:] != permission_octal:
logger.info(f"Setting permissions for {os.path.join(root, single_file)}")
os.chmod(os.path.join(root, single_file), permission_octal)
except Exception:
permissions_dir = job.base_dir
for d in dirs:
failed_to_set = False
permissions_dir = "/".join([permissions_dir, d]).replace("//", "/")
try:
permission_octal = int(permission_str, 8)
except Exception:
raise TypeError("Could not convert %s to permission octal" % str(permission_str))
try:
os.chmod(permissions_dir, permission_octal)
for root, dirs, files in os.walk(permissions_dir):
for single_dir in dirs:
if oct(os.lstat(os.path.join(root, single_dir)).st_mode)[-3:] != permission_octal:
logger.info(f"Setting permissions for {os.path.join(root, single_dir)}")
os.chmod(os.path.join(root, single_dir), permission_octal)
for single_file in files:
if oct(os.lstat(os.path.join(root, single_file)).st_mode)[-3:] != permission_octal:
logger.info(f"Setting permissions for {os.path.join(root, single_file)}")
os.chmod(os.path.join(root, single_file), permission_octal)
except Exception:
logger.error(f"Failed to set permissions for directory {permissions_dir}")
failed_to_set = True
continue
else:
logger.info(f"Permissions set for directory {permissions_dir}")
break
if failed_to_set:
raise RuntimeError("Failed to change permission of directory %s" % permissions_dir)


Expand Down
2 changes: 1 addition & 1 deletion ridgeback/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "1.28.0"
__version__ = "1.29.0"
2 changes: 1 addition & 1 deletion submitter/toil_submitter/toil_jobsubmitter.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ def get_outputs(self):
if self.log_dir:
output_log_location = os.path.join(self.log_dir, "output.json")
with open(output_log_location, "w") as f:
json.dump(self.inputs, f)
json.dump(result_json, f)

return result_json, error_message

Expand Down

0 comments on commit a94f595

Please # to comment.