Carie, I don't actually get how you implemented the hack : did you reduplicate 

class DRMAAJobRunner

under a different name in And where do you define every next cluster 
(controller machines)?

Can you give me some more detalis?

Thank you


Hi Nikolay,

I didn't duplicate anything or try anything too fancy. In, in the init 
function, I changed the way self.ds.initialize was called:
        # Check the PID of the handler that I want to handle a specific cluster
        with open('/path/to/', 'r') as f:
            firstline = f.readline()
# Check my PID to see if I'm that handler:
        if int(firstline) == os.getpid():
    #If so, initialize using a specific cluster - this is the address to where 
the scheduler is running
    # Otherwise use default server

I'm sure there are cleaner ways to do it, but this was a solution we used 
before PBS supported destinations.

Nikolay Vazov, PhD
Department for Research Computing, University of Oslo
From: Nate Coraor <<>>
Sent: 01 February 2016 17:28
To: Ganote, Carrie L
Cc: John Chilton; Nikolay Aleksandrov Vazov;<>;<>
Subject: Re: Galaxy sending jobs to multiple clusters

Hi Nikolay,

It's worth noting that using `--clusters` means you have to have your 
controllers integrated using slurmdbd, and they must share munge keys. You can 
set up separate destinations as in Carrie's example without having to 
"integrate" your controllers at the slurm level. The downside of this approach 
is that you can't have slurm automatically "balance" across clusters, although 
Slurm's algorithm for doing this with `--clusters` is fairly primitive. If you 
don't use `--clusters` you can attempt to do the balancing with a dynamic job 

If you're not using slurmdbd, you may still need to share the same munge key 
across clusters to allow the slurm client lib on the Galaxy server to talk to 
both clusters. There could be ways around this if it's a problem, though.


On Mon, Feb 1, 2016 at 11:10 AM, Ganote, Carrie L 
<<>> wrote:
Hi Nikolay,
The slurm branch that John mentioned sounds great! That might be your best bet.
I didn't get drmaa to run with multiple clusters with flags, but I did 'assign' 
different job handlers to different destinations in the runner in 
Galaxy - but that is a bit of a hacky way to do it.


From: John Chilton <<>>
Date: Monday, February 1, 2016 at 11:02 AM
To: Nikolay Aleksandrov Vazov 
Cc: "<>" 
 Carrie Ganote <<>>, Nate Coraor 
Subject: Re: Galaxy sending jobs to multiple clusters

Nate has a branch of slurm drmaa that allows specifying a --clusters
argument in the native specification this can be used to target
multiple hosts.

More information can be found here:

Here is how Nate uses it to configure<>:

I guess instead of installing slurm-drmaa for a package manager or the
default source - you will just need to install Nate's version.


On Wed, Jan 20, 2016 at 1:18 PM, Nikolay Aleksandrov Vazov
<<>> wrote:
Hi, John, Dan, Carrie and all others,

I am considering a task of setting up a Galaxy instance which shall send
jobs to more than on cluster at a time. In my case I am using drmaa-python
and I was wondering if it was possible to configure multiple drmaa runners
each "pointing" at a different (slurm) control host, e.g.




Thanks a lot for your advice


Nikolay Vazov, PhD
Department for Research Computing, University of Oslo

Please keep all replies on the list by using "reply all"
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:

To search Galaxy mailing lists use the unified search at:

Reply via email to