XSEDE Globus Toolkit Client v6 Installation Guide

Last revised: 2020-10-1

Background Information

Supported Platforms

The following configuration can be applied to any RPM based platform supported by the Globus Toolkit v6, which includes the CentOS, RedHat, and SLES11 platforms used by XSEDE resources.

Removed Packages

Certain packages that have traditionally been part of the XSEDE Globus Toolkit Client metapackage are no longer included, as they are no longer maintained or available. This includes GRAM5 package, the gridmap-callout library, and globus-usage.

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 GSI OpenSSH) have dependencies on Globus Toolkit packages. Globus Toolkit packages can be found at two different locations: the XSEDE mirror of the GT6 packages that the Globus Project has released, and in the Extra Packages for Enterprise Linux (EPEL), where the community supported "Grid Community Toolkit" (GCT) packages are distributed.

Install the XSEDE Repository

Install the appropriate XSEDE platform repository using these instructions:

To install development repository packages replace "/production/" with "/development/" in the above URL.

Install a Repository for Globus/GCT Toolkit packages

To use Grid Community Toolkit supported packages

Install the appropriate configuration files to enable EPEL for your distribution. The specific instructions for doing so can be found here.

To use (no longer supported) Globus Toolkit packages

Install the appropriate Globus platform repository on your machine from:

Replace "el7" with your platform in the following example:

# yum-config-manager --add-repo https://software.xsede.org/gt6/stable/repo/globus-toolkit-6-stable-el7.repo
# rpm --import https://software.xsede.org/gt6/stable/repo/RPM-GPG-KEY-Globus

Installing Globus Client RPMs

On RedHat based platforms, the command to install the latest GSI OpenSSH server and client from the repository configured above is:

# yum install globus-client-xsede

Note: If you are using the Globus Toolkit (unsupported) packages, and also have the EPEL repository configured, you must use the following command to disambiguate which packages you will get:

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

On SLES platforms, the proper command to install the latest GSI OpenSSH 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.

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

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

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.