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
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category:Sites Documentation]]
{{Template:Op menubar}}
{{Template:Doc_menubar}}
{{TOC_right}}
 
[[Category:Operations Manuals]]
==Certification Job==
==Certification Job==


* cert_job.jdl
===cert_job.jdl===
<source lang="bash">


  Executable="cert_job.sh";
  Executable="cert_job.sh";
Line 15: Line 20:
  OutputSandbox={"report.txt"};
  OutputSandbox={"report.txt"};
  RetryCount = 0;
  RetryCount = 0;
</source>


* cert_job.sh
===cert_job.sh===


<nowiki>
<source lang="bash">
  #!/bin/bash
  #!/bin/bash
  # 2005-04-26 created by Paolo Veronesi
  # 2005-04-26 created by Paolo Veronesi
Line 725: Line 731:
  #other_test
  #other_test
  end_report
  end_report
</nowiki>
</source>

Latest revision as of 22:29, 1 December 2012

Main EGI.eu operations services Support Documentation Tools Activities Performance Technology Catch-all Services Resource Allocation Security


Documentation menu: Home Manuals Procedures Training Other Contact For: VO managers Administrators


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

 #!/bin/bash
 # 2005-04-26 created by Paolo Veronesi
 # 2010-11-03 modified by Alessandro Paolini
 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 "----------------------------------------"
 echo "LCG List Replica for $1"
 echo ""
 lcg-lr --vo $VO lfn:$1
 STATUS=$?
 echo "----------------------------------------"
 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 "--------------------------------------"
 echo "LCG List Replica for file=$1"
 echo "--------------------------------------"
 
 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 "--------------------------------------"
 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 "------------------------------------------------------------------------------------------"
 }
 
 #check removed
 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