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 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

The ETICS structure just explained 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 number> [-h|--help]
  <metapackage> A gLite metapackage name
  <patch number> A patch number for which a valid repo file in ETICS is present.
                 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)
  • for patches: download a base configuration that we assume being deployment-tests.metapackage_9999 (this configuration should exist) or the production configuration, modify the base configuration and create a new one for the given patch.
  • submit a remote test with the chosen configuration on all the platforms available for the configuration (except the default one)

Requirements:

Whenever a deployment test is successfully run, a new configuration is created and it will need to be locked explicitly by the user who run the test to avoid to be deleted. This configuration will have the suffix _patchnumber.

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 | Raw edit | More topic actions...
Topic revision: r13 - 2010-03-12 - 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-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback