Skip to content

Commit

Permalink
Merge pull request #2 from stackhpc/sb-conf
Browse files Browse the repository at this point in the history
Remove config from image
  • Loading branch information
sjpb committed Jun 27, 2023
2 parents 43e0338 + 192a8c4 commit 1c92a79
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 37 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build-containers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ on:
push:
paths:
- .github/workflows/build-containers.yml
- ./Dockerfile
- Dockerfile
workflow_dispatch:

jobs:
Expand Down
17 changes: 5 additions & 12 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -58,21 +58,20 @@ RUN set -x \
&& ./configure --enable-debug --prefix=/usr --sysconfdir=/etc/slurm \
--with-mysql_config=/usr/bin --libdir=/usr/lib64 \
&& make install \
&& install -D -m644 etc/cgroup.conf.example /etc/slurm/cgroup.conf.example \
&& install -D -m644 etc/slurm.conf.example /etc/slurm/slurm.conf.example \
&& install -D -m644 etc/slurmdbd.conf.example /etc/slurm/slurmdbd.conf.example \
&& install -D -m644 contribs/slurm_completion_help/slurm_completion.sh /etc/profile.d/slurm_completion.sh \
&& popd \
&& rm -rf slurm \
&& groupadd -r --gid=990 slurm \
&& useradd -r -g slurm --uid=990 slurm \
&& mkdir /etc/sysconfig/slurm \
&& useradd -r -g slurm --uid=990 slurm

RUN mkdir /etc/sysconfig/slurm \
/var/spool/slurmd \
/var/run/slurmd \
/var/run/slurmdbd \
/var/lib/slurmd \
/var/log/slurm \
/data \
/etc/slurm \
&& touch /var/lib/slurmd/node_state \
/var/lib/slurmd/front_end_state \
/var/lib/slurmd/job_state \
Expand All @@ -85,13 +84,7 @@ RUN set -x \
&& chown -R slurm:slurm /var/*/slurm* \
&& /sbin/create-munge-key

COPY slurm.conf /etc/slurm/slurm.conf
COPY slurmdbd.conf /etc/slurm/slurmdbd.conf
RUN set -x \
&& chown slurm:slurm /etc/slurm/slurmdbd.conf \
&& chmod 600 /etc/slurm/slurmdbd.conf


VOLUME /etc/slurm
COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]

Expand Down
18 changes: 4 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ The compose file will run the following containers:
The compose file will create the following named volumes:

* etc_munge ( -> /etc/munge )
* etc_slurm ( -> /etc/slurm )
* slurm_jobdir ( -> /data )
* var_lib_mysql ( -> /var/lib/mysql )
* var_log_slurm ( -> /var/log/slurm )
Expand All @@ -37,19 +36,12 @@ tag:
docker build --build-arg SLURM_TAG="slurm-19-05-2-1" -t slurm-docker-cluster:19.05.2 .
```

Or equivalently using `docker-compose`:

```console
SLURM_TAG=slurm-19-05-2-1 IMAGE_TAG=19.05.2 docker-compose build
```


## Starting the Cluster

Run `docker-compose` to instantiate the cluster:

```console
IMAGE_TAG=19.05.2 docker-compose up -d
docker compose up -d
```

## Register the Cluster with SlurmDBD
Expand Down Expand Up @@ -101,16 +93,14 @@ slurm-2.out
## Stopping and Restarting the Cluster

```console
docker-compose stop
docker-compose start
docker compose stop
docker compose start
```

## Deleting the Cluster

To remove all containers and volumes, run:

```console
docker-compose stop
docker-compose rm -f
docker volume rm slurm-docker-cluster_etc_munge slurm-docker-cluster_etc_slurm slurm-docker-cluster_slurm_jobdir slurm-docker-cluster_var_lib_mysql slurm-docker-cluster_var_log_slurm
./rm-cluster
```
18 changes: 9 additions & 9 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ services:
- var_lib_mysql:/var/lib/mysql

slurmdbd:
image: slurm-docker-cluster:${IMAGE_TAG:-dbee501}
image: slurm-docker-cluster:${IMAGE_TAG:-e41370d}
build:
context: .
args:
Expand All @@ -24,61 +24,61 @@ services:
hostname: slurmdbd
volumes:
- etc_munge:/etc/munge
- etc_slurm:/etc/slurm
- var_log_slurm:/var/log/slurm
- ./slurm.conf:/etc/slurm/slurm.conf
- ./slurmdbd.conf:/etc/slurm/slurmdbd.conf
expose:
- "6819"
depends_on:
- mysql

slurmctld:
image: slurm-docker-cluster:${IMAGE_TAG:-dbee501}
image: slurm-docker-cluster:${IMAGE_TAG:-e41370d}
command: ["slurmctld"]
container_name: slurmctld
hostname: slurmctld
volumes:
- etc_munge:/etc/munge
- etc_slurm:/etc/slurm
- slurm_jobdir:/data
- var_log_slurm:/var/log/slurm
- ./slurm.conf:/etc/slurm/slurm.conf
expose:
- "6817"
depends_on:
- "slurmdbd"

c1:
image: slurm-docker-cluster:${IMAGE_TAG:-dbee501}
image: slurm-docker-cluster:${IMAGE_TAG:-e41370d}
command: ["slurmd"]
hostname: c1
container_name: c1
volumes:
- etc_munge:/etc/munge
- etc_slurm:/etc/slurm
- slurm_jobdir:/data
- var_log_slurm:/var/log/slurm
- ./slurm.conf:/etc/slurm/slurm.conf
expose:
- "6818"
depends_on:
- "slurmctld"

c2:
image: slurm-docker-cluster:${IMAGE_TAG:-dbee501}
image: slurm-docker-cluster:${IMAGE_TAG:-e41370d}
command: ["slurmd"]
hostname: c2
container_name: c2
volumes:
- etc_munge:/etc/munge
- etc_slurm:/etc/slurm
- slurm_jobdir:/data
- var_log_slurm:/var/log/slurm
- ./slurm.conf:/etc/slurm/slurm.conf
expose:
- "6818"
depends_on:
- "slurmctld"

volumes:
etc_munge:
etc_slurm:
slurm_jobdir:
var_lib_mysql:
var_log_slurm:
4 changes: 3 additions & 1 deletion docker-entrypoint.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/bash
set -e
set -euo pipefail

if [ "$1" = "slurmdbd" ]
then
Expand All @@ -8,6 +8,8 @@ then

echo "---> Starting the Slurm Database Daemon (slurmdbd) ..."

chown slurm:slurm /etc/slurm/slurmdbd.conf
chmod 600 /etc/slurm/slurmdbd.conf
{
. /etc/slurm/slurmdbd.conf
until echo "SELECT 1" | mysql -h $StorageHost -u$StorageUser -p$StoragePass 2>&1 > /dev/null
Expand Down
10 changes: 10 additions & 0 deletions rm-cluster
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/usr/bin/env bash
set -euo pipefail

docker compose stop
docker compose rm -f
docker volume rm \
slurm-docker-cluster_etc_munge \
slurm-docker-cluster_slurm_jobdir \
slurm-docker-cluster_var_lib_mysql \
slurm-docker-cluster_var_log_slurm

0 comments on commit 1c92a79

Please sign in to comment.