Skip to content

[DOCUMENTATION] GoDocker runner for galaxy

Varun Shankar S edited this page Jul 25, 2016 · 3 revisions

#Documentation of the GoDocker Runner


**class GodockerJobRunner: inherits AsynchronousJobRunner**
Name Input Params/dataType Output Params/dataType
Runner functions
__init__ app, nworkers, **kwargs None
queue_job job_wrapper(Object of galaxy.job.JobWrapper) None
check_watched_item job_state(Object of galaxy.job.runners.AsynchronousJobState) AsynchronousJobState Object (or) None
stop_job job(Object of galaxy.model.Job) None
recover job ,job_wrapper None
Helper functions
create_log_file job_state, job_status_god True (or) False
get_structure obj None
Godocker API helper functions
login apikey,login,server,noCert auth (Godocker Object)
post_task job_wrapper id(INT) (or) False
get_task job_id(INT) job (or) False
get_task_status job_id(INT) job (or) False
delete_task job_id(INT) job (or) False

class godocker: inherits Object

Name Input Params/dataType Output Params/dataType
__init__ server, login, apikey,noCert None
setToken token None
http_post_request query, data, header httpresult (or) False
http_get_request query, header httpresult (or) False
http_delete_request query, header httpresult (or) False
http_put_request query, data, header httpresult (or) False
test_status_code httpresult httpresult (or) False

##Suggested Config

<job_conf>
    <plugins>
        <plugin id="godocker" type="runner" load="galaxy.jobs.runners.godocker:GodockerJobRunner">
            <!--  REST based runner , submits jobs to godocker -->
            <param id="godocker_master">GODOCKER_URL</param>
            <!-- Specify the instance of GoDocker -->
            <param id="user">USERNAME</param>
            <!-- GoDocker username -->
            <param id="key">APIKEY</param>
            <!-- GoDocker API key -->
            <param id="godocker_project">galaxy</param>
            <!-- Specify the project present in the GoDocker setup -->
        </plugin>
    </plugins>
   ...
    <destinations>
        ...
        <destination id="god" runner="godocker">
            <!-- The following are configurations for the container -->
            <param id="docker_enabled">true</param>
            <param id="docker_cpu">1</param>
            <param id="docker_memory">2</param>
            <param id="docker_default_container_id">centos:latest</param>
            <!-- Specify the image on which the jobs have to be executed -->
            <param id="godocker_volumes"></param>
            <!-- Mount the godocker volumes 
                 volumes must be separated by commas.
                 eg: <param id="godocker_volumes">home,galaxy</param>
            -->
            <param id="virtualenv">false</param>
            <!-- If a tool execution in container requires galaxy virtualenv, 
                 then enable it by setting the value to true.
                 Disable venv by setting the value to false.
            -->
        </destination>
    </destinations>
</job_conf>

##Program Flow

Clone this wiki locally