From b6ae7b6f0326b21a020196db5f199181dd6c2017 Mon Sep 17 00:00:00 2001 From: Richard Top Date: Wed, 3 Jan 2024 07:14:44 +0000 Subject: [PATCH 1/4] {2023.06}[system] EasyBuild V4.9.0 --- eessi-2023.06-eb-4.9.0-001-system.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 eessi-2023.06-eb-4.9.0-001-system.yml diff --git a/eessi-2023.06-eb-4.9.0-001-system.yml b/eessi-2023.06-eb-4.9.0-001-system.yml new file mode 100644 index 0000000000..a7bce002c7 --- /dev/null +++ b/eessi-2023.06-eb-4.9.0-001-system.yml @@ -0,0 +1,4 @@ +easyconfigs: + - EasyBuild-4.9.0.eb: + options: + from-pr: 19464 From 5037b0ec2b9a0a1b803c16441b96f17d28b4004f Mon Sep 17 00:00:00 2001 From: Richard Top Date: Tue, 16 Jan 2024 08:47:30 +0000 Subject: [PATCH 2/4] modified the load_easybuild_module.sh to ignore CACHE --- load_easybuild_module.sh | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/load_easybuild_module.sh b/load_easybuild_module.sh index 4ff2a3c37c..c23caff532 100755 --- a/load_easybuild_module.sh +++ b/load_easybuild_module.sh @@ -71,21 +71,28 @@ else check_exit_code $? "${ok_msg}" "${fail_msg}" # maybe the module obtained with --install-latest-eb-release is exactly the EasyBuild version we wanted? + IGNORE_CACHE='' module avail 2>&1 | grep -i easybuild/${EB_VERSION} &> ${ml_av_easybuild_out} if [[ $? -eq 0 ]]; then echo_green ">> Module for EasyBuild v${EB_VERSION} found!" else - eb_ec=EasyBuild-${EB_VERSION}.eb - echo_yellow ">> Still no module for EasyBuild v${EB_VERSION}, trying with easyconfig ${eb_ec}..." - ${EB} --search ${eb_ec} | grep ${eb_ec} > /dev/null + module --ignore_cache avail 2>&1 | grep -i easybuild/${EB_VERSION} &> ${ml_av_easybuild_out} if [[ $? -eq 0 ]]; then - echo "Easyconfig ${eb_ec} found for EasyBuild v${EB_VERSION}, so installing it..." - ok_msg="EasyBuild v${EB_VERSION} installed, alright!" - fail_msg="Installing EasyBuild v${EB_VERSION}, yikes! (output: ${eb_install_out})" - ${EB} EasyBuild-${EB_VERSION}.eb 2>&1 | tee -a ${eb_install_out} - check_exit_code $? "${ok_msg}" "${fail_msg}" + echo_green ">> Module for EasyBuild v${EB_VERSION} found!" + IGNORE_CACHE='--ignore_cache' else - fatal_error "No easyconfig found for EasyBuild v${EB_VERSION}" + eb_ec=EasyBuild-${EB_VERSION}.eb + echo_yellow ">> Still no module for EasyBuild v${EB_VERSION}, trying with easyconfig ${eb_ec}..." + ${EB} --search ${eb_ec} | grep ${eb_ec} > /dev/null + if [[ $? -eq 0 ]]; then + echo "Easyconfig ${eb_ec} found for EasyBuild v${EB_VERSION}, so installing it..." + ok_msg="EasyBuild v${EB_VERSION} installed, alright!" + fail_msg="Installing EasyBuild v${EB_VERSION}, yikes! (output: ${eb_install_out})" + ${EB} EasyBuild-${EB_VERSION}.eb 2>&1 | tee -a ${eb_install_out} + check_exit_code $? "${ok_msg}" "${fail_msg}" + else + fatal_error "No easyconfig found for EasyBuild v${EB_VERSION}" + fi fi fi @@ -103,7 +110,7 @@ else fi echo ">> Loading EasyBuild v${EB_VERSION} module..." -module load EasyBuild/${EB_VERSION} +module ${IGNORE_CACHE} load EasyBuild/${EB_VERSION} eb_show_system_info_out=${TMPDIR}/eb_show_system_info.out ${EB} --show-system-info > ${eb_show_system_info_out} if [[ $? -eq 0 ]]; then From 6c41e6d694e33e8ef787d7448df40ea486bcdd95 Mon Sep 17 00:00:00 2001 From: Richard Top Date: Tue, 16 Jan 2024 14:08:34 +0000 Subject: [PATCH 3/4] Following changes for archdetect ONLY within SOFTWARE-LAYER --- init/eessi_archdetect.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/init/eessi_archdetect.sh b/init/eessi_archdetect.sh index d2b6dacf04..c3d8a7f38e 100755 --- a/init/eessi_archdetect.sh +++ b/init/eessi_archdetect.sh @@ -1,8 +1,8 @@ #!/usr/bin/env bash VERSION="1.0.0" -# Logging -LOG_LEVEL="INFO" +# default log level: only emit warnings or errors +LOG_LEVEL="WARN" timestamp () { date "+%Y-%m-%d %H:%M:%S" @@ -67,8 +67,8 @@ check_allinfirst(){ cpupath(){ # If EESSI_SOFTWARE_SUBDIR_OVERRIDE is set, use it - log "DEBUG" "cpupath: Override variable set as '$EESI_SOFTWARE_SUBDIR_OVERRIDE' " - [ $EESI_SOFTWARE_SUBDIR_OVERRIDE ] && echo ${EESI_SOFTWARE_SUBDIR_OVERRIDE} && exit + log "DEBUG" "cpupath: Override variable set as '$EESSI_SOFTWARE_SUBDIR_OVERRIDE' " + [ $EESSI_SOFTWARE_SUBDIR_OVERRIDE ] && echo ${EESSI_SOFTWARE_SUBDIR_OVERRIDE} && exit # Identify the best matching CPU architecture from a list of supported specifications for the host CPU # Return the path to the installation files in EESSI of the best matching architecture From cd214d87dc340e502c339ada97f925ef39e7f9f5 Mon Sep 17 00:00:00 2001 From: Richard Top Date: Wed, 17 Jan 2024 07:44:59 +0000 Subject: [PATCH 4/4] back on track with the changes --- .../2023.06/eessi-2023.06-eb-4.9.0-001-system.yml | 0 init/eessi_archdetect.sh | 8 ++++---- 2 files changed, 4 insertions(+), 4 deletions(-) rename eessi-2023.06-eb-4.9.0-001-system.yml => easystacks/pilot.nessi.no/2023.06/eessi-2023.06-eb-4.9.0-001-system.yml (100%) diff --git a/eessi-2023.06-eb-4.9.0-001-system.yml b/easystacks/pilot.nessi.no/2023.06/eessi-2023.06-eb-4.9.0-001-system.yml similarity index 100% rename from eessi-2023.06-eb-4.9.0-001-system.yml rename to easystacks/pilot.nessi.no/2023.06/eessi-2023.06-eb-4.9.0-001-system.yml diff --git a/init/eessi_archdetect.sh b/init/eessi_archdetect.sh index 6f796ce6cc..ebbf5bc64e 100755 --- a/init/eessi_archdetect.sh +++ b/init/eessi_archdetect.sh @@ -1,8 +1,8 @@ #!/usr/bin/env bash VERSION="1.0.0" -# default log level: only emit warnings or errors -LOG_LEVEL="WARN" +# Logging +LOG_LEVEL="INFO" timestamp () { date "+%Y-%m-%d %H:%M:%S" @@ -67,8 +67,8 @@ check_allinfirst(){ cpupath(){ # If EESSI_SOFTWARE_SUBDIR_OVERRIDE is set, use it - log "DEBUG" "cpupath: Override variable set as '$EESSI_SOFTWARE_SUBDIR_OVERRIDE' " - [ $EESSI_SOFTWARE_SUBDIR_OVERRIDE ] && echo ${EESSI_SOFTWARE_SUBDIR_OVERRIDE} && exit + log "DEBUG" "cpupath: Override variable set as '$EESI_SOFTWARE_SUBDIR_OVERRIDE' " + [ $EESI_SOFTWARE_SUBDIR_OVERRIDE ] && echo ${EESI_SOFTWARE_SUBDIR_OVERRIDE} && exit # Identify the best matching CPU architecture from a list of supported specifications for the host CPU # Return the path to the installation files in NESSI of the best matching architecture