FTS Test Plan

Service Description

FTS is the File Transfer Service for gLite. The service description and link to documentation can be found in GLiteFTS.

Features/Scenarios to be tested

Service availability test (implemented)

Test the availability of the host (ping) and its servers. The tomcat server must be listening (default port 8443). The ldap server for the resource BDII must return the correct output to a basic ldap query to describe the service.

Pass/Fail Criteria

The test should pass when the ping request is successful, the tomcat server is listening on the specified port and the ldap server is correctly answering the ldap request.

CLI tests

The following sections cover the functionalities provided through the command line interface available on a UI. The current list of commands shipped with glite-data-transfer-cli-3.4.5-1.slc4 is
/opt/glite/bin/glite-transfer-addvomanager
/opt/glite/bin/glite-transfer-cancel
/opt/glite/bin/glite-transfer-channel-add
/opt/glite/bin/glite-transfer-channel-addmanager
/opt/glite/bin/glite-transfer-channel-audit
/opt/glite/bin/glite-transfer-channel-drop
/opt/glite/bin/glite-transfer-channel-list
/opt/glite/bin/glite-transfer-channel-listmanagers
/opt/glite/bin/glite-transfer-channel-removemanager
/opt/glite/bin/glite-transfer-channel-set
/opt/glite/bin/glite-transfer-channel-setvolimit
/opt/glite/bin/glite-transfer-channel-setvoshare
/opt/glite/bin/glite-transfer-channel-signal
/opt/glite/bin/glite-transfer-discovery
/opt/glite/bin/glite-transfer-getroles
/opt/glite/bin/glite-transfer-list
/opt/glite/bin/glite-transfer-listvomanagers
/opt/glite/bin/glite-transfer-removevomanager
/opt/glite/bin/glite-transfer-service-info
/opt/glite/bin/glite-transfer-setpriority
/opt/glite/bin/glite-transfer-status
/opt/glite/bin/glite-transfer-submit
/opt/glite/bin/glite-transfer-submit-placement

Add Channels

Add a new channel using the CLI:
 glite-transfer-channel-add [-h] [-q] [-s SERVICE] [-V] [-v] [-b BANDWIDTH] [-c CONTACT] [-f FILES] [-S STATE]
                                          [-t THROUGHPUT] [-T STREAMS] CHANNEL SITE-A SITE-B

Normal workflow
Using the CLI glite-transfer-channel-add from an admin user the channel must be added in the FTS web service. The different options of the CLI should be tested.

Pass/Fail Criteria
The test passes when the CLI exit with code 0 and the channel is correctly added.

Erroneous workflow
  • Providing wrong arguments (type/number) the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing service the CLI should return a proper error message and a non zero exit code.
  • This CLI requires administrative privileges, it must fail and report a proper error message when called by a normal user.

Pass/Fail Criteria
The test passes when the CLI reports a proper error message and exits with a non zero code.

Add Channel Manager

Add a manager to a given channel using the command line:
 glite-transfer-channel-addmanager [-h] [-q] [-s SERVICE] [-V] [-v] CHANNEL PRINCIPAL

Normal workflow
Using the CLI glite-transfer-channel-addmanager from an admin user the channel must be added in the FTS web service. The different options of the CLI should be tested.

Pass/Fail Criteria
The test passes when the CLI exit with code 0 and the manager is correctly added.

Erroneous workflow
  • Providing wrong arguments (type/number) the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing service the CLI should return a proper error message and a non zero exit code.
  • This CLI requires administrative privileges, it must fail and report a proper error message when called by a normal user.
  • Adding an already existing manager the CLI should return a proper error message and a non zero exit code.

Pass/Fail Criteria
The test passes when the CLI reports a proper error message and exits with a non zero code.

Channel Audit

Display the audit log from available data transfer channels
 glite-transfer-channel-audit [-h] [-q] [-s SERVICE] [-V] [-v] [-r TYPE] [-m MAXEVENTS] CHANNEL...

Normal workflow
Using the CLI glite-transfer-channel-audit the history of the specified channel must be shown. The different options of the CLI should be tested.

Pass/Fail Criteria
The test passes when the CLI exit with code 0 and the channel history is correctly reported

Erroneous workflow
  • Providing wrong arguments (type/number) the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing service the CLI should return a proper error message and a non zero exit code.
  • Providing a non existing channel no information should be printed.

Pass/Fail Criteria
The test passes when the CLI reports a proper error message (when this is due) and exits with a non zero code.

Drop Channel

Delete an existing channel using the CLI:
 glite-transfer-channel-drop [-h] [-q] [-s SERVICE] [-V] [-v] CHANNEL...

Normal workflow
Using the CLI glite-transfer-channel-drop the channel must be deleted. The different options of the CLI should be tested.

Pass/Fail Criteria
The testes pass when the CLI exit with code 0 and the channel is correctly removed

Erroneous workflow
  • Providing wrong arguments (type/number) the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing service the CLI should return a proper error message and a non zero exit code.
  • Providing a non existing channel an error message should be printed and the CLI must exit a non zero code.
  • The CLI must work only with administrative right

Pass/Fail Criteria
The test passes when the CLI reports a proper error message and exits with a non zero code.

List Channels

List the available channels in the FTS server using the CLI:
 glite-transfer-channel-list [-h] [-q] [-s SERVICE] [-V] [-v] CHANNEL...

Normal workflow
Using the CLI glite-transfer-channel-list the channels deployed must be shown. The different options of the CLI should be tested.

Pass/Fail Criteria
The test passes when the CLI exit with code 0 and the channels are listed.

Erroneous workflow
  • Providing wrong arguments (type/number) the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing service the CLI should return a proper error message and a non zero exit code

Pass/Fail Criteria
The test passes when the CLI reports a proper error message and exits with a non zero code.

List channel managers

Lists all managers of the given channel.
 glite-transfer-channel-listmanagers [options] CHANNEL

Normal workflow
Providing an existing channel the command has to return either nothing (no managers for the channel) or the manager of the channel. The different options of the CLI should be tested.

Pass/Fail Criteria
The test pass when the CLI returns 0 and the nothing is shown for channels with no managers, and a manager is shown when that is present.

Erroneous workflow
  • Providing wrong arguments (type/number) the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing service the CLI should return a proper error message and a non zero exit code
  • Specifying a non existing channel the CLI should return a proper error message and a non zero exit code

Pass/Fail Criteria
The test passes when the CLI reports a proper error message and exits with a non zero code.

Remove channel managers

Removes a manager from a channel
 glite-transfer-channel-removemanager [options] CHANNEL PRINCIPAL

Normal workflow
As administrator, providing an existing channel and a principal string the CLI should return 0 and remove the principal as manager of the channel. The different options of the CLI should be tested.

Pass/Fail Criteria
The test passes when the CLI returns 0 and no error messages are displayed.

Erroneous workflow
  • Providing wrong arguments (type/number) the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing service the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing channel the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing channel manager the CLI should return a proper error message and a non zero exit code.
  • Using the CLI from a non admin account the CLI should return a proper error message and a non zero exit code.

Pass/Fail Criteria
The test passes when the CLI reports a proper error message and exits with a non zero code.

Setting a channel

Modifies a transfer channel.
 glite-transfer-channel-set [-h] [-q] [-s SERVICE] [-V] [-v] 
                                  [-b BANDWIDTH] [-c CONTACT] [-f FILES]
                                  [-S STATE] [-t THROUGHPUT]
                                  [-u TCPBUFFERSIZE] [-T STREAMS]
                                  [-m MESSAGE] CHANNEL...

Normal workflow
Using the CLI, as administrator, set different properties of a channel.

Pass/Fail Criteria
The CLI should return a 0 exit codes and no error messages.

Erroneous workflow
  • Providing wrong arguments (type/number) the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing service the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing channel the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing channel manager the CLI should return a proper error message and a non zero exit code.
  • Using the CLI from a non admin account the CLI should return a proper error message and a non zero exit code.

Pass/Fail Criteria
The test passes when the CLI reports a proper error message and exits with a non zero code.

Set VO limit

Set the transfer limit of a VO on a given channel.
 glite-transfer-channel-setvolimit [-h] [-q] [-s SERVICE] [-V] [-v]
                                         CHANNEL VONAME TRANSFER_LIMIT

Normal workflow
Using the CLI, as administrator, set the transfer limit on a channel for a given VO.

Pass/Fail Criteria
The CLI should return a 0 exit codes and no error messages.

Erroneous workflow
  • Providing wrong arguments (type/number) the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing service the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing channel the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing VO the CLI should return a proper error message and a non zero exit code.
  • Using the CLI from a non admin account the CLI should return a proper error message and a non zero exit code.

Pass/Fail Criteria
The test passes when the CLI reports a proper error message and exits with a non zero code.

Set the VO share (implemented?)

Sets the share of a VO on a given channel.
 glite-transfer-channel-setvoshare [-h] [-q] [-s SERVICE] [-V] [-v]
                                         CHANNEL VONAME SHARE_SIZE

Normal workflow
Using the CLI, as administrator, set the VO share on a channel for a given VO.

Pass/Fail Criteria
The CLI should return a 0 exit codes and no error messages.

Erroneous workflow
  • Providing wrong arguments (type/number) the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing service the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing channel the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing VO the CLI should return a proper error message and a non zero exit code.
  • Using the CLI from a non admin account the CLI should return a proper error message and a non zero exit code.

Pass/Fail Criteria
The test passes when the CLI reports a proper error message and exits with a non zero code.

Channel signal (not implemented)

Modifies the state of held jobs.
 glite-transfer-channel-signal [-h] [-q] [-s SERVICE] [-V] [-v]
                                     {-c CHANNEL | -j JOBID} STATE...

Normal workflow
Using the CLI, as administrator, change the status of a job to the three possible states Pending, Failed, Cancel.

Pass/Fail Criteria
The CLI should return a 0 exit codes and no error messages.

Erroneous workflow
  • Providing wrong arguments (type/number) the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing service the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing channel the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing job id the CLI should return a proper error message and a non zero exit code.
  • Using the CLI from a non admin account the CLI should return a proper error message and a non zero exit code

Pass/Fail Criteria
The test passes when the CLI reports a proper error message and exits with a non zero code.

Get roles

Returns the roles of the client on the service.

 glite-transfer-getroles [-h] [-q] [-s SERVICE] [-V] [-v] [--source SSITE]
                               [--dest DSITE] [-u OTHERDN]

Normal workflow
Using the CLI retrieves the role of a user with different credentials.

Pass/Fail Criteria
Using the credentials of an authorized user the CLI should mention that the user can submit jobs. Using the credentials of a non authorized user the CLI should mention that the user cannot submit jobs. The CLI should also show whether the user is manager of a VO or Channel. As administrator, retrieve the roles of another user.

Erroneous workflow
  • Providing wrong arguments (type/number) the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing service the CLI should return a proper error message and a non zero exit code.
  • Specifying a non supported VO the CLI should return a proper error message and a non zero exit code.

Pass/Fail Criteria
The test passes when the CLI reports a proper error message and exits with a non zero code.

List transfers

List ongoing data transfers.

 glite-transfer-list [-h] [-q] [-s SERVICE] [-V] [-v] [--source SSITE] [--dest DSITE] [-c CHANNEL] STATE
                           STATE...

Normal workflow
Submit a transfer and verify that the right state is reported. Acting on the channel state one can simulate different transfer states.

Pass/Fail Criteria
The test passes when the CLI reports the expected state.

Erroneous workflow
  • Providing wrong arguments (type/number) the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing service the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing Channel (and source/dest sites) the CLI should return a proper error message and a non zero exit code.

Pass/Fail Criteria
The test passes when the CLI reports a proper error message and exits with a non zero code.

Remove VO managers

Removes a manager from the given VO
 glite-transfer-removevomanager [-h] [-q] [-s SERVICE] [-V] [-v] [--source SSITE] [--dest DSITE] VONAME
                                      PRINCIPAL

Normal workflow
Use the CLI to remove a VO manager from a given VO.

Pass/Fail Criteria
The CLI should return a 0 exit code.

Erroneous workflow
  • Providing wrong arguments (type/number) the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing service the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing VO the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing PRINCIPAL the CLI should return a proper error message and a non zero exit code.

Pass/Fail Criteria
The test passes when the CLI reports a proper error message and exits with a non zero code.

Add VO manager

Adds a manager to the given VO
 glite-transfer-addvomanager [-h] [-q] [-s SERVICE] [-V] [-v] [--source SSITE] [--dest DSITE] VONAME
                                   PRINCIPAL

Normal workflow
Using the CLI as administrator, add a manager to an existing vo.

Pass/Fail Criteria
The test passes when the manager is added and the CLI returns 0.

Erroneous workflow
  • Providing wrong arguments (type/number) the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing service the CLI should return a proper error message and a non zero exit code.

Pass/Fail Criteria
The test passes when the CLI reports a proper error message and exits with a non zero code.

Cancel file transfer

Cancels a file transfer job
 glite-transfer-cancel [-h] [-q] [-s SERVICE] [-V] [-v] [--source SSITE] [--dest DSITE] JOBID...

Normal workflow
Using the CLi cancel a file transfer and verify the status is Cancel.

Pass/Fail Criteria
The test passes when the job is cancelled.

Erroneous workflow
  • Providing wrong arguments (type/number) the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing service the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing job id the CLI should return a proper error message and a non zero exit code.

Pass/Fail Criteria
The test passes when the CLI reports a proper error message and exits with a non zero code.

Service info

Print informations about the service.
 glite-transfer-service-info [-h ] [-V ] [-s SERVICE] [--version ] [--interface-version ]
                                   [--schema-version ] [--service-metadata=KEY ]

Normal workflow
Use the CLI to retrieve service information.

Pass/Fail Criteria
The CLI should return the value of the requested info and a 0 exit code.

Erroneous workflow
  • Providing wrong arguments (type/number) the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing service the CLI should return a proper error message and a non zero exit code.

Pass/Fail Criteria
The test passes when the CLI reports a proper error message and exits with a non zero code.

Set priority

Sets the priority of the given job.

  glite-transfer-setpriority [-h] [-q] [-s SERVICE] [-V] [-v] [--source SSITE] [--dest DSITE] ID PRIORITY

Normal workflow
Using the CLI set the priority of a running job.

Pass/Fail Criteria
The priority should be set and a 0 exit code returned.

Erroneous workflow
  • Providing wrong arguments (type/number) the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing service the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing JOBID the CLI should return a proper error message and a non zero exit code.

Pass/Fail Criteria
The test passes when the CLI reports a proper error message and exits with a non zero code.

Transfer status

Displays the status of a data transfer

 glite-transfer-status [-h] [-q] [-s SERVICE] [-V] [-v] [--source SSITE] [--dest DSITE] [-l] JOBID...

Normal workflow
Using the CLI retrieve the status of several Job, simulating different status.

Pass/Fail Criteria
The expected status should be returned with a 0 exit codes.

Erroneous workflow
  • Providing wrong arguments (type/number) the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing service the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing JOBID the CLI should return a proper error message and a non zero exit code.

Pass/Fail Criteria
The test passes when the CLI reports a proper error message and exits with a non zero code.

Transfer submit (partially implemented)

Submits a data transfer job.
 glite-transfer-submit [-h] [-q] [-s SERVICE] [-V] [-v] [--source SSITE] [--dest DSITE] [-b] [-g PARAM]
                             [-m SERVER] [-p PASSWORD] [-I DELEGATION_ID] [-t SPACE_TOKEN] [-e EXPIRATION_TIME]
                             [-i TIME] SOURCE-SURL DEST-SURL

 glite-transfer-submit [-h] [-q] [-s SERVICE] [-V] [-v] [--source SSITE] [--dest DSITE] [-b] [-g PARAM]
                             [-m SERVER] [-p PASSWORD] [-i TIME] -f FILE

Normal workflow
Using the CLI, submit a transfer job specifying a file or a source-dest pair. Try submissions with different available options, for example with and without delegating credentials.

Pass/Fail Criteria
The test passes when the job is successfully submitted and the CLI returns a 0 exit code.

Erroneous workflow
  • Providing wrong arguments (type/number) the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing service the CLI should return a proper error message and a non zero exit code.
  • Specifying a non existing file, source or dest URL, the CLI should return a proper error message and a non zero exit code.
  • Try different wrong options for the optional parameters.

Pass/Fail Criteria
The test passes when the CLI reports a proper error message and exits with a non zero code.

Space tokens management

Test transfer job submission using space token options. These feature applies only to SE with SRMv2.2. On DPM space reservation can be made using dpm-* commands, On dCache one has to use the dcache srm client ( _srm-* commands).

Normal workflow
https://twiki.cern.ch/twiki/bin/view/EGEE/FtsSpaceTokensHandling The tests has to be adapted to the used SEs. Scenarios to try:
  • A valid token description is used at the source and the destination SE, the destination space has enough place to store the file. The transfer has to succeed and the file has to be placed in the right space at the destinations site. This can be checked by looking at the unused space of the space reserved at the destination site.
  • A valid token description is used at the source SE, and two valid token descriptions (for spaces of 1KB and 2KB) are available at the destination SE. The transfer has to succeed and the file has to be placed in the space with the lowest space. This test can be repeated with 3 and/or 4 spaces at the destination site varying the unused space (by copying data into the space). The file has to be placed in to the space with the lowest unused space.

Erroneous workflow
  • An invalid token description is passed for the source: the transfer has to fail.
  • Valid token description at source, invalid token description at destination: the transfer has to fail.
  • Valid token description at source, one valid token description for the destination but with not enough space for the file: the transfer has to fail.
  • Valid token description at source, one valid token description at destination valid for more spaces, but none of them have enough space: the transfer has to fail.

SQL utility scripts (not implemented)

Scripts to manage the Oracle DB (create,drop, migrate the schema) are provided with the FTS package and need to be tested.

Transfer protocols

Two transfers protocols are supported, srmcopy and gridftp, and both need to be tested. This can be done deploying the test instance with two channels, one srmcopy and one urlcopy.

Roles management

  • The host certificate is by default a service manager
  • More TODO

Agents configuration

  • for each vo agent two files have to exist in /opt/glite/etc/glite-data-transfer-agents.d e.g: glite-transfer-vo-agent-DTEAM.log-properties glite-transfer-vo-agent-DTEAM.properties.xml
  • for each channel agent two files have to exist in /opt/glite/etc/glite-data-transfer-agents.d e.g: glite-transfer-channel-agent-srmcopy-CERN-FNAL.log-properties and glite-transfer-channel-agent-srmcopy-CERN-FNAL.properties.xml or glite-transfer-channel-agent-urlcopy-CERN-NDGF.log-properties and glite-transfer-channel-agent-urlcopy-CERN-NDGF.properties.xml.

Features not to be tested

'Feature Summary'

Description and explanation for not being included in the current test plan

-- GianniPucciani - 22 Apr 2009

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

    EGEE All webs login

This site is powered by the TWiki collaboration platform Powered by Perl This site is powered by the TWiki collaboration platformCopyright & by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Ask a support question or Send feedback