Skip to content

Instantly share code, notes, and snippets.

@natefoo
Created April 14, 2020 18:34
Show Gist options
  • Save natefoo/8e809df0046e193b00917af77b748d7f to your computer and use it in GitHub Desktop.
Save natefoo/8e809df0046e193b00917af77b748d7f to your computer and use it in GitHub Desktop.
CVMFS Parrot Pulsar hack
diff --git a/pulsar/managers/base/directory.py b/pulsar/managers/base/directory.py
index 4a463dc..e527501 100644
--- a/pulsar/managers/base/directory.py
+++ b/pulsar/managers/base/directory.py
@@ -19,6 +19,14 @@ JOB_FILE_TOOL_ID = "tool_id"
JOB_FILE_TOOL_VERSION = "tool_version"
JOB_FILE_CANCELLED = "cancelled"
JOB_FILE_COMMAND_LINE = "command_line"
+JOB_WRAPPER_TEMPLATE = """#!/bin/sh
+PARROT_CVMFS_REPO="data.galaxyproject.org:url=http://cvmfs1-tacc0.galaxyproject.org/cvmfs/data.galaxyproject.org/,pubkey=$HOME/data.pub \
+ main.galaxyproject.org:url=http://cvmfs1-tacc0.galaxyproject.org/cvmfs/main.galaxyproject.org/,pubkey=$HOME/main.pub \
+ test.galaxyproject.org:url=http://cvmfs1-tacc0.galaxyproject.org/cvmfs/test.galaxyproject.org/,pubkey=$HOME/test.pub"
+PARROT_ALLOW_SWITCHING_CVMFS_REPOSITORIES=yes
+PARROT_CVMFS_ALIEN_CACHE="$SCRATCH/cvmfs"
+$HOME/cctools/bin/parrot_run {}
+"""
class DirectoryBaseManager(BaseManager):
@@ -148,4 +156,7 @@ class DirectoryBaseManager(BaseManager):
self._write_job_file(job_id, "command.sh", contents)
script_path = self._job_file(job_id, "command.sh")
os.chmod(script_path, stat.S_IEXEC | stat.S_IWRITE | stat.S_IREAD)
- return script_path
+ self._write_job_file(job_id, "command_wrapper.sh", JOB_WRAPPER_TEMPLATE.format(script_path))
+ wrapper_path = self._job_file(job_id, "command_wrapper.sh")
+ os.chmod(wrapper_path, stat.S_IEXEC | stat.S_IWRITE | stat.S_IREAD)
+ return wrapper_path
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment