XSEDE Globus Toolkit Client v6 Installation Guide

Background Information

Supported Platforms

The entirety of the configuration described in this document can be applied to any RPM based platform supported by the Globus Toolkit release 6.x. This includes CentOS, RedHat, and SLES11 platforms used by XSEDE resources.

Port Usage Overview

The various clients connect to their respective services on assorted destination points. While several services are installed (to disk) as part of the Client installation, and can be run on alternate ports using user certificates, such useage isn't explicitly supported, and need not be planned for in firewall policy.

Firewall configuration is discussed in the configuration section below.

Server control port

A GridFTP client connects to the server's control port, authenticates, provides credentials, and issues the file-transfer request. With 3rd party transfers the client connects to both the source and destination servers' control ports, authenticates, provides credentials, and tells the source server to transfer directly to the destination server.

Data channel listener

Used by the data movers for all data transfers. Connections are always initiated by the data source. Ports are selected from the ephemeral/dynamic port range configured using the GLOBUS_TCP_PORT_RANGE environment variable. By default Globus Toolkit Client v6 will use the lowest available port in that range.

Installing

Trusting the XSEDE Repo

The XSEDE Repository provides source and binary RPM packages for XSEDE platforms (RHEL, CentOS, and SLES). Some XSEDE packages (including the XSEDE distribution of Globus Toolkit Client v6) have dependencies on packages contained in the Globus repository. Thus, to install XSEDE distributed Globus Toolkit Client v6, you must first tell your machine to trust an XSEDE repository, and a Globus repository. This is done by installing the configuration rpm for Globus from http://toolkit.globus.org/ftppub/gt6/installers/repo/globus-toolkit-repo-latest.noarch.rpm and the appropriate configuration rpm from XSEDE from http://software.xsede.org/production/repo/repos/ Once you have gotten the appropriate configuration rpms from the links above, install them with

   # rpm -i XSEDE-Production-config..noarch.rpm
   # rpm -i globus-toolkit-repo-latest.noarch.rpm
or
   # zypper install ./XSEDE-Production-config..noarch.rpm
   # zypper install ./globus-toolkit-repo-latest.noarch.rpm

You should get a warning that looks like:

warning: XSEDE-Production-config.centos-5-1.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 20423dbb

This is a gpg trust bootstrapping issue because until you install the above RPMs, RPM doesn't know which gpg key(s) to trust. The above RPMs install the PGP keys that are needed, but one has to run these commands for RPM to formally recognize them:

   # rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-Globus
   # rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-XSEDE-Production

NOTE: If you need an SD&I Development version, you will need to configure your system to use the XSEDE-Development repository by following this procedure https://software.xsede.org/development/repo/repoconfig.txt

Installing Globus Toolkit Client v6 RPMs

On RedHat based platforms, the command to install the latest Globus Toolkit Client v6 server and client from the repository configured above is:

   # yum install --disablerepo=epel globus-client-xsede 

Note: If you do not have the EPEL repository configured on your system, you can leave off the "--disablerepo-epel"

On SLES platforms, the proper command to install the latest Globus Toolkit Client v6 server from the configured repository is:

   # zypper install globus-client-xsede

Updating Globus Toolkit Client v6 RPMs

If you have already installed the Globus Toolkit Client v6 metapackage, but wish to update to the most recent release, the command is exactly the same as to install--yum will prompt you with a list of packages that will be updated as a result, and ask you whether or not you wish to install them. Select "y" at the prompt.

Installing a second instance into an alternate (testing) location

Alternate location installs are described below in the Testing section

Installing on Solaris

There are no binaries provided for the Globus Toolkit version 6 for Solaris. You should install using the source installer as documented here

Configuring

When installed from RPMs, there is little configuration necessary for the client software to function. It is, however, necessary to place a registration file for purposes of information services registration.

Register Globus Client v6 availability on your resource by creating a globus-client-xsede-6.reg file in your login kit's software directory.

for example:

	$ cat << EOF > globus-client-xsede-6.reg
	Name = globus-client-xsede
	Version = 6.0
	Description = XSEDE Globus Client metapackage
	HandleType = module
	HandleKey = globus-client-xsede/6.0
	Default = yes
	EOF
	

Firewall Configuration

Clients distributed in the XSEDE Globus Clients metapackage may connect to arbitrary destination ports (for example, GridFTP servers pick ephemeral ports, usually but not always in the 50,000-51,000 range for data transfers). Thus, outbound connections shouldn't be restricted.

Operating

See Testing section for examples of client operation

Updating

How to update to the new/latest packages

To update to the latest packages from the globus repo, one can simply do a "yum update" as root, and the Globus Toolkit packages will report any updates in the same manner as any other software package on your system. Due to the explicit version numbers in the metapackage dependencies, it will be necessary to tell yum to allow it to override those dependencies for the update.

Testing

Simple tests to check that your Globus Toolkit Client v6 installation works

This quickstart will walk thru testing some example Globus Toolkit Client v6 commands. For a full set of commands to test, please see the Testing Plan.

Run the following commands:

$ grid-proxy-init
$ globus-url-copy gsiftp://<your_gridftp_server>/etc/group file:///tmp/`whoami`.$$
$ grid-proxy-destroy

Success looks like:

[testuser@xsedeResource] grid-proxy-init
Your identity: /DC=org/DC=doegrids/OU=People/CN=Xsede Testuser 332900
Enter GRID pass phrase for this identity:
Creating proxy ..................................... Done
Your proxy is valid until: Wed Oct 19 02:15:18 2005
[testuser@xsedeResource] globus-url-copy gsiftp://<your_gridftp_server>/etc/group file:///tmp/`whoami`.$$
[testuser@xsedeResource] diff /tmp/`whoami`.* /etc/group[testuser@xsedeResource] rm /tmp/testuser.892
[testuser@xsedeResource] grid-proxy-destroy

Installing to alternate locations

There are times when it may be necessary to run a second instance, alternate install of a different version of the Globus Toolkit Client, or times when it might be inconvenient to install from RPM (for example, shared network installations). To make this easy, we have created binary tarballs, created directly from the binaries contained in the Globus Toolkit v6 RPMs. They are available in the directory tree here:http://software.xsede.org/production/globus-client-xsede/globus-client-xsede-6.0-7/binary-tgz/ . Simply choose the appropriate tarball (the "el" directory is used for both CentOS and RedHat Enterprise Linux), and untar it in an appropriate location (such as /soft/local/globus_client_xsede-6.0-7/ ). To use such a binary installation, you will need to modify the Modules file to set some additional environment variables.

replace /path/to/installation/ with the actual path to your installation.:

Note: i386 architectures should use "lib" below, x86_64 should use "lib64"

$ cat << EOF > globus-client-xsede.module
#%Module1.0####################################################################

proc ModulesHelp { } {
global _module_name
puts stderr "The $_module_name modulefile defines the default system paths and"
puts stderr "environment variables needed to use the $_module_name libraries and
 tools."
puts stderr ""
}

set _module_name        [module-info name]
module-whatis "globus client xsede 6.0-7 " 
prepend-path         GLOBUS_LOCATION /path/to/installation
setenv          GLOBUS_HOSTNAME `/path/to/installation/usr/bin/globus-hostname`
setenv          GLOBUS_PATH     /path/to/installation
prepend-path    LD_LIBRARY_PATH        /path/to/installation/usr/[lib|lib64]
prepend-path    LIBPATH                /path/to/installation/usr/[lib|lib64]       
prepend-path    SHLIB_PATH             /path/to/installation/usr/[lib|lib64]
prepend-path    MANPATH                /path/to/installation/usr/share/man
prepend-path    PATH                   /path/to/installation/bin:/path/to/installation/usr/sbin     
setenv   GLOBUS_TCP_PORT_RANGE  50000,51000     
setenv  RSHCOMMAND             /usr/bin/ssh     
setenv  MYPROXY_SERVER         myproxy.xsede.org 
EOF

SD&I Testing Plan

The SD&I Testing Plan for Globus Toolkit Client v6 can be found here.

Registering in Information Services

Your new Globus Toolkit Client v6 deployment should be registered in your CTSS App Support capability kit, as documented in:

Debugging/Troubleshooting

For debugging information, please see the Globus Globus Toolkit Client v6 debugging documentation.

For troubleshooting information please see the Globus Globus Toolkit Client v6 Troubleshooting documentation.