<div dir="ltr">Hi, I am running buildbot with SLURM jobs too. For example, <a href="http://www.tddft.org/programs/octopus/buildbot">http://www.tddft.org/programs/octopus/buildbot</a> (specifically the ones called hbar). But we only submit jobs for the test step, the compilation is run on the head node. You may find this script I wrote helpful:<div><br></div><div><a href="http://web.mit.edu/~dstrubbe/www/queue_monitor.pl">http://web.mit.edu/~dstrubbe/www/queue_monitor.pl</a><br></div><div><br></div><div>It is BSD-licensed and manages submission of jobs with PBS or SLURM. It is being used for the Octopus testsuite above, as well as for another project, BerkeleyGW (BSD-licensed) from which the attached script comes.<div><div><br></div><div>David</div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Nov 13, 2015 at 8:45 AM, Dominic Kempf <span dir="ltr"><<a href="mailto:dominic.kempf@iwr.uni-heidelberg.de" target="_blank">dominic.kempf@iwr.uni-heidelberg.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dear Buildbot list,<br>
<br>
I am currently working on a buildbot setup that wants to run buildslaves<br>
integrated into a small cluster that is using a SLURM scheduling<br>
system. I have trouble mapping my requirements to buildbot concepts in<br>
a suitable way.<br>
<br>
Problems arise from:<br>
* At first, I thought I can have just one buildslave on the cluster frontend,<br>
  that passes all build requests to a queue. But it seems that I rather need<br>
  one such slave on the frontend per job in the queue (sounds like a job for<br>
  a latent slave). Correct?<br>
* I have no clue yet on how to handle separate build steps, because either<br>
  - the job as submitted to SLURM must contain all build steps at<br>
    once - which makes a separation of logs etc. a pain<br>
  - every build step must be submitted to SLURM separately, with the jobs<br>
    depending on each other correctly - which is also a pain, because I cannot<br>
    guarantee things running on the same node.<br>
<br>
To further complicate things, I also want to run my builds in docker containers<br>
that we use to model heterogeneous userlands. Note that in the above context, this<br>
is different than for example in a DockerLatentBuildSlave: With the latter, the<br>
slave runs and builds its commands inside a docker container. In my approach, a<br>
(potenitally also dockerized) buildslave submits a job to a queue, which, when executed<br>
on some node, spins up another docker container there and runs the job inside that<br>
one.<br>
<br>
I am open to any sort of input and discussion!<br>
Thanks in advance,<br>
<br>
Dominic Kempf<br>
_______________________________________________<br>
users mailing list<br>
<a href="mailto:users@buildbot.net" target="_blank">users@buildbot.net</a><br>
<a href="https://lists.buildbot.net/mailman/listinfo/users" rel="noreferrer" target="_blank">https://lists.buildbot.net/mailman/listinfo/users</a><br>
</blockquote></div><br></div>