From 543f2a9a9e09da264127676e76573bd7f2875e99 Mon Sep 17 00:00:00 2001
From: Stefano Alberto Russo <stefano.russo@gmail.com>
Date: Fri, 8 Apr 2022 08:21:53 +0200
Subject: [PATCH] Moved Singularity installation from the global base image to
 the slurm base image.

---
 services/base/Dockerfile      | 43 +----------------------------
 services/slurmbase/Dockerfile | 52 +++++++++++++++++++++++++++++++++++
 2 files changed, 53 insertions(+), 42 deletions(-)

diff --git a/services/base/Dockerfile b/services/base/Dockerfile
index a1aca46..734b1ea 100644
--- a/services/base/Dockerfile
+++ b/services/base/Dockerfile
@@ -25,7 +25,7 @@ RUN apt-get install net-tools iproute2 iputils-ping -y
 
 
 #------------------------
-# Scienceuser user
+# Rosetta user
 #------------------------
 
 # Add group. We chose GID 65527 to try avoiding conflicts.
@@ -90,47 +90,6 @@ RUN mkdir /prestartup
 COPY prestartup.py /
 
 
-#----------------------
-#  Singularity
-#----------------------
-
-# Dependencies
-RUN apt-get update && apt-get install -y \
-    build-essential \
-    libssl-dev \
-    uuid-dev \
-    libgpgme11-dev \
-    squashfs-tools \
-    libseccomp-dev \
-    pkg-config \
-    cryptsetup-bin \
-    wget
-
-# Install GO
-RUN cd /tmp && wget https://dl.google.com/go/go1.11.linux-amd64.tar.gz
-RUN cd /tmp && tar -zxf go1.11.linux-amd64.tar.gz && mv go /usr/local
-ENV GOROOT=/usr/local/go
-ENV GOPATH=/root/go
-ENV PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
-
-COPY singularity-3.4.1.tar.gz /tmp
-
-# Install Singularity
-RUN mkdir -p /usr/local/var/singularity/mnt && \
-    mkdir -p $GOPATH/src/github.com/sylabs && \
-    cd $GOPATH/src/github.com/sylabs && \
-    mv /tmp/singularity-3.4.1.tar.gz ./ && \
-    tar -xzvf singularity-3.4.1.tar.gz
-RUN cd $GOPATH/src/github.com/sylabs/singularity && \
-    ./mconfig -p /usr/local && \
-    make -C builddir && \
-    make -C builddir install
-
-# Build test image
-RUN mkdir /singularity_images && chmod 777 /singularity_images
-COPY testimage.def /singularity_images/testimage.def
-RUN singularity build /singularity_images/testimage.simg /singularity_images/testimage.def
-
 
 #----------------------
 # Entrypoint
diff --git a/services/slurmbase/Dockerfile b/services/slurmbase/Dockerfile
index 8fe4fa4..84d34ff 100755
--- a/services/slurmbase/Dockerfile
+++ b/services/slurmbase/Dockerfile
@@ -1,6 +1,52 @@
 FROM rosetta/base
 MAINTAINER Stefano Alberto Russo <stefano.russo@gmail.com>
 
+#----------------------
+#  Singularity
+#----------------------
+
+# Dependencies
+RUN apt-get update && apt-get install -y \
+    build-essential \
+    libssl-dev \
+    uuid-dev \
+    libgpgme11-dev \
+    squashfs-tools \
+    libseccomp-dev \
+    pkg-config \
+    cryptsetup-bin \
+    wget
+
+# Install GO
+RUN cd /tmp && wget https://dl.google.com/go/go1.11.linux-amd64.tar.gz
+RUN cd /tmp && tar -zxf go1.11.linux-amd64.tar.gz && mv go /usr/local
+ENV GOROOT=/usr/local/go
+ENV GOPATH=/root/go
+ENV PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
+
+COPY singularity-3.4.1.tar.gz /tmp
+
+# Install Singularity
+RUN mkdir -p /usr/local/var/singularity/mnt && \
+    mkdir -p $GOPATH/src/github.com/sylabs && \
+    cd $GOPATH/src/github.com/sylabs && \
+    mv /tmp/singularity-3.4.1.tar.gz ./ && \
+    tar -xzvf singularity-3.4.1.tar.gz
+RUN cd $GOPATH/src/github.com/sylabs/singularity && \
+    ./mconfig -p /usr/local && \
+    make -C builddir && \
+    make -C builddir install
+
+# Build test image
+RUN mkdir /singularity_images && chmod 777 /singularity_images
+COPY testimage.def /singularity_images/testimage.def
+RUN singularity build /singularity_images/testimage.simg /singularity_images/testimage.def
+
+
+#----------------------
+#  Slurm
+#----------------------
+
 # Install Slurm
 RUN apt-get -y install slurm-wlm
 
@@ -23,6 +69,12 @@ COPY slurm.conf /etc/slurm-llnl/slurm.conf
 RUN ln -s /var/lib/slurm-llnl /var/lib/slurm-wlm 
 RUN ln -s /var/log/slurm-llnl /var/log/slurm-wlm
 
+
+#----------------------
+#  Test user and
+#   prestartup
+#----------------------
+
 # Add testuser user
 RUN useradd testuser
 RUN mkdir -p /home/testuser/.ssh
-- 
GitLab