From 0611f3e5750f5c699504c362aa2c2eff8e322679 Mon Sep 17 00:00:00 2001 From: Reza Goldouzian Date: Sat, 30 Aug 2025 06:46:18 -0400 Subject: [PATCH] fixing bugs for running lobster jobs in el9 --- lobster/cmssw/sandbox.py | 2 ++ lobster/core/data/autosense.sh | 2 +- lobster/core/data/task.py | 4 ++-- lobster/core/data/wrapper.sh | 14 ++++++++++---- lobster/core/source.py | 2 +- 5 files changed, 16 insertions(+), 8 deletions(-) diff --git a/lobster/cmssw/sandbox.py b/lobster/cmssw/sandbox.py index 74a08c7a..b89630c8 100644 --- a/lobster/cmssw/sandbox.py +++ b/lobster/cmssw/sandbox.py @@ -66,6 +66,8 @@ def _recycle(self, outdir): def _get_cmssw_arch(self, dirname): candidates = glob.glob('{}/.SCRAM/slc*'.format(dirname)) + if len(candidates) != 1: + candidates = glob.glob('{}/.SCRAM/el*'.format(dirname)) if len(candidates) != 1: raise AttributeError("Can't determine SCRAM arch!") return os.path.basename(candidates[0]) diff --git a/lobster/core/data/autosense.sh b/lobster/core/data/autosense.sh index 316a04f9..8d11597f 100755 --- a/lobster/core/data/autosense.sh +++ b/lobster/core/data/autosense.sh @@ -20,7 +20,7 @@ cd "$release" eval $(scramv1 runtime -sh) cd - > /dev/null -python < /dev/null 2>&1 +python3 < /dev/null 2>&1 import imp import json import shlex diff --git a/lobster/core/data/task.py b/lobster/core/data/task.py index d89e2684..592b0294 100755 --- a/lobster/core/data/task.py +++ b/lobster/core/data/task.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 from collections import defaultdict, Counter from contextlib import contextmanager @@ -54,7 +54,7 @@ def format(self, record): fmt = '{chevron} {context}: {message}' else: fmt = '{chevron} {message}' - chevron = '>' * (record.levelno / logging.DEBUG + 1) + chevron = '>' * int(record.levelno / logging.DEBUG + 1) return fmt.format(chevron=chevron, message=record.msg, date=time.strftime("%c"), context=self.context) diff --git a/lobster/core/data/wrapper.sh b/lobster/core/data/wrapper.sh index f6b07b5e..167d7dae 100755 --- a/lobster/core/data/wrapper.sh +++ b/lobster/core/data/wrapper.sh @@ -126,8 +126,10 @@ fi log "sourcing CMS setup" source /cvmfs/cms.cern.ch/cmsset_default.sh || exit_on_error $? 175 "Failed to source CMS" -slc=$(egrep "Red Hat Enterprise|Scientific|CentOS" /etc/redhat-release | sed 's/.*[rR]elease \([0-9]*\).*/\1/') -arch=$(echo sandbox-${LOBSTER_CMSSW_VERSION}-slc${slc}*.tar.bz2 | grep -oe "slc${slc}_[^.]*") +slc=$(sed -n 's/.*[Rr]elease \([0-9][0-9]*\).*/\1/p' /etc/redhat-release) +arch=$(echo sandbox-${LOBSTER_CMSSW_VERSION}-el${slc}_*.tar.bz2 | grep -oe "el${slc}_[^.]*") +#slc=$(egrep "Red Hat Enterprise|Scientific|CentOS" /etc/redhat-release | sed 's/.*[rR]elease \([0-9]*\).*/\1/') +#arch=$(echo sandbox-${LOBSTER_CMSSW_VERSION}-slc${slc}*.tar.bz2 | grep -oe "slc${slc}_[^.]*") if [ -z "$LOBSTER_PROXY_INFO" -o \( -z "$LOBSTER_LCG_CP" -a -z "$LOBSTER_GFAL_COPY" \) ]; then log "sourcing OSG setup" @@ -161,8 +163,10 @@ date +%s > t_wrapper_ready log "dir" "working directory before execution" ls -l -python -m ensurepip --user -python -m pip install --user future +python3 -m ensurepip --user +python3 -m pip install --user future + +echo "Command to be executed: $*" $* res=$? @@ -172,4 +176,6 @@ log "dir" "working directory after execution" ls -l log "wrapper done" log "final return status = $res" +echo "Command finished with status $res" + exit $res diff --git a/lobster/core/source.py b/lobster/core/source.py index f25a4c23..d638fdff 100644 --- a/lobster/core/source.py +++ b/lobster/core/source.py @@ -360,7 +360,7 @@ def obtain(self, total, tasks): 'gridpack': False } - cmd = 'sh wrapper.sh python task.py parameters.json' + cmd = 'sh wrapper.sh python3 task.py parameters.json' env = { 'LOBSTER_CVMFS_PROXY': self.__cvmfs_proxy, 'LOBSTER_FRONTIER_PROXY': self.__frontier_proxy,