From c4771808fb96ca9ed0d999b006e94da6eebaec8e Mon Sep 17 00:00:00 2001 From: Greg Daues Date: Tue, 3 Feb 2026 11:42:12 -0800 Subject: [PATCH 1/3] DM-53958: changes for matching on Nodeset --- config | 1 + .../s3df/etc/templates/allocation.sh.template | 19 +++++++++++++++---- .../s3df/etc/templates/generic.slurm.template | 2 +- .../templates/glidein_condor_config.template | 5 ++++- templates | 1 + 5 files changed, 22 insertions(+), 6 deletions(-) create mode 120000 config create mode 120000 templates diff --git a/config b/config new file mode 120000 index 0000000..328773a --- /dev/null +++ b/config @@ -0,0 +1 @@ +python/lsst/ctrl/platform/s3df/etc/config \ No newline at end of file diff --git a/python/lsst/ctrl/platform/s3df/etc/templates/allocation.sh.template b/python/lsst/ctrl/platform/s3df/etc/templates/allocation.sh.template index afd69fe..6d6078c 100644 --- a/python/lsst/ctrl/platform/s3df/etc/templates/allocation.sh.template +++ b/python/lsst/ctrl/platform/s3df/etc/templates/allocation.sh.template @@ -12,6 +12,15 @@ else export RUBIN_COLLECTOR_HOST="sdfiana012.sdf.slac.stanford.edu" fi +if [ $NODESET ]; then + echo "NODESET is specified" + echo "NODESET $NODESET" + NODESET_CLAUSE=" && (JobNodeset == \"$NODESET\")" +else + echo "NODESET is empty" + NODESET_CLAUSE="" +fi + export RUBIN_COLLECTOR_PORT=$CPORT echo "Using RUBIN_COLLECTOR_HOST $RUBIN_COLLECTOR_HOST" echo "Using RUBIN_COLLECTOR_PORT $RUBIN_COLLECTOR_PORT" @@ -78,16 +87,18 @@ export _CONDOR_SBIN=${RELEASE_DIR}/sbin export _CONDOR_FILETRANSFER_PLUGINS=${RELEASE_DIR}/libexec/curl_plugin # export _CONDOR_STARTD_RESOURCE_PREFIX=slot_${VERY_RNUM}_ -export _CONDOR_STARTD_RESOURCE_PREFIX=slot_${myuser}_${VERY_RNUM}_ +# Add an informational slot name so that slots of different nodesets do not look the same +N10=`echo $NODESET | cut -c1-10` +export _CONDOR_STARTD_RESOURCE_PREFIX=${N10}slot_${myuser}_${VERY_RNUM}_ SPAN_MEMORY=1000 LOWER_BOUND=$((SLURM_MEM_PER_NODE - SPAN_MEMORY)) UPPER_BOUND=$((SLURM_MEM_PER_NODE + SPAN_MEMORY)) -common_job_name=glide_${myuser} +common_job_name="$NODESETglide_${myuser}" if [ $SLURM_JOB_NAME == ${common_job_name} ]; then - export _CONDOR_START="(Owner == \"${myuser}\")" + export _CONDOR_START="(Owner == \"${myuser}\")${NODESET_CLAUSE}" else - export _CONDOR_START="(Owner == \"${myuser}\") && (RequestMemory>${LOWER_BOUND}) && (RequestMemory<${UPPER_BOUND})" + export _CONDOR_START="(Owner == \"${myuser}\")${NODESET_CLAUSE} && (RequestMemory>${LOWER_BOUND}) && (RequestMemory<${UPPER_BOUND})" fi echo _CONDOR_START echo ${_CONDOR_START} diff --git a/python/lsst/ctrl/platform/s3df/etc/templates/generic.slurm.template b/python/lsst/ctrl/platform/s3df/etc/templates/generic.slurm.template index 551dfda..748ea2a 100644 --- a/python/lsst/ctrl/platform/s3df/etc/templates/generic.slurm.template +++ b/python/lsst/ctrl/platform/s3df/etc/templates/generic.slurm.template @@ -5,7 +5,7 @@ #SBATCH -A $ACCOUNT #SBATCH --ntasks-per-node 1 #SBATCH --cpus-per-task $CPUS -#SBATCH -J glide_$USER_NAME +#SBATCH -J $NODESETglide_$USER_NAME $QOS $RESERVATION $EXCLUSIVE diff --git a/python/lsst/ctrl/platform/s3df/etc/templates/glidein_condor_config.template b/python/lsst/ctrl/platform/s3df/etc/templates/glidein_condor_config.template index fdf7431..5bb740e 100644 --- a/python/lsst/ctrl/platform/s3df/etc/templates/glidein_condor_config.template +++ b/python/lsst/ctrl/platform/s3df/etc/templates/glidein_condor_config.template @@ -42,9 +42,12 @@ $DYNAMIC_SLOTS_BLOCK $PACK_BLOCK + +$NODESET_BLOCK + STARTD_NOCLAIM_SHUTDOWN=$GLIDEIN_SHUTDOWN -STARTD_ATTRS = ALLOCATED_NODE_SET +STARTD_ATTRS = $(STARTD_ATTRS) Nodeset # hold jobs that the startd detects have exceeded assigned memory MEMORY_EXCEEDED = ((MemoryUsage > Memory) =!= TRUE) diff --git a/templates b/templates new file mode 120000 index 0000000..50ab18d --- /dev/null +++ b/templates @@ -0,0 +1 @@ +python/lsst/ctrl/platform/s3df/etc/templates \ No newline at end of file From b8a685b21c5ce9630060b19ee66925d6510d15b0 Mon Sep 17 00:00:00 2001 From: Greg Daues Date: Thu, 5 Feb 2026 06:26:14 -0800 Subject: [PATCH 2/3] DM-53958: remove unneeded symbolic links --- config | 1 - templates | 1 - 2 files changed, 2 deletions(-) delete mode 120000 config delete mode 120000 templates diff --git a/config b/config deleted file mode 120000 index 328773a..0000000 --- a/config +++ /dev/null @@ -1 +0,0 @@ -python/lsst/ctrl/platform/s3df/etc/config \ No newline at end of file diff --git a/templates b/templates deleted file mode 120000 index 50ab18d..0000000 --- a/templates +++ /dev/null @@ -1 +0,0 @@ -python/lsst/ctrl/platform/s3df/etc/templates \ No newline at end of file From 14af1b681b5795db818e666c41eb85b290aa0a8f Mon Sep 17 00:00:00 2001 From: Greg Daues Date: Thu, 5 Feb 2026 12:25:31 -0800 Subject: [PATCH 3/3] Revert "DM-53958: remove unneeded symbolic links" This reverts commit b8a685b21c5ce9630060b19ee66925d6510d15b0. Revrting the commit that removed symlinks; the symlinks serve a role --- config | 1 + templates | 1 + 2 files changed, 2 insertions(+) create mode 120000 config create mode 120000 templates diff --git a/config b/config new file mode 120000 index 0000000..328773a --- /dev/null +++ b/config @@ -0,0 +1 @@ +python/lsst/ctrl/platform/s3df/etc/config \ No newline at end of file diff --git a/templates b/templates new file mode 120000 index 0000000..50ab18d --- /dev/null +++ b/templates @@ -0,0 +1 @@ +python/lsst/ctrl/platform/s3df/etc/templates \ No newline at end of file