gLite Deployment Tests (work in progress)

This page provides guidelines for running deployment tests for gLite components using ETICS. A deployment test is a test that verifies the correct installation of a gLite node-type metapackage through yum on a clean machine (ETICS WN). The installation procedure that is followed is as close as possible to the one that users should do: GenericInstallGuide310 or GenericInstallGuide320.

The process described has been tested with ARGUS, DM components (FTS/FTA, DPM, LFC) and client nodes (UI, WN and VOBOX) but it can be applied in the same way by other ProductTeams as well.

ETICS components

In order to run deployment tests using ETICS the project org.glite.testsuites has been used, and within this the subsystem deployment-tests. The subsystem hosts a component for each gLite node-type metapackage. Each of these components have several configurations:
  • deployment-tests.metapackage_prod is a configuration used to run deployment tests using the current production version. Attached to this configuration there are all the platforms for which this node-type is released on.
  • deployment-tests.metapackage_9999 is a configuration used as a template to automatically create deployment tests for SL5 patches
  • deployment-tests.metapackage_1111 is a configuration used as a template to automatically create deployment tests for SL4 patches

These configurations, once entirely tested, should be locked, if they are not, please inform me (Gianni.Pucciani@cernNOSPAMPLEASE.ch) before doing any change.

The scripts used for the init command of the test as well as other utility scripts are maintained here: https://svn.cern.ch/reps/deploym-tests

This ETICS structure is a prototype. The plan is to have the test commands integrated in the configurations used by developers.

How to run a deployment test

The are two ways to submit a remote deployment test:
  • Using ETICS (CLI or Web interface). Just create a configuration like the base one (_9999 for SL5 or _1111 for SL4) by using the 'clone' feature in ETICS. Modify the new configuration using the right patch number in place of '9999' or '1111'. Submit the remote test using the following options:
    • checkoutOptions: --config "configuration name" --forcecheckout --verbose --continueonerror
    • submitOptions: --config "configuration name" --verbose --target postpublish --continueonerror
    • requirements: runasroot;

  • Using the script test-deployment.sh as explained below.

Checking out the script:

svn co http://svnweb.cern.ch/guest/deploym-tests/trunk/ deployment-tests
or
svn co svn+ssh://<LOGIN>@svn.cern.ch/reps/deploym-tests/trunk deployment-tests

The usage is quite straightforward:

 > ./test-deployment.sh -h
Usage: ./test-deployment.sh <metapackage> <patch repo url> [-h|--help]
  <metapackage> A gLite metapackage name
  <patch repo url> A patch repository in ETICS. Use the value 'prod' to test the production version. 

This script allows to launch a deployment test in ETICS for a given metapackage and a given patch. The steps performed are:

  • create an ETICS workspace (if not existing)
  • download the template configuration (_1111 for SL4 and _9999 for SL5) (these configuration should exist) and create a new one substituting 1111 or 9999 with the patch number.
  • submit a remote test with the newly created configuration.

Requirements:

  • The user credentials must be correctly set in ~/.etics.conf.

The requirement '--urlname=patch number' has been removed, now the patch repository is explicitly passed to the test script.

The script will remove any existing configuration with the same name of the one just created (deployment-test.metapackage_patchnumber). Hence, if you want to save a configuration you need to explicitly lock it after running the test.

The other scripts present in SVN are:

  • test-deployment-all.sh: is a script used to call test-deployment.sh on several hardcoded configurations.
  • check-deployments.sh: is a script that can be used to check several submissions; you must give it as argument the output produced by the previous script.
  • install-*.sh: are scripts used for the test command in ETICS.

Known issues

  • If you get an empty test report this is probably due to a property in the configuration which is not well specified. This should not happen if you use the script, however if it does please let me know.
  • If you don't have ETICS rights please drop me an email: Gianni.Pucciani@cernNOSPAMPLEASE.ch

Current status

The current status shows the nodes for which a component in org.glite.testusites is already present and working for deployment test of the production version. At the moment, only Argus has been successfully tested with a "new style" patch.

Component SL5-64 SL4-32 SL4-64
UI OK OK -
WN OK OK jpackage issue
VOBOX OK OK -
FTS_oracle - OK -
FTA_oracle - OK -
SE_dpm_mysql OK OK -
SE_dpm_disk OK OK -
LFC_oracle OK OK -
LFC_mysql OK OK -
ARGUS OK (patch too) - -

-- GianniPucciani - 24-Feb-2010

Edit | Attach | Watch | Print version | History: r16 < r15 < r14 < r13 < r12 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r16 - 2010-03-31 - GianniPucciani
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback