Compare commits
3 Commits
bc27dec00e
...
f7dd3bcf02
Author | SHA1 | Date | |
---|---|---|---|
f7dd3bcf02
|
|||
f2cb9b2c6b
|
|||
38a5b89de9 |
2
play.yml
2
play.yml
@@ -51,4 +51,6 @@
|
|||||||
tags: docker
|
tags: docker
|
||||||
- name: "setup slurm test environment in docker containers"
|
- name: "setup slurm test environment in docker containers"
|
||||||
role: slurm
|
role: slurm
|
||||||
|
vars:
|
||||||
|
slurm_user: slurm # or root
|
||||||
tags: slurm
|
tags: slurm
|
||||||
|
@@ -1 +1,5 @@
|
|||||||
container_privileged: False
|
container_privileged: False
|
||||||
|
slurm_user: slurm
|
||||||
|
slurm_log_path_ctld: /var/log/slurm/slurmctld.log
|
||||||
|
slurm_log_path_d: /var/log/slurm/slurmd.log
|
||||||
|
slurm_log_path_sched: /var/log/slurm/slurmsched.log
|
||||||
|
@@ -1,8 +1,9 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
if [ -f "/etc/munge/munge.key" ] ; then
|
||||||
chown munge:munge /etc/munge/munge.key
|
chown munge:munge /etc/munge/munge.key
|
||||||
|
|
||||||
chmod 600 /etc/munge/munge.key
|
chmod 600 /etc/munge/munge.key
|
||||||
|
fi
|
||||||
|
|
||||||
exec "$@"
|
exec "$@"
|
||||||
|
@@ -2,25 +2,42 @@ FROM docker.io/library/centos:7 as base
|
|||||||
|
|
||||||
RUN yum install -y epel-release && \
|
RUN yum install -y epel-release && \
|
||||||
yum install -y slurm && \
|
yum install -y slurm && \
|
||||||
yum clean all
|
yum clean all && rm -rf /var/cache/yum
|
||||||
|
|
||||||
RUN yum install -y less iproute bind-utils nmap-ncat net-tools && \
|
RUN yum install -y less iproute bind-utils nmap-ncat net-tools && \
|
||||||
yum clean all
|
yum clean all && rm -rf /var/cache/yum
|
||||||
|
|
||||||
COPY entrypoint.sh /usr/local/sbin/entrypoint.sh
|
COPY entrypoint.sh /usr/local/sbin/entrypoint.sh
|
||||||
|
|
||||||
RUN chown root:root /usr/local/sbin/entrypoint.sh && chmod 755 /usr/local/sbin/entrypoint.sh
|
RUN chown root:root /usr/local/sbin/entrypoint.sh && \
|
||||||
|
chmod 755 /usr/local/sbin/entrypoint.sh
|
||||||
|
|
||||||
ENTRYPOINT [ "/usr/local/sbin/entrypoint.sh" ]
|
ENTRYPOINT [ "/usr/local/sbin/entrypoint.sh" ]
|
||||||
|
|
||||||
|
ARG slurmuser=slurm
|
||||||
|
ENV slurmuser=${slurmuser}
|
||||||
|
|
||||||
|
RUN useradd -d /var/lib/slurm -m --no-log-init --system $slurmuser &&\
|
||||||
|
slurm-setuser -u $slurmuser -g $slurmuser -y
|
||||||
|
|
||||||
|
ENV SLURMCTLD_LOG_PATH="/var/log/slurm/slurmctld.log"
|
||||||
|
ENV SLURMD_LOG_PATH="/var/log/slurm/slurmd.log"
|
||||||
|
ENV SLURM_SCHED_LOG_PATH="/var/log/slurm/slurmsched.log"
|
||||||
|
|
||||||
FROM base as slurmd
|
FROM base as slurmd
|
||||||
|
|
||||||
RUN yum install -y slurm-slurmd && \
|
RUN yum install -y slurm-slurmd && \
|
||||||
yum clean all
|
yum clean all && rm -rf /var/cache/yum
|
||||||
|
|
||||||
|
CMD bash -c 'cat <({ su -s /bin/sh -c "munged -F" munge & \
|
||||||
|
slurmd -D 2>/dev/null 1>/dev/null & \
|
||||||
|
tail --retry --pid $! -f ${SLURMD_LOG_PATH} ${SLURM_SCHED_LOG_PATH} & })'
|
||||||
|
|
||||||
FROM base as slurmctld
|
FROM base as slurmctld
|
||||||
|
|
||||||
RUN yum install -y slurm-slurmctld && \
|
RUN yum install -y slurm-slurmctld && \
|
||||||
yum clean all
|
yum clean all && rm -rf /var/cache/yum
|
||||||
|
|
||||||
# CMD bash -c 'cat <({ condor_master -f & tail --retry --pid $! -f /var/log/condor/MasterLog & })'
|
CMD bash -c 'cat <({ su -s /bin/sh -c "munged -F" munge & \
|
||||||
|
su -s /bin/sh -c "slurmctld -D" ${slurmuser} 2>/dev/null 1>/dev/null & \
|
||||||
|
tail --retry --pid $! -f ${SLURMCTLD_LOG_PATH} ${SLURM_SCHED_LOG_PATH} & })'
|
||||||
|
@@ -1,20 +1,32 @@
|
|||||||
FROM docker.io/library/centos:7 as base
|
FROM docker.io/library/centos:7 as base
|
||||||
|
|
||||||
RUN yum install -y epel-release && \
|
RUN yum install -y epel-release && \
|
||||||
yum install -y slurm slurm-slurmctld && \
|
yum install -y slurm && \
|
||||||
yum clean all
|
yum clean all && rm -rf /var/cache/yum
|
||||||
|
|
||||||
RUN yum install -y less iproute bind-utils nmap-ncat net-tools && \
|
RUN yum install -y less iproute bind-utils nmap-ncat net-tools && \
|
||||||
yum clean all
|
yum clean all && rm -rf /var/cache/yum
|
||||||
|
|
||||||
RUN yum install -y slurm-slurmctld && \
|
|
||||||
yum clean all
|
|
||||||
|
|
||||||
COPY entrypoint.sh /usr/local/sbin/entrypoint.sh
|
COPY entrypoint.sh /usr/local/sbin/entrypoint.sh
|
||||||
|
|
||||||
RUN chown root:root /usr/local/sbin/entrypoint.sh && chmod 755 /usr/local/sbin/entrypoint.sh
|
RUN chown root:root /usr/local/sbin/entrypoint.sh && \
|
||||||
|
chmod 755 /usr/local/sbin/entrypoint.sh
|
||||||
|
|
||||||
ENTRYPOINT [ "/usr/local/sbin/entrypoint.sh" ]
|
ENTRYPOINT [ "/usr/local/sbin/entrypoint.sh" ]
|
||||||
|
|
||||||
CMD bash -c 'cat <({ su -s /bin/sh -c "munged -F" munge & slurmctld -D & })'
|
ARG slurmuser=slurm
|
||||||
# ... & tail --retry --pid $! -f /var/log/condor/MasterLog & })'
|
ENV slurmuser=${slurmuser}
|
||||||
|
|
||||||
|
RUN useradd -d /var/lib/slurm -m --no-log-init --system $slurmuser &&\
|
||||||
|
slurm-setuser -u $slurmuser -g $slurmuser -y
|
||||||
|
|
||||||
|
RUN yum install -y slurm-slurmctld && \
|
||||||
|
yum clean all && rm -rf /var/cache/yum
|
||||||
|
|
||||||
|
ENV SLURMCTLD_LOG_PATH="/var/log/slurm/slurmctld.log"
|
||||||
|
ENV SLURMD_LOG_PATH="/var/log/slurm/slurmd.log"
|
||||||
|
ENV SLURM_SCHED_LOG_PATH="/var/log/slurm/slurmsched.log"
|
||||||
|
|
||||||
|
CMD bash -c 'cat <({ su -s /bin/sh -c "munged -F" munge & \
|
||||||
|
su -s /bin/sh -c "slurmctld -D" ${slurmuser} 2>/dev/null 1>/dev/null & \
|
||||||
|
tail --retry --pid $! -f ${SLURMCTLD_LOG_PATH} ${SLURM_SCHED_LOG_PATH} & })'
|
||||||
|
@@ -1,17 +1,32 @@
|
|||||||
FROM docker.io/library/centos:7
|
FROM docker.io/library/centos:7
|
||||||
|
|
||||||
RUN yum install -y epel-release && \
|
RUN yum install -y epel-release && \
|
||||||
yum install -y slurm slurm-slurmd && \
|
yum install -y slurm && \
|
||||||
yum clean all
|
yum clean all && rm -rf /var/cache/yum
|
||||||
|
|
||||||
RUN yum install -y less iproute bind-utils nmap-ncat net-tools && \
|
RUN yum install -y less iproute bind-utils nmap-ncat net-tools && \
|
||||||
yum clean all
|
yum clean all && rm -rf /var/cache/yum
|
||||||
|
|
||||||
COPY entrypoint.sh /usr/local/sbin/entrypoint.sh
|
COPY entrypoint.sh /usr/local/sbin/entrypoint.sh
|
||||||
|
|
||||||
RUN chown root:root /usr/local/sbin/entrypoint.sh && chmod 755 /usr/local/sbin/entrypoint.sh
|
RUN chown root:root /usr/local/sbin/entrypoint.sh && \
|
||||||
|
chmod 755 /usr/local/sbin/entrypoint.sh
|
||||||
|
|
||||||
ENTRYPOINT [ "/usr/local/sbin/entrypoint.sh" ]
|
ENTRYPOINT [ "/usr/local/sbin/entrypoint.sh" ]
|
||||||
|
|
||||||
# CMD bash -c 'cat <({ condor_master -f & tail --retry --pid $! -f /var/log/condor/MasterLog & })'
|
ARG slurmuser=slurm
|
||||||
CMD bash -c 'cat <({ su -s /bin/sh -c "munged -F" munge & slurmd -D & })'
|
ENV slurmuser=${slurmuser}
|
||||||
|
|
||||||
|
RUN useradd -d /var/lib/slurm -m --no-log-init --system $slurmuser &&\
|
||||||
|
slurm-setuser -u $slurmuser -g $slurmuser -y
|
||||||
|
|
||||||
|
RUN yum install -y slurm-slurmd && \
|
||||||
|
yum clean all && rm -rf /var/cache/yum
|
||||||
|
|
||||||
|
ENV SLURMCTLD_LOG_PATH="/var/log/slurm/slurmctld.log"
|
||||||
|
ENV SLURMD_LOG_PATH="/var/log/slurm/slurmd.log"
|
||||||
|
ENV SLURM_SCHED_LOG_PATH="/var/log/slurm/slurmsched.log"
|
||||||
|
|
||||||
|
CMD bash -c 'cat <({ su -s /bin/sh -c "munged -F" munge & \
|
||||||
|
slurmd -D 2>/dev/null 1>/dev/null & \
|
||||||
|
tail --retry --pid $! -f ${SLURMD_LOG_PATH} ${SLURM_SCHED_LOG_PATH} & })'
|
||||||
|
@@ -82,6 +82,8 @@
|
|||||||
volumes: "{{default_mounts + ( item.extra_mounts | default([]) ) }}"
|
volumes: "{{default_mounts + ( item.extra_mounts | default([]) ) }}"
|
||||||
networks:
|
networks:
|
||||||
- name: "slurm"
|
- name: "slurm"
|
||||||
|
env:
|
||||||
|
slurmuser: "{{slurm_user}}"
|
||||||
image: "{{item.image}}"
|
image: "{{item.image}}"
|
||||||
state: started
|
state: started
|
||||||
detach: True
|
detach: True
|
||||||
|
@@ -32,6 +32,7 @@ CryptoType=crypto/munge
|
|||||||
#MaxStepCount=40000
|
#MaxStepCount=40000
|
||||||
#MaxTasksPerNode=128
|
#MaxTasksPerNode=128
|
||||||
MpiDefault=pmix
|
MpiDefault=pmix
|
||||||
|
# when running slurmd as user change to: MpiDefault=none
|
||||||
#MpiParams=ports=#-#
|
#MpiParams=ports=#-#
|
||||||
#PluginDir=
|
#PluginDir=
|
||||||
#PlugStackConfig=
|
#PlugStackConfig=
|
||||||
@@ -57,8 +58,9 @@ SlurmctldPort=6817
|
|||||||
SlurmdPidFile=/var/run/slurm/slurmd.pid
|
SlurmdPidFile=/var/run/slurm/slurmd.pid
|
||||||
SlurmdPort=6818
|
SlurmdPort=6818
|
||||||
SlurmdSpoolDir=/var/spool/slurm/d
|
SlurmdSpoolDir=/var/spool/slurm/d
|
||||||
SlurmUser=root
|
SlurmUser={{slurm_user}}
|
||||||
#SlurmdUser=root
|
SlurmdUser=root
|
||||||
|
# SlurmdUser=slurm -> sbatch does not work
|
||||||
#SrunEpilog=
|
#SrunEpilog=
|
||||||
#SrunProlog=
|
#SrunProlog=
|
||||||
StateSaveLocation=/var/spool/slurm/ctld
|
StateSaveLocation=/var/spool/slurm/ctld
|
||||||
@@ -130,7 +132,7 @@ AccountingStorageType=accounting_storage/none
|
|||||||
#AccountingStorageUser=
|
#AccountingStorageUser=
|
||||||
AccountingStoreJobComment=YES
|
AccountingStoreJobComment=YES
|
||||||
ClusterName=cluster
|
ClusterName=cluster
|
||||||
#DebugFlags=
|
#DebugFlags=Steps,TraceJobs
|
||||||
#JobCompHost=
|
#JobCompHost=
|
||||||
JobCompLoc=/tmp/jobcomp
|
JobCompLoc=/tmp/jobcomp
|
||||||
#JobCompPass=
|
#JobCompPass=
|
||||||
@@ -141,10 +143,10 @@ JobCompType=jobcomp/filetxt
|
|||||||
JobAcctGatherFrequency=30
|
JobAcctGatherFrequency=30
|
||||||
JobAcctGatherType=jobacct_gather/none
|
JobAcctGatherType=jobacct_gather/none
|
||||||
SlurmctldDebug=verbose
|
SlurmctldDebug=verbose
|
||||||
#SlurmctldLogFile=
|
SlurmctldLogFile={{slurm_log_path_ctld}}
|
||||||
SlurmdDebug=verbose
|
SlurmdDebug=verbose
|
||||||
#SlurmdLogFile=
|
SlurmdLogFile={{slurm_log_path_d}}
|
||||||
#SlurmSchedLogFile=
|
SlurmSchedLogFile={{slurm_log_path_sched}}
|
||||||
#SlurmSchedLogLevel=
|
#SlurmSchedLogLevel=
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
@@ -163,4 +165,4 @@ SlurmdDebug=verbose
|
|||||||
# COMPUTE NODES
|
# COMPUTE NODES
|
||||||
NodeName=slurm-exec[1-{{num_nodes}}] CPUs=2 CoresPerSocket=2 State=UNKNOWN
|
NodeName=slurm-exec[1-{{num_nodes}}] CPUs=2 CoresPerSocket=2 State=UNKNOWN
|
||||||
NodeName=slurm-submit1 CPUs=1 State=UNKNOWN
|
NodeName=slurm-submit1 CPUs=1 State=UNKNOWN
|
||||||
PartitionName=debug Nodes=slurm-exec[1-{{num_nodes}}] Default=YES MaxTime=INFINITE State=UP
|
PartitionName=debug Nodes=slurm-exec[1-{{num_nodes}}] AllocNodes=slurm-submit1 Default=YES MaxTime=INFINITE State=UP
|
||||||
|
Reference in New Issue
Block a user