Skip to content
  • #!/bin/bash 
    
    set -e
    whoami
    echo "bash is accesibale, good job"
    false
    docker run --privileged gitlab-registry.cern.ch/cloud-infrastructure/cern-ironic-deploy-image-builder:latest /bin/echo "it is alive"
    
  • #!/bin/bash -e
    
    # Check if variables are set
    VARIABLES="QUEUE_HOST QUEUE_PORT QUEUE_USERNAME QUEUE_PASSWD QUEUE_TOPIC HS06_URL"
    for V in $VARIABLES; do
    	if [ -z ${!V} ]; then
    		echo "$V variable is unset"
    		false 
    	fi
    done
    
    DOCKSOCK=/var/run/docker.sock
    BMK_SUITE_IMAGE=gitlab-registry.cern.ch/hep-benchmarks/hep-benchmark-suite/hep-benchmark-suite-cc7:latest
    
    # BMK_LIST=' --benchmarks=DB12 '
    # BMK_LIST=' --benchmarks=DB12;hs06_32; '
    BMK_LIST=' --benchmarks=hs06_32 '
    
    # AMQ_ARGUMENTS=" -o "
    
    # In order to publish in AMQ broker
    AMQ_ARGUMENTS=" --queue_host=$QUEUE_HOST --queue_port=$QUEUE_PORT --username=$QUEUE_USERNAME --password=$QUEUE_PASSWD --topic=$QUEUE_TOPIC "
    
    HS06_ARGUMENTS="--hs06_path=/var/HEPSPEC --hs06_iter=1"
    #HS06_INSTALL="--hs06_bmk=453.povray —hs06_url=****"
    HS06_INSTALL="--hs06_url=${HS06_URL}"
    #--spec2017_path=/var/HEPSPEC --spec2017_iter=1 --hepscore_conf=/tmp/hepscore_test.yml"
    
    METADATA_ARGUMENTS="--cloud=test-HBS --freetext=ironic --pnode=$(hostname)"
    
    docker run --rm --privileged --net=host -h $HOSTNAME \
                  -v /tmp:/tmp -v /var/HEPSPEC:/var/HEPSPEC -v $DOCKSOCK:$DOCKSOCK \
                  $BMK_SUITE_IMAGE hep-benchmark-suite $BMK_LIST $AMQ_ARGUMENTS $HS06_ARGUMENTS $HS06_INSTALL $METADATA_ARGUMENTS
                  
    false  # for debug
  • #!/bin/bash -ex #doesnt work when '|'
    set -xe  # debugging
    
    # Check if variables are set
    VARIABLES="QUEUE_HOST QUEUE_PORT QUEUE_USERNAME QUEUE_PASSWD QUEUE_TOPIC"
    for V in $VARIABLES; do
    	if [ -z ${!V} ]; then
    		echo "$V variable is unset"
    		false 
    	fi
    done
    
    
    DOCKSOCK=/var/run/docker.sock
    BMK_SUITE_IMAGE=gitlab-registry.cern.ch/hep-benchmarks/hep-benchmark-suite/hep-benchmark-suite-cc7:v1.4
    
    # HS06 runs built at 32 and/or 64 bits
    if [ -z ${BMK_LIST} ]; then
    	# BMK_LIST='hepscore;hs06_32;hs06_64;DB12;kv;spec2017'  #TODO will not push results to elastic search with 'kv' field since structure has changed
    	BMK_LIST='hepscore;hs06_32;hs06_64;DB12;kv;spec2017'
    fi
    
    #####################
    #--- HEP-score Config
    #####################
    
    # Optional configuration parameter to specify a different configuration file
    #HEPSCORE_CONF="--hepscore_conf=full_path_of_the_hep-score_config_file"
     
    #####################
    #--- HS06 Config
    #####################
    
    #--- Mandatory Config
    # Due to proprietary license aspects, HS06 and SPEC CPU 2017 need to be pre-installed on the server.
    # In the case of running HS06, and/or SPEC CPU2017, the packages are expected to be already installed in `/var/HEPSPEC`. 
    # In case the packages are in another path, change the corresponding entries `--hs06_path=`, and/or `--spec2017_path`. 
    HS06_ARGUMENTS="--hs06_path=/var/HEPSPEC"
    
    #--- Optional Config
    
    # Default number of iterations is 3. If a different number of iteration should run, uncomment and change this parameter
    #HS06_ITERATIONS="--hs06_iter=1"
     
    # In order to install HS06 from a tarball that can be downloaded from a url, uncomment and fill up the following argument
    if [ -n ${HS06_URL} ]; then
    	HS06_INSTALL="--hs06_url=${HS06_URL}"
    fi
    # In order to run a single HS06 workload and not the full list, uncomment and fill up the following argument with some of the following benchmarks: 450.soplex, 471.omnetpp, 447.dealII, 473.astar, 444.namd, 453.povray, 483.xalancbmk
    #HS06_LIMIT_BMK="--hs06_bmk=453.povray" 
    
    #####################
    #--- SPEC CPU2017 Config
    #####################
    
    #--- Mandatory Config
    # Due to proprietary license aspects, HS06 and SPEC CPU 2017 need to be pre-installed on the server.
    # In the case of running HS06, and/or SPEC CPU2017, the packages are expected to be already installed in `/var/HEPSPEC`. 
    # In case the packages are in another path, change the corresponding entries `--spec2017_path=`, and/or `--spec2017_path`. 
    SPEC_ARGUMENTS="--spec2017_path=/var/HEPSPEC"
    
    #--- Optional Config
    
    # Default number of iterations is 3. If a different number of iteration should run, uncomment and change this parameter
    #SPEC_ITERATIONS="--spec2017_iter=1"
     
    # In order to install SPEC from a tarball that can be downloaded from a url, uncomment and fill up the following argument
    #SPEC_INSTALL="--spec2017_url=****"
    if [ -n ${SPEC_URL} ]; then
    	SPEC_INSTALL="--spec2017_url=${SPEC_URL}"
    fi
    
    # In order to run a single SPEC workload and not the full list, uncomment and fill up the following argument with some of the following benchmarks: 508.namd_r, 510.parest_r, 511.povray_r, 520.omnetpp_r, 523.xalancbmk_r, 526.blender_r, 531.deepsjeng_r, 541.leela_r 
    #SPEC_LIMIT_BMK="--spec2017_bmk=511.povray_r" 
    
    #####################
    #--- AMQ Config
    #####################
    
    #AMQ_ARGUMENTS=" -o"
    # In order to publish in AMQ broker, uncomment and fill up the following arguments
    AMQ_ARGUMENTS=" --queue_host=$QUEUE_HOST --queue_port=$QUEUE_PORT --username=$QUEUE_USERNAME --password=$QUEUE_PASSWD --topic=$QUEUE_TOPIC "
    
    #####################
    #--- Metadata Config
    #####################
    
    # Those metadata are not mandatory
    METADATA_ARGUMENTS="--cloud=${NODE_RESOURCE_CLASS} --vo=Ironic  --freetext=${BMK_LIST}-ST --pnode=${NODE_NAME}"
    
    echo docker run --privileged --net=host -h $HOSTNAME \
                  -v /tmp:/tmp -v /var/HEPSPEC:/var/HEPSPEC -v $DOCKSOCK:$DOCKSOCK \
                  $BMK_SUITE_IMAGE hep-benchmark-suite --benchmarks=$BMK_LIST $AMQ_ARGUMENTS $HEPSCORE_CONF $HS06_ARGUMENTS $HS06_ITERATIONS $HS06_INSTALL $HS06_LIMIT_BMK $SPEC_ARGUMENTS $SPEC_ITERATIONS $SPEC_INSTALL $SPEC_LIMIT_BMK $METADATA_ARGUMENTS
    
    false  # will put into 'clean failed' state to be able to inspect
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment