[gin-data] gridftp between sites
Gregor von Laszewski
gregor at mcs.anl.gov
Tue May 2 13:39:51 CDT 2006
Bill asked me to look into some programs that we developed in the past
as part to verify the functionality between gridFTP servers between
different sites.
One of the things we have is
a) a program that can test elementary gridftp functionality between a
client and a service. This helps the user to test if he has access to
the services from his preferred client. This was one of the most
requested features by users before each SC in the past.
b) this program can be run on a server and while using delegation you
can create a matrix between sites that report on the ability to conduct
a compatibility tests.
We ran a form of this program before SC04, SC05 to test interoperability
between the various versions of gridftp servers as well as various job
execution clients.
Some of the test have a history, this way you could see if this has
worked in the past. It is easy to publish the result to public_html. As
the output is all in HTML it can be easily browsed with a browser.
I suggest that we collect some relevant machine names and port numbers
in order to see if we can run it and to apply for accounts and place
certs at the relevant locations.
We are in the process of making screenshots and putting up a
documentation that is easier to find than the one that we have at
http://www.cogkit.org/viewcvs/viewcvs.cgi/src/cog/modules/testing/karajan/README.txt?rev=1.1&content-type=text/vnd.viewcvs-markup
Gregor
PS: A subset of information from our documentation may show you what you
can customize (please be aware that some text may :
Constant example value description
COLOR:FAILED "#ff4000" The background color of the
table
cell of a failed test
COLOR:PASSED "#ffffff" The background color of the
table
cell of a passed test
COLOR:TIMEOUT "#ffba00" The background color of the
table
cell of a timed-out test
OUTPUT_DIR "output" The local directory in
which the
output files are created
PUBLISH false Whether to publish the
output files
on a remote server after
the tests
are done. Copying happens
using
GridFTP.
PUBLISH_HOST "wiggum.mcs.anl.gov" If publishing is enabled,
the host
to which files are copied
PUBLISH_DIR "public_html/testing2" If publishing is enabled,
the remote
directory in which files
are copied
TEST_TIMEOUT 60*1000 The number of miliseconds
after which
a test is considered to
have timed-out
TEST_FILE "testfile" A file used in some of the
file operation
tests
TEST_FILE_DIR user.home The directory containing
the test file
MAX_HISTORY_SIZE 365 The maximum number of
samples stored in
the history. Older samples
may be
discarded in order to
enforce this
setting.
COG_DIR "{user.home}/cog-4_1_4" The path to a CoG binary
distribution.
This is needed for
indirect tests
(which use command line
tools rather
than library calls).
3. The hosts file
The hosts.k file contains a list of machines and corresponding services
on which the tests are run. The format of the file is a flat sequence of
task:host elements (our manual that we write will have more detail on
this). It is possible to specify multiple logical hosts for the same
physical host for the purpose of separating different versions of the
same services (like for example transferring files between the GT 4.0.1
and GT 4.0.2 GridFTP servers on the same machine).
4. Included tests and suites
a) Execution (job submission)
i) Direct - uses the task:execute call to submit jobs
ii) Indirect - uses the cog/bin/cog-job-submit tool for the submission
(effectively this would allow testing for GT2, GT3, GT4 submission).
b) File operations
i) Direct
A) Put - copies a file from the local host to the remote host
B) Get - copies the above file back from the remote host to the local
host
C) List - lists files in a directory on the remote host
D) Rename - renames a file on a remote host
E) Remove - removes a file on a remote host
F) Exists - tests the existence of a file
G) Make Dir - creates a directory
H) Is Dir - tests the isDirectory() implementation
I) Remove Dir - removes a directory
J) Bug - Runs a sequence of operations that used to cause a problem with
certain combinations of client/GridFTP server versions (a list
on a
nonexistant directory/file followed by a simple operation -
exists())
c) Transfer
Runs partial third-party transfers from /dev/urandom to /dev/null
of 1MB of data between all pairs of hosts and displays the total time in
a table. This test will only work properly with GridFTP servers. The
transfer time will be noted within a table between all involved hosts.
More information about the gin-data
mailing list