-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Auto scaling in the pipeline without having to create a leader and rs…
…ync files (#139) * add Toil extras to container for autoscaling support add Toil extras to container for autoscaling support * added commands to launch cluster and copy files * add leader incorporation into pipeline; leader is node on which pipeline is running add autoscaling option add autoscaling staging path option inherit FROM Toil in Dockerfile install rnaseq pipeline script in virtual env * support for refactored RNA-Seq support for refactored RNA-Seq * add hera option and accomodate files on s3 etc. add hera option and accomodate files on s3 etc. * add max_sample_size to config add max_sample_size to config * comment out questionable image version manipulation code comment out questionable image version manipulation code * fixes to CWL and the wrapper script to support Dockstore and autoscaling fixes to CWL and the wrapper script to support Dockstore and autoscaling * fixes to support autoscaling; unique id for each sample fixes to support autoscaling; unique id for each sample * add support for auto scaling inputs add support for auto scaling inputs * fix misplaced doc string fix misplaced doc string * remove comments and clean up remove comments and clean up * remove blank line remove blank line * remove another blank line remove another blank line * insert blank line insert blank line * fix comments, replace command string with list fix comments, replace command string with list * mount root folder on host for Toil AWS provisioner Mount the root folder to an anonymous directory on the host file system This is done to make it writable in case Dockstore (which calls cwl-runner) is used to launch the container, because cwl-runner makes the container file system read only. We need to do this because the Toil AWS provisioner will try to create a key pair in /root/.ssh and create a file called .sshSuccess in /root
- Loading branch information
Showing
3 changed files
with
373 additions
and
105 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
FROM ubuntu:14.04 | ||
FROM quay.io/ucsc_cgl/toil:3.14.0 | ||
|
||
# File Author / Maintainer | ||
MAINTAINER John Vivian <[email protected]> | ||
|
@@ -16,16 +16,33 @@ RUN apt-get update && apt-get install -y \ | |
RUN curl https://get.docker.com/builds/Linux/x86_64/docker-DOCKERVER.tgz \ | ||
| tar -xvzf - --transform='s,[^/]*/,,g' -C /usr/local/bin/ \ | ||
&& chmod u+x /usr/local/bin/docker | ||
# Install Toil | ||
RUN pip install toil==3.3.5 | ||
|
||
# Set up a virtual environment with the system site package option so Toil | ||
# can zip up this virtual environment and place it on the worker nodes | ||
# Any Toil script that is pip installed must be installed in the virtual | ||
# environment; this is how the pipeline is placed on the worker nodes | ||
RUN pip install virtualenv | ||
RUN virtualenv --system-site-packages /opt/rnaseq-pipeline/toil_venv | ||
|
||
# Install toil-rnaseq | ||
COPY toil-rnaseq.tar.gz . | ||
RUN pip install toil-rnaseq.tar.gz && rm toil-rnaseq.tar.gz | ||
|
||
RUN bash -c 'source /opt/rnaseq-pipeline/toil_venv/bin/activate && pip install toil-rnaseq.tar.gz && rm toil-rnaseq.tar.gz' | ||
|
||
COPY wrapper.py /opt/rnaseq-pipeline/ | ||
COPY README.md /opt/rnaseq-pipeline/ | ||
|
||
# Mesos communicates on port 5050 so make sure this port is open | ||
EXPOSE 5050 | ||
|
||
# Mount the root folder to an anonymous directory on the host file system | ||
# This is done to make it writable in case Dockstore (which calls cwl-runner) | ||
# is used to launch the container, because cwl-runner makes the container | ||
# file system read only. We need to do this because the Toil AWS provisioner | ||
# will try to create a key pair in /root/.ssh and create a file called | ||
# .sshSuccess in /root. | ||
# Be sure to run the container with the -rm option so that the volume | ||
# is removed when the container exits | ||
VOLUME /root | ||
|
||
ENTRYPOINT ["python", "/opt/rnaseq-pipeline/wrapper.py"] | ||
CMD ["--help"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.