This is an automated email from the ASF dual-hosted git repository.

DImuthuUpe pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airavata-custos.git

commit 161a1bd4ccfba7601c3cbb507185936d78b02857
Author: DImuthuUpe <[email protected]>
AuthorDate: Mon May 25 20:33:38 2026 -0400

    Adding new users to test slurm cluster
---
 dev-ops/local-slurm/docker/Dockerfile.base          |  7 +++++++
 dev-ops/local-slurm/scripts/bootstrap-accounting.sh | 11 +++++++++++
 dev-ops/local-slurm/scripts/entrypoint-login.sh     |  6 ++----
 3 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/dev-ops/local-slurm/docker/Dockerfile.base 
b/dev-ops/local-slurm/docker/Dockerfile.base
index f252d76d5..e3392d486 100644
--- a/dev-ops/local-slurm/docker/Dockerfile.base
+++ b/dev-ops/local-slurm/docker/Dockerfile.base
@@ -20,6 +20,13 @@ RUN dnf -y install epel-release \
 RUN useradd -r -u 995 -g 0 -s /sbin/nologin slurm \
  && install -d -o slurm -g 0 -m 0755 /var/spool/slurm /var/log/slurm 
/var/run/slurm /etc/slurm
 
+# Test users baked into the base image so UIDs match across login,
+# slurmctld, and slurmd containers (slurmctld/slurmd both do pwd lookups
+# and slurmd execs the job as the submitting user).
+RUN useradd -m -u 1000 -s /bin/bash testuser \
+ && useradd -m -u 1001 -s /bin/bash testuser2 \
+ && useradd -m -u 1002 -s /bin/bash testuser3
+
 RUN wget -q https://download.schedmd.com/slurm/slurm-${SLURM_VERSION}.tar.bz2 \
  && tar -xjf slurm-${SLURM_VERSION}.tar.bz2 \
  && cd slurm-${SLURM_VERSION} \
diff --git a/dev-ops/local-slurm/scripts/bootstrap-accounting.sh 
b/dev-ops/local-slurm/scripts/bootstrap-accounting.sh
index a8494393c..2c6427294 100755
--- a/dev-ops/local-slurm/scripts/bootstrap-accounting.sh
+++ b/dev-ops/local-slurm/scripts/bootstrap-accounting.sh
@@ -19,6 +19,17 @@ CLUSTER="${CLUSTER_NAME:-artisan}"
 if ! sacctmgr -in show cluster format=cluster | grep -qw "$CLUSTER"; then
   sacctmgr -i add cluster "$CLUSTER"
 fi
+
+# slurm.conf sets AccountingStorageEnforce=...,qos,..., which means every
+# association must have at least one allowed QoS and a default QoS or the
+# controller rejects submissions with the misleading error "Invalid account
+# or account/partition combination specified". Ensure the built-in `normal`
+# QoS is allowed on the cluster and set as the default for new associations.
+if ! sacctmgr -in show qos format=name | grep -qw "normal"; then
+  sacctmgr -i add qos normal
+fi
+sacctmgr -i modify cluster "$CLUSTER" set QOS=normal DefaultQOS=normal 
>/dev/null
+
 if ! sacctmgr -in show account format=account | grep -qw "root"; then
   sacctmgr -i add account root Description="root account" 
Organization="$CLUSTER"
 fi
diff --git a/dev-ops/local-slurm/scripts/entrypoint-login.sh 
b/dev-ops/local-slurm/scripts/entrypoint-login.sh
index 4f77e0ca5..4ef755819 100755
--- a/dev-ops/local-slurm/scripts/entrypoint-login.sh
+++ b/dev-ops/local-slurm/scripts/entrypoint-login.sh
@@ -8,10 +8,8 @@ install -d -m 0755 -o munge -g munge /var/run/munge
 install -d -m 0700 -o munge -g munge /var/log/munge /var/lib/munge
 runuser -u munge -- /usr/sbin/munged --force
 
-# Ensure the default test user exists
-id -u testuser >/dev/null 2>&1 || useradd -m -s /bin/bash testuser
-id -u testuser2 >/dev/null 2>&1 || useradd -m -s /bin/bash testuser2
-id -u testuser3 >/dev/null 2>&1 || useradd -m -s /bin/bash testuser3
+# testuser{,2,3} are baked into the base image with fixed UIDs so they
+# match across login/slurmctld/slurmd. Nothing to create here.
 
 # Start sshd in the foreground
 exec /usr/sbin/sshd -D -e

Reply via email to