Alert.png The wiki is deprecated and due to be decommissioned by the end of September 2022.
The content is being migrated to other supports, new updates will be ignored and lost.
If needed you can get in touch with EGI SDIS team using operations @ egi.eu.

Certification Job template

From EGIWiki
Jump to navigation Jump to search

Certification Job

  • cert_job.jdl
Executable="cert_job.sh";

## Please put your VO as Argument
Arguments="dteam";

StdOutput="report.txt";
StdError="report.txt";

InputSandbox={"cert_job.sh"};
OutputSandbox={"report.txt"};
RetryCount = 0;
  • cert_job.sh
  1. !/bin/bash
  2. 2005-04-26 by Paolo Veronesi (paolo.veronesi@cnaf.infn.it)

SE_REP1=sunstorm.cnaf.infn.it SE_REP2=prod-se-01.pd.infn.it

  1. SE_REP3=castorgrid.cern.ch
  1. Certification BDII

BDII=gridit-bdii-01.cnaf.infn.it:2170

  1. Production BDII

BDII2=egee-bdii.cnaf.infn.it:2170

    1. CHECK ARGUMENT

if [ -z $1 ] ; then

       VO=infngrid

else

       VO=$1

fi export LFC_HOME=/grid/$VO

    1. LOCAL FUNCTIONS

new_date () {

  YEAR=`date +%Y`
  MONTH=`date +%m`
  DAY=`date +%d`
  HOUR=`date +%H:%M`

}

start_report () { new_date DATE=$YEAR-$MONTH-$DAY_$HOUR WNNAME=`hostname` USER=`whoami`

echo "Site test report" echo "WN: $HOSTNAME" echo "Date: $DATE" echo "Remote account: $USER" echo "VO: $VO" echo "SE1 for Replica: $SE_REP1" echo "SE2 for Replica: $SE_REP2" echo "BDII for test: $BDII" }

end_report () { new_date DATE=$YEAR-$MONTH-$DAY_$HOUR TEST="Ended to run the certification on site: $1 at date $DATE" echo "$TEST" }

visual () { if [ $STATUS -ne 0 ]; then if $TEST == *$SE_REP1 ; then STATO=WARNING else STATO=ERROR fi else STATO=OK fi echo "*" echo "* TEST=$TEST, STATUS=$STATO" echo "*" }

list_LCG_replica () { echo "09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)~" echo "LCG List Replica for $1" echo "" lcg-lr --vo $VO lfn:$1 STATUS=$? echo "09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)~" echo "" }

    1. BASE TEST

base()

{ TEST=BASE CONTINUE=1 echo "******************************************************************************************" echo "* Check services used during the test *" echo "******************************************************************************************" echo echo "------------------------------------------------------------------------------------------" echo "Default BDII= $LCG_GFAL_INFOSYS"


case "$LCG_GFAL_INFOSYS" in

       "egee-bdii-01.cnaf.infn.it:2170" | "gridit-bdii-01.cnaf.infn.it:2170" ) 
               echo "TEST ERROR: LCG_GFAL_INFOSYS should be egee-bdii.cnaf.infn.it. Other values are possible, but not egee-bdii-01 or gridit-bdii-01";;
        egee-bdii.cnaf.infn.it:2170 )
               echo "TEST OK: LCG_GFAL_INFOSYS=$LCG_GFAL_INFOSYS";;
         *   ) 

echo "TEST WARNING: LCG_GFAL_INFOSYS=$LCG_GFAL_INFOSYS, why not egee-bdii.cnaf.infn.it ?";; esac


echo "Can we see the default information system?"

set -x lcg-infosites --vo $VO all STATUS=$? set +x

if [ $STATUS == 0 ]; then CONTINUE=0 else

   CONTINUE=1

fi

visual echo echo "------------------------------------------------------------------------------------------" echo "Can we see the SE=$SE_REP1?" set -x

  1. /opt/edg/bin/edg-gridftp-ls --verbose gsiftp://$SE_REP1/ > /dev/null
  2. /opt/lcg/bin/rfdir $SE_REP1:/ > /dev/null

/opt/globus/bin/uberftp $SE_REP1 > /dev/null STATUS=$? set +x

if [ $STATUS == 0 ]; then GOODSE=$SE_REP1

    echo "STATUS=OK, GOODSE=$GOODSE"

else

   echo "WARNING: Can not see the SE=$SE_REP1, try to see SE=SE_REP2" 
   set -x
   #/opt/edg/bin/edg-gridftp-ls --verbose gsiftp://$SE_REP2/ > /dev/null
   #/opt/lcg/bin/rfdir $SE_REP2:/ > /dev/null
   /opt/globus/bin/uberftp $SE_REP2 > /dev/null
   STATUS=$?
   set +x
   if [ $STATUS == 0 ]; then

GOODSE=$SE_REP2

       echo "STATUS=OK, GOODSE=$GOODSE"
   else
       echo "ERROR: Can not see the SE=$SE_REP2, DATA MANAGEMENT TEST will be skipped!" 
       GOODSE=NONE
       CONTINUE=1
   fi

fi

if [ $CONTINUE == 1 ]; then

    echo "******************************************************************************************"
    echo "* ERROR: Base test fails, certification aborted! *"
    echo "******************************************************************************************"

else

    echo "******************************************************************************************"
    echo "* Base test passed succesfully! *"
    echo "******************************************************************************************"

fi }

check_rpm () { echo "******************************************************************************************" echo "* RPMs and CA list *" echo "******************************************************************************************" echo echo "------------------------------------------------------------------------------------------" TEST="Check RPMs"

set -x rpm -qa|sort STATUS=$? set +x visual

TEST="CA rpm list - check the current on http://lcgdeploy.cvs.cern.ch/cgi-bin/lcgdeploy.cgi/lcg2/rpmlist/security-rpm.h " set -x rpm -qa|grep "^ca" |sort STATUS=$? set +x visual

}

check_bash () { echo "******************************************************************************************" echo "* Check BASH env *" echo "******************************************************************************************" echo echo "------------------------------------------------------------------------------------------" TEST="Check BASH"

set -x env |sort STATUS=$? set +x

visual

echo echo "------------------------------------------------------------------------------------------" TEST="Check software paths for the experiments" echo "$TEST" echo echo "------------------------------------------------------------------------------------------" set -x env|sort |grep _SW_DIR STATUS=$? set +x visual

echo echo "------------------------------------------------------------------------------------------" TEST="Setting CLOSE_SE for VO=$VO" echo "$TEST" echo echo "------------------------------------------------------------------------------------------" set -x CLOSE_SE=`env |grep -i $VO |grep _DEFAULT_SE | head -1 |awk -F= '{print $2}'` STATUS=$? set +x echo "===> CLOSE_SE=$CLOSE_SE"


if [ $CLOSE_SE == $GOODSE ]; then

       GOODSE=grid2.fe.infn.it
       echo "===> GOODESE changed to $GOODSE"

fi


visual


}

check_mount () { echo "******************************************************************************************" echo "* Check mountpoints on WN *" echo "******************************************************************************************" echo echo "------------------------------------------------------------------------------------------"

TEST="Check mountpoints on WN" echo "$TEST" set -x mount STATUS=$? set +x

visual echo echo "------------------------------------------------------------------------------------------"

TEST="Check disk status" echo "$TEST" set -x df -m STATUS=$? set +x visual

}

  1. DATA MANAGEMENT USING LCG COMMAND #

list_LCG_replica () { echo "09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)~" echo "LCG List Replica for file=$1" echo "09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)~"

set -x lcg-lr --vo $VO lfn:$1 STATUS=$? set +x

if $TEST == *entries ; then

       if [ $STATUS -ne 0 ]; then
               STATUS=0
       else
               STATUS=1
       fi

fi

visual echo "" echo "09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)09:14, 16 December 2010 (UTC)~" echo "" }

lcg_set_bdii () { echo "******************************************************************************************" echo "* Setting default BDII=$BDII *" echo "******************************************************************************************" echo echo "------------------------------------------------------------------------------------------" set -x export LCG_GFAL_INFOSYS=$BDII STATUS=$? env |grep LCG_GFAL_INFOSYS set +x visual echo echo "------------------------------------------------------------------------------------------" }


lcg_check_SE () { echo "******************************************************************************************" echo "* LCG - Can we see the default VO=$VO SE=$CLOSE_SE ?*" echo "******************************************************************************************" echo echo "------------------------------------------------------------------------------------------"

echo "------------------------------------------------------------------------------------------" echo "Can we see the SE=$CLOSE_SE?" set -x edg-gridftp-ls --verbose gsiftp://$CLOSE_SE/ > /dev/null STATUS=$? set +x

visual if [ $STATUS != 0 ]; then

       echo "ERROR: Can not see the SE=$CLOSE_SE, DATA MANAGEMENT TEST will be skipped!"
       end_report
       exit

fi


}


lcg_cr () { echo "******************************************************************************************" echo "* LCG Copy and Register LFC version!*" echo "******************************************************************************************" echo echo "------------------------------------------------------------------------------------------"

echo "" TEST="LCG STEP 1 - Copy and Register" echo "$TEST" FILE1=lcg1_$HOSTNAME_$YEAR$MONTH$DAY-$RANDOM FILE2=lcg2_$HOSTNAME_$YEAR$MONTH$DAY-$RANDOM

echo echo "------------------------------------------------------------------------------------------" TEST="LCG Creating file=$FILE1" echo "$TEST" echo echo "------------------------------------------------------------------------------------------" set -x uname -a >$FILE1 STATUS=$? set +x

visual $FILE1 echo ""

echo echo "------------------------------------------------------------------------------------------" TEST="LCG Creating file=$FILE2" echo "$TEST" echo echo "------------------------------------------------------------------------------------------" set -x uname -a >$FILE2 STATUS=$? set +x

visual $FILE2 echo ""

echo echo "------------------------------------------------------------------------------------------" TEST="LCG Copy & Register file=$FILE1 to CLOSE_SE=$CLOSE_SE" echo "$TEST" echo echo "------------------------------------------------------------------------------------------" set -x lcg-cr -v --vo $VO -d $CLOSE_SE -l lfn:$FILE1 file://`pwd`/$FILE1 STATUS=$? set +x visual echo ""

echo echo "------------------------------------------------------------------------------------------" TEST="LCG Copy & Register file=$FILE2 to GOODSE=$GOODSE" echo "$TEST" echo echo "------------------------------------------------------------------------------------------" set -x lcg-cr -v --vo $VO -d $GOODSE -l lfn:$FILE2 file://`pwd`/$FILE2 STATUS=$? set +x

visual

list_LCG_replica $FILE1 list_LCG_replica $FILE2 }

lcg_rep () { echo "******************************************************************************************" echo "* LCG Replicate files *" echo "******************************************************************************************" echo echo "------------------------------------------------------------------------------------------"

echo echo "------------------------------------------------------------------------------------------" TEST="LCG Replicate file $FILE1 from CLOSE_SE=$CLOSE_SE to GOODSE=$GOODSE" echo "$TEST" set -x lcg-rep -v --vo $VO -d $GOODSE lfn:$FILE1 STATUS=$? set +x

visual list_LCG_replica $FILE1 echo ""

echo echo "------------------------------------------------------------------------------------------" TEST="LCG Replicate files $FILE2 from GOODSE=$GOODSE to CLOSE_SE=$CLOSE_SE" echo "$TEST" echo echo "------------------------------------------------------------------------------------------" set -x lcg-rep -v --vo $VO -d $CLOSE_SE lfn:$FILE2 STATUS=$? set +x visual

list_LCG_replica $FILE2 echo "" }

lcg_del () {

echo "******************************************************************************************" echo "* LCG Delete files *" echo "******************************************************************************************" echo echo "------------------------------------------------------------------------------------------"


echo echo "------------------------------------------------------------------------------------------" TEST="LCG Delete and unregister file=$FILE1 from CLOSE_SE=$CLOSE_SE" echo "$TEST" echo echo "------------------------------------------------------------------------------------------" set -x lcg-del -v --vo $VO -s $CLOSE_SE lfn:$FILE1 STATUS=$? set +x

visual list_LCG_replica $FILE1

echo echo "------------------------------------------------------------------------------------------" TEST="LCG Delete and unregister file=$FILE2 from GOODSE=$GOODSE" echo "$TEST" echo echo "------------------------------------------------------------------------------------------" set -x lcg-del -v --vo $VO -s $GOODSE lfn:$FILE2 STATUS=$? set +x visual list_LCG_replica $FILE2 }

lcg_copyBack () { echo "******************************************************************************************" echo "* LCG Copy back replicated files *" echo "******************************************************************************************" echo echo "------------------------------------------------------------------------------------------"

echo echo "------------------------------------------------------------------------------------------" TEST="LCG Copy replica for file=$FILE1 from GOODSE=$GOODSE" echo "$TEST" echo echo "------------------------------------------------------------------------------------------" set -x lcg-cp -v --vo $VO lfn:$FILE1 file://`pwd`/$FILE1.rep STATUS=$? set +x visual

echo echo "------------------------------------------------------------------------------------------" TEST="LCG Copy replica for file=$FILE2 from CLOSE_SE=$CLOSE_SE" echo "$TEST" set -x lcg-cp -v --vo $VO lfn:$FILE2 file://`pwd`/$FILE2.rep STATUS=$? set +x

visual

echo echo "------------------------------------------------------------------------------------------" TEST="File in current directory" echo "$TEST" set -x pwd ls -ltr STATUS=$? set +x visual }

lcg_delete_all () { echo "******************************************************************************************" echo "* LCG Delete and unregister all files *" echo "******************************************************************************************" echo echo "------------------------------------------------------------------------------------------"

echo echo "------------------------------------------------------------------------------------------" TEST="LCG Delete and unregister all $FILE1 entries" echo "$TEST" echo echo "------------------------------------------------------------------------------------------" set -x lcg-del -v --vo $VO -a lfn:$FILE1 STATUS=$? set +x visual

list_LCG_replica $FILE1 echo ""


echo echo "------------------------------------------------------------------------------------------" TEST="LCG Delete and unregister all $FILE2 entries" echo "$TEST" echo echo "------------------------------------------------------------------------------------------" set -x lcg-del -v --vo $VO -a lfn:$FILE2 STATUS=$? set +x visual

list_LCG_replica $FILE2 echo "" }

rgma_test () {

echo "******************************************************************************************" echo "* RGMA client test *" echo "******************************************************************************************" echo echo "------------------------------------------------------------------------------------------" TEST="RGMA client test for release 2_6_0" echo echo "------------------------------------------------------------------------------------------"

set -x /opt/glite/bin/rgma-client-check STATUS=$? set +x visual echo echo "------------------------------------------------------------------------------------------" }


  1. OTHER TEST #
  1. NOTE: rfdir command no more present on UI

rfiod_test () { echo "******************************************************************************************" echo "* RFIOD deamon test for SE *" echo "******************************************************************************************" echo echo "------------------------------------------------------------------------------------------"

echo echo "------------------------------------------------------------------------------------------" TEST="Checking if CLOSE_SE=$CLOSE_SE is publishing rfio protocol" echo "$TEST" echo echo "------------------------------------------------------------------------------------------" set -x RFIO=`/opt/globus/bin/ldapsearch -x -H ldap://$CLOSE_SE:2170 -b mds-vo-name=resource,o=grid |grep GlueSEAccessProtocolType |grep rfio|awk '{print $2}'` set +x

if [ $RFIO == rfio ]; then

       echo "CLOSE_SE=$CLOSE_SE is publishing rfio as protocol"

echo echo "------------------------------------------------------------------------------------------" TEST="RFDIR test from WN=$WNNAME to CLOSE_SE=$CLOSE_SE" echo "$TEST" echo echo "------------------------------------------------------------------------------------------" set -x /usr/bin/rfdir $CLOSE_SE:/ STATUS=$? set +x visual echo "" else echo "CLOSE_SE=$CLOSE_SE is not publishing rfio as protocol, RFIDR test skipped!" fi }

    1. HIGH LEVEL FUNCTIONS

base_test () { echo "******************************************************" echo "**BASE TESTs **" echo "******************************************************" base check_rpm check_bash check_mount }

lcg_data_test () { echo "******************************************************" echo "**DATA MANAGEMENT USING lcg COMMAND **" echo "******************************************************" lcg_set_bdii lcg_cr lcg_rep lcg_del lcg_copyBack lcg_delete_all }

other_test () { echo "******************************************************" echo "**OTHER TESTS **" echo "******************************************************" rfiod_test }

    1. BODY

start_report base_test

if [ $CONTINUE == 0 ]; then

       lcg_data_test

else

   end_report
   exit

fi

  1. rgma_test
  2. other_test

end_report