Run slurmctld and slurmd inside arvbox. refs #6518
authorPeter Amstutz <peter.amstutz@curoverse.com>
Thu, 18 Feb 2016 21:28:29 +0000 (16:28 -0500)
committerPeter Amstutz <peter.amstutz@curoverse.com>
Thu, 18 Feb 2016 21:28:29 +0000 (16:28 -0500)
lib/arvbox/docker/Dockerfile.base
lib/arvbox/docker/Dockerfile.demo
lib/arvbox/docker/Dockerfile.dev
lib/arvbox/docker/service/slurmctld/log/main/.gitstub [new file with mode: 0644]
lib/arvbox/docker/service/slurmctld/log/run [new symlink]
lib/arvbox/docker/service/slurmctld/run [new file with mode: 0755]
lib/arvbox/docker/service/slurmd/log/main/.gitstub [new file with mode: 0644]
lib/arvbox/docker/service/slurmd/log/run [new symlink]
lib/arvbox/docker/service/slurmd/run [new file with mode: 0755]

index 160afeed48c496f41c5e4b15910645d505af24a7..280ac6854e1540f8ff82905a29d5572953731d50 100644 (file)
@@ -10,7 +10,7 @@ RUN apt-get update && \
     pkg-config libattr1-dev python-llfuse python-pycurl \
     libwww-perl libio-socket-ssl-perl libcrypt-ssleay-perl \
     libjson-perl nginx gitolite3 lsof python-epydoc graphviz \
-    apt-transport-https ca-certificates
+    apt-transport-https ca-certificates slurm-wlm
 
 VOLUME /var/lib/docker
 VOLUME /var/log/nginx
@@ -38,8 +38,5 @@ ADD crunch-setup.sh gitolite.rc \
     application_yml_override.py \
     /usr/local/lib/arvbox/
 
-ADD service/ /var/lib/arvbox/service
-RUN rmdir /etc/service && ln -sf /var/lib/arvbox/service /etc
-
 # Start the supervisor.
 CMD ["/usr/local/bin/runsvinit"]
index d3e36c63b2ae8dad3f1548599b0a2042e63fc38d..1f134159f7236f4e7d3c5aaddab13b0a7146b0fe 100644 (file)
@@ -4,6 +4,9 @@ RUN cd /usr/src && \
     git clone https://github.com/curoverse/arvados.git && \
     git clone https://github.com/curoverse/sso-devise-omniauth-provider.git sso
 
+ADD service/ /var/lib/arvbox/service
+RUN rmdir /etc/service && ln -sf /var/lib/arvbox/service /etc
+
 RUN chown -R 1000:1000 /usr/src && /usr/local/lib/arvbox/createusers.sh
 
 RUN sudo -u arvbox /var/lib/arvbox/service/sso/run-service --only-deps
index 5ec73bbe68476873675ac703a64e10d89a93cb42..051c274f284974a9c9435fea7d9c6d023ec872ee 100644 (file)
@@ -10,4 +10,7 @@ RUN set -e && \
  tar -C /usr/local -xjf /tmp/$PJS.tar.bz2 && \
  ln -s ../$PJS/bin/phantomjs /usr/local/bin/
 
+ADD service/ /var/lib/arvbox/service
+RUN rmdir /etc/service && ln -sf /var/lib/arvbox/service /etc
+
 RUN mkdir /etc/test-service && ln -sf /var/lib/arvbox/service/postgres /etc/test-service
diff --git a/lib/arvbox/docker/service/slurmctld/log/main/.gitstub b/lib/arvbox/docker/service/slurmctld/log/main/.gitstub
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/lib/arvbox/docker/service/slurmctld/log/run b/lib/arvbox/docker/service/slurmctld/log/run
new file mode 120000 (symlink)
index 0000000..d6aef4a
--- /dev/null
@@ -0,0 +1 @@
+/usr/local/lib/arvbox/logger
\ No newline at end of file
diff --git a/lib/arvbox/docker/service/slurmctld/run b/lib/arvbox/docker/service/slurmctld/run
new file mode 100755 (executable)
index 0000000..7b3c6e1
--- /dev/null
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+exec 2>&1
+set -eux -o pipefail
+
+. /usr/local/lib/arvbox/common.sh
+
+cat > /etc/slurm-llnl/slurm.conf  <<EOF
+ControlMachine=$HOSTNAME
+ControlAddr=$HOSTNAME
+AuthType=auth/munge
+DefaultStorageLoc=/var/log/slurm
+SelectType=select/cons_res
+SlurmUser=arvbox
+SlurmctldPort=7002
+SlurmctldTimeout=300
+SlurmdPort=7003
+SlurmdSpoolDir=/var/tmp/slurmd.spool
+SlurmdTimeout=300
+StateSaveLocation=/var/tmp/slurm.state
+NodeName=$HOSTNAME
+PartitionName=compute State=UP Default=YES Nodes=$HOSTNAME
+EOF
+
+mkdir -p /var/run/munge
+
+/usr/sbin/munged -f
+
+exec /usr/sbin/slurmctld -v -D
diff --git a/lib/arvbox/docker/service/slurmd/log/main/.gitstub b/lib/arvbox/docker/service/slurmd/log/main/.gitstub
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/lib/arvbox/docker/service/slurmd/log/run b/lib/arvbox/docker/service/slurmd/log/run
new file mode 120000 (symlink)
index 0000000..d6aef4a
--- /dev/null
@@ -0,0 +1 @@
+/usr/local/lib/arvbox/logger
\ No newline at end of file
diff --git a/lib/arvbox/docker/service/slurmd/run b/lib/arvbox/docker/service/slurmd/run
new file mode 100755 (executable)
index 0000000..697f7a2
--- /dev/null
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+exec 2>&1
+set -eux -o pipefail
+
+exec /usr/sbin/slurmd -v -D