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.

Difference between revisions of "Certification Job template"

From EGIWiki
Jump to navigation Jump to search
Line 14: Line 14:
  OutputSandbox={"report.txt"};
  OutputSandbox={"report.txt"};
  RetryCount = 0;
  RetryCount = 0;
* cert_job.sh
#!/bin/bash
# 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
#SE_REP3=castorgrid.cern.ch
#Certification BDII
BDII=gridit-bdii-01.cnaf.infn.it:2170
#Production BDII
BDII2=egee-bdii.cnaf.infn.it:2170
#####################################################################################################################
## CHECK ARGUMENT
#####################################################################################################################
if [ -z $1 ] ; then
        VO=infngrid
else
        VO=$1
fi
export LFC_HOME=/grid/$VO
#####################################################################################################################
## 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 ""
}
#####################################################################################################################
##############################################################################################################################
## 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
#/opt/edg/bin/edg-gridftp-ls --verbose gsiftp://$SE_REP1/ > /dev/null
#/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
}
############################################################
# 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 "------------------------------------------------------------------------------------------"
}
############################################################
#      OTHER TEST                  #
############################################################
#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
}
##############################################################################################################
##############################################################################################################
## 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
}
#############################################################################################################
#############################################################################################################
##BODY
############################################################################################################
start_report
base_test
if [ $CONTINUE == 0 ]; then
        lcg_data_test
else
    end_report
    exit
fi
#rgma_test
#other_test
end_report

Revision as of 11:14, 16 December 2010

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