140 likes | 269 Views
Certification tests and automation. Gianni Pucciani Wed 27 January 2010 IT-GT-SL meeting. Outline. Testing during certification Yaimgen vnode-ygen.sh autotest.sh more automation. Testing during certification. https://twiki.cern.ch/twiki/bin/view/EGEE/HowToCertifyAPatch
E N D
Certification tests and automation Gianni Pucciani Wed 27 January 2010 IT-GT-SL meeting
Outline • Testing during certification • Yaimgen • vnode-ygen.sh • autotest.sh • more automation... IT-GT-SL meeting 27 January 2010
Testing during certification • https://twiki.cern.ch/twiki/bin/view/EGEE/HowToCertifyAPatch • A set of mandatory tests for each service is available on CVS: https://twiki.cern.ch/twiki/bin/view/EGEE/SA3Testing • In most cases (at least in all DM components) running tests means: • cvsco XXX; cd XXX • Edit a few lines in XXX-certconfig • Run XXX-certtest.sh IT-GT-SL meeting 27 January 2010
Yaimgen • Not only Yaim (site-info.def) file generation. • Deploy a service ready to test within the CTB, relying on vNode images. • Main entry: www.cern.ch/yaimgen IT-GT-SL meeting 27 January 2010
Yaimgen: usage (new) [gpucciani@pcwww06 yaimgen]# ./yaimgen.sh -h Usage: yaimgen.sh -f <input file> [-l <log file>] yaimgen.sh -r <repository> -n <node-type> [-p <patch number>] [-y <yaim target>] [-l <log file>] yaimgen.sh -u <function> [-l <log file>] Parameters: <input file> = a file specifying all parameters. E.g.: yaimgen.in <log file> = a file where to log all actions. Default is yaimgen.log <function> = a yaimgen function to call <repository> = one of prod,pps,cert <node-type> = a node type. Can be used more than once repeating -n <patch number> = a patch number. Can be used more than once repeating -p <yaim target> = an alternative yaim target than the one specified in config-<node-type>.sh Examples: yaimgen.sh -f in/glite-BDII_site.in yaimgen.sh -u yg_setup_testuser yaimgen.sh -r prod -n glite-UI -p 9998 -p 9999 -l myout.log yaimgen.sh -r prod -n glite-BDII -y glite-BDII_site -p 9997 To open a ticket: https://svnweb.cern.ch/trac/yaimgen/newticket IT-GT-SL meeting 27 January 2010
Yaimgen: architecture [gpucciani@pcwww06 yaimgen]# ls -l total 120 -rw-r--r-- 1 gpuccianigucciani 974 Jan 13 13:29 ChangeLog drwxr-xr-x 3 gpuccianigucciani 4096 Jan 21 14:55 config -rw-r--r-- 1 gpuccianigucciani 10870 Jan 13 16:46 functions.sh drwxr-xr-x 3 gpuccianigucciani 4096 Jan 13 13:29 in drwxr-xr-x 3 gpuccianigucciani 4096 Jan 14 15:48 postconfig drwxr-xr-x 3 gpuccianigucciani 4096 Jan 21 15:30 preconfig -rw-r--r-- 1 gpuccianigucciani 2260 Jan 13 13:29 README drwxr-xr-x 3 gpuccianigucciani 4096 Jan 19 16:39 test -rwxr-xr-x 1 gpuccianigucciani 276 Jan 13 13:29 transfer.sh -rw-r--r-- 1 gpuccianigucciani 932 Jan 13 13:29 yaimgen.conf -rw-r--r-- 1 gpuccianigucciani 927 Jan 13 13:29 yaimgen.in -rwxr-xr-x 1 gpuccianigucciani 18513 Jan 13 17:09 yaimgen.sh IT-GT-SL meeting 27 January 2010
vnode-ygen.sh script • Link vNode CLI with Yaimgen [gpucciani@pcwww06 vnodeygen]# ./vnode-ygen.sh -h Usage: ./vnode-ygen.sh -i <image> [-r <repository>] [-n <node-type>] [-p <patch number>] [-y <yaim target>] [-f <input file>] [-h|--help] Arguments: -Mandatory <image> = the image name {SL4-32-DH|SL4-64-DH|SL5-64-DH}. -Optional <repository> = one of prod,pps,cert. <node-type> = a node type. Can be used more than once repeating -n. <patch number> = a patch number. Can be used more than once repeating -p. <yaim target> = an alternative yaim target than the default one. <input file> = an input file that will be used to call yaimgen. When using this option all the other options but -i are discarded. Examples: ./vnode-ygen.sh -i SL4-32-DH -r prod -n glite-UI ./vnode-ygen.sh -i SL5-64-DH -r prod -n glite-BDII -y glite-BDII_site ./vnode-ygen.sh -i SL4-64-DH -r cert -n glite-WN -p 3456 ./vnode-ygen.sh -i SL5-64-DH -f my-glite-WN.in IT-GT-SL meeting 27 January 2010
autotest.sh script • Login on a client machine a run some tests as testuser [gpucciani@pcwww06 vnodeygen]# ./autotest.sh -h Usage: ./autotest.sh -v <virtual host> -t <test> [-t <test>] [--fts <FTS HOST>] [--dcache <DCACHE HOST>] [--dpm <DPM HOST>] [--castor <CASTOR HOST>] [--storm <STORM HOST>] [--lfc <LFC_HOST>] [--myproxy <MYPROXY HOST>] ./autotest.sh -l (list available tests) <virtual host> the virtual machine where tests will be run <test> = a test label. It can be specified more than once repeating -t <FTS HOST> = specify a different FTS server than the CTB one <DACHE HOST> = specify a different DCACHE host than the CTB one <DPM HOST> = specify a different DPM host than the CTB one <CASTOR HOST> = specify a different CASTOR host than the CTB one <STORM HOST> = specify a different STORM host than the CTB one <LFC HOST> = specify a different LFC host than the CTB one <MYPROXY HOST> = specify a different MYPROXY host than the CTB one IT-GT-SL meeting 27 January 2010
autotest.sh script: available tests [gpucciani@pcwww06 vnodeygen]# ./autotest.sh -l Available tests: ftscli lfc myproxy dcache-srm-client gfal lcg_utils lcg_utils_cross s2 IT-GT-SL meeting 27 January 2010
Client vs. Server tests • Not clearly separated in CVS right now. • Server tests could be run automatically after deploying a service with Yaimgen. • Client tests can be run with autotest.sh. IT-GT-SL meeting 27 January 2010
Getting addicted to automation... • What is left for a totally automated certification? • Testing bug fixes... no way • From Savannah information to vnode-ygen.sh and autotest.sh. [gpucciani@pcwww06 vnodeygen]# ./scli2vysa.sh -h Usage: ./scli2vysa.sh <patch number> [-h|--help]" IT-GT-SL meeting 27 January 2010
scli2vysa.sh script example >./scli2vysa.sh 3093 Using SCLIDIR: /home/gpucciani/scli/trunk Getting data for patch 3093 Summary is: [LCMAPS] pep-c client for x86_64 on SL5 Status is: In certification OS is: SL5 Arch is: x86_64 Affected metapackages is: glite-GLEXEC_wnglite-CREAM Patch(es) depending on this one: 3076 3394 Patch(es) on the same host: 3394 Patch(es) on different host: 3076 Machine 1: ./vnode-ygen.sh -i SL5-64-DH -r prod -n glite-GLEXEC_wn -p 3093 -p 3394 Machine 2: ./vnode-ygen.sh -i SL5-64-DH -r prod -n glite-CREAM -p 3093 -p 3394 IT-GT-SL meeting 27 January 2010
ETICS integration Is itnecessary? Are you sure? yes no no yes Doesit look feasible? Are you sure? yes no no yes Ok, I volunteer as guinea pig for investigating within the DM PT. IT-GT-SL meeting 27 January 2010
Questions? IT-GT-SL meeting 27 January 2010