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