From 1e6cc1f5c04985424fb58af3a0913127d22ae3c3 Mon Sep 17 00:00:00 2001 From: Anne Tipka <anne.tipka@ctbto.org> Date: Thu, 28 Jul 2022 11:19:21 +0000 Subject: [PATCH] added new setup scripts to account for Bologna Servers --- setup_bologna.sh | 99 ++++++++++++++++++++++++++++++++++++++ setup_local_bologna.sh | 105 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 204 insertions(+) create mode 100755 setup_bologna.sh create mode 100755 setup_local_bologna.sh diff --git a/setup_bologna.sh b/setup_bologna.sh new file mode 100755 index 0000000..b7d5e50 --- /dev/null +++ b/setup_bologna.sh @@ -0,0 +1,99 @@ +#!/bin/bash +# +# @Author: Anne Philipp +# +# @Date: September, 10 2018 +# +# @Description: +# This file defines the flex_extract's available installation +# parameters and puts them together for the call of the actual +# python installation script. It also does some checks to +# guarantee necessary parameters were set. +# +# @Changes: +# July 2022 - Anne Tipka (formerly Philipp) +# - adapted for the use on ECWMF Bologna servers +# +# @Licence: +# (C) Copyright 2014-2020. +# +# SPDX-License-Identifier: CC-BY-4.0 +# +# This work is licensed under the Creative Commons Attribution 4.0 +# International License. To view a copy of this license, visit +# http://creativecommons.org/licenses/by/4.0/ or send a letter to +# Creative Commons, PO Box 1866, Mountain View, CA 94042, USA. +# +# ----------------------------------------------------------------- +# AVAILABLE COMMANDLINE ARGUMENTS TO SET +# +# THE USER HAS TO SPECIFY THESE PARAMETERS +# +TARGET='ecs' +MAKEFILE='makefile_atosecs' +ECUID='<username>' +ECGID='<groupID>' +GATEWAY='<gatewayname>' +DESTINATION='<username>@genericSftp' +INSTALLDIR=None +JOB_TEMPLATE='' +CONTROLFILE='CONTROL_EA5' +# ----------------------------------------------------------------- +# +# AFTER THIS LINE THE USER DOES NOT HAVE TO CHANGE ANYTHING !!! +# +# ----------------------------------------------------------------- + +# PATH TO INSTALLATION SCRIPT +script="Source/Python/install.py" + +# INITIALIZE EMPTY PARAMETERLIST +parameterlist="" + +# CHECK IF ON ECMWF SERVER; +if [[ $EC_CLUSTER == "ecs" ]] || [[ $EC_CLUSTER == "aa"* ]] || [[ $EC_CLUSTER == "ab"* ]] || [[ $EC_CLUSTER == "ac"* ]] || [[ $EC_CLUSTER == "ad"* ]]; then +# LOAD PYTHON3 MODULE + module load python3 +fi + +# DEFAULT PARAMETERLIST +if [ -n "$TARGET" ]; then + parameterlist=" --target=$TARGET" +else + echo "ERROR: No installation target specified." + echo "EXIT WITH ERROR" + exit +fi + +# CHECK FOR MORE PARAMETER +if [ "$TARGET" == "ecs" ] || [ "$TARGET" == "hpc" ] ; then + # check if necessary Parameters are set + if [ -z "$ECUID" ] || [ -z "$ECGID" ] || [ "$ECUID" == "<username>" ] || [ "$ECGID" == "<groupID>" ] ; then + echo "ERROR: At least one of the following parameters are not properly set: ECUID or ECGID!" + echo "EXIT WITH ERROR" + exit + else + parameterlist+=" --ecuid=$ECUID --ecgid=$ECGID --gateway=$GATEWAY --destination=$DESTINATION" + fi + if [ -z "$GATEWAY" ] || [ -z "$DESTINATION" ] || [ "$GATEWAY" == "<gatewayname>" ] || [ "$DESTINATION" == "<username>@genericSftp" ] ; then + echo "WARNING: Not setting parameters GATEWAY and DESTINATION means there will be no file transfer to local gateway server." + fi +fi +if [ -n "$MAKEFILE" ]; then + parameterlist+=" --makefile=$MAKEFILE" +fi +if [ -n "$FLEXPARTDIR" ]; then # not empty + parameterlist+=" --flexpartdir=$FLEXPARTDIR" +fi +if [ -n "$JOB_TEMPLATE" ]; then + parameterlist+=" --job_template=$JOB_TEMPLATE" +fi +if [ -n "$CONTROLFILE" ]; then + parameterlist+=" --controlfile=$CONTROLFILE" +fi + +# ----------------------------------------------------------------- +# CALL INSTALLATION SCRIPT WITH DETERMINED COMMANDLINE ARGUMENTS + +$script $parameterlist + diff --git a/setup_local_bologna.sh b/setup_local_bologna.sh new file mode 100755 index 0000000..3d9f122 --- /dev/null +++ b/setup_local_bologna.sh @@ -0,0 +1,105 @@ +#!/bin/bash +# +# @Author: Anne Philipp +# +# @Date: September, 10 2018 +# +# @Description: +# This file defines the flex_extract's available installation +# parameters and puts them together for the call of the actual +# python installation script. It also does some checks to +# guarantee necessary parameters were set. +# +# @History: +# Leopold Haimberger; Aug 2020 +# added new parameter for a system installation +# (seperate executable and user directories) +# Anne Tipka; July 2022 +# Adapted to use on Bologna servers +# +# @Licence: +# (C) Copyright 2014-2020. +# +# SPDX-License-Identifier: CC-BY-4.0 +# +# This work is licensed under the Creative Commons Attribution 4.0 +# International License. To view a copy of this license, visit +# http://creativecommons.org/licenses/by/4.0/ or send a letter to +# Creative Commons, PO Box 1866, Mountain View, CA 94042, USA. +# +# ----------------------------------------------------------------- +# AVAILABLE COMMANDLINE ARGUMENTS TO SET +# +# THE USER HAS TO SPECIFY THESE PARAMETERS +# +TARGET='local' +MAKEFILE='makefile_local_gfortran' +ECUID='<username>' +ECGID='<groupID>' +GATEWAY='<gatewayname>' +DESTINATION='<username>@genericSftp' +INSTALLDIR=None +SYSINSTALLDIR=None +JOB_TEMPLATE='' +CONTROLFILE='CONTROL_EA5' +# ----------------------------------------------------------------- +# +# AFTER THIS LINE THE USER DOES NOT HAVE TO CHANGE ANYTHING !!! +# +# ----------------------------------------------------------------- + +# PATH TO INSTALLATION SCRIPT +script="Source/Python/install.py" + +# INITIALIZE EMPTY PARAMETERLIST +parameterlist="" + +# CHECK IF ON ECMWF SERVER; 0 +if [[ $EC_CLUSTER == "ecs" ]] || [[ $EC_CLUSTER == "aa"* ]] || [[ $EC_CLUSTER == "ac"* ]] || [[ $EC_CLUSTER == "ad"* ]] || [[ $EC_CLUSTER == "ab"* ]]; then +# LOAD PYTHON3 MODULE + module load python3 +fi + +# DEFAULT PARAMETERLIST +if [ -n "$TARGET" ]; then + parameterlist=" --target=$TARGET" +else + echo "ERROR: No installation target specified." + echo "EXIT WITH ERROR" + exit +fi + +# CHECK FOR MORE PARAMETER +if [ "$TARGET" == "ecs" ] || [ "$TARGET" == "hpc" ]; then + # check if necessary Parameters are set + if [ -z "$ECUID" ] || [ -z "$ECGID" ] || [ -z "$GATEWAY" ] || [ -z "$DESTINATION" ]; then + echo "ERROR: At least one of the following parameters are not set: ECUID, ECGID, GATEWAY, DESTINATION!" + echo "EXIT WITH ERROR" + exit + else + parameterlist+=" --ecuid=$ECUID --ecgid=$ECGID --gateway=$GATEWAY --destination=$DESTINATION" + fi +fi +if [ -n "$MAKEFILE" ]; then + parameterlist+=" --makefile=$MAKEFILE" +fi +if [ -n "$INSTALLDIR" ]; then + parameterlist+=" --installdir=$INSTALLDIR" +fi +if [ -n "$SYSINSTALLDIR" ]; then + parameterlist+=" --sysinstalldir=$SYSINSTALLDIR" +fi +if [ -n "$JOB_TEMPLATE" ]; then + parameterlist+=" --job_template=$JOB_TEMPLATE" +fi +if [ -n "$CONTROLFILE" ]; then + parameterlist+=" --controlfile=$CONTROLFILE" +fi + +# ----------------------------------------------------------------- +# CALL INSTALLATION SCRIPT WITH DETERMINED COMMANDLINE ARGUMENTS + +$script $parameterlist + + + -- GitLab