Globus Toolkit/5.1.3

From Globus

Contents

NOTE: THESE PAGES ARE OUTDATED!!

Since GT 5.2.0 has been announced, there pages are out dated and should no longer be used. GT 5.2 doc and download information can be found here: http://www.globus.org/toolkit/docs/5.2/

Globus Toolkit 5.2 Beta release

The Globus Toolkit Development Team has released a beta version of the Globus Toolkit 5.2 (as release version 5.1.3) to provide an opportunity for others to get a sense of how major changes that we have made in our build and distribution systems will affect them, and to get feedback on how we can improve this prior to the final GT 5.2 release.

This beta release consists of the GridFTP server and its dependencies, MyProxy and GSI-OpenSSH, and GRAM 5. Other GT components will be added in subsequent releases, or as new packages within the context of an existing release.

The 5.2 release is protocol and source compatible with Globus Toolkit 5.0.

Major Changes between 5.0 and 5.2

Major changes have been made to the Toolkit since 5.0.x

  • Native packaging for linux distributions based on RPM and Debian package managers
  • The concept of "flavors" of Globus libraries has been obsoleted
  • Elimination of the compile-time distinction between threaded and non-threaded builds. All libraries are built to be thread-safe, but most applications and services will run by default without threads. The GLOBUS_THREAD_MODEL environment variable can be used to select between "none" (nothreads) and "pthreads" event-handling model.
  • The toolkit has been reorganized to be compliant with the Filesystem Hierarchy Standard.
  • The environment variable GLOBUS_LOCATION is no longer required to be set at runtime (though it is still honored to allow non-native packages to be relocated).
  • Shared library versioning to allow different versions of libraries to coexist.
  • Simplified configuration: more default values for Globus service configurations (especially GRAM5), more admin tools for interacting with tools (GRAM gatekeeper, audit)
  • Cleaner separate of configuration file and implementation for GRAM LRM modules.
  • Elimination of GPT setup packages as a way to create default configuration files
  • Much simplified globus-simple-ca package for managing a CA, including tools for distributing RPM and debian packages containing CA certificate and policy files.
  • More user-installable documentation and man pages for tools and libraries
  • Many bug fixes

Changes between Alpha 3 and 5.2 Beta (5.1.3)

  • added backward compatibility for existing binary packages that link against GT5.0 libraries.
  • gatekeeper/jobmanager can work without functional gss_export_sec_context (so that Ubuntu 11.10 can build using source installer)

Additional Changes expected before final 5.2 release

  • Please tell us (by emailing gt-user@globus.org) which other packaging systems and specific platforms (e.g. Linux Mint, SuSE Linux Enterprise 11, MacOS X 10.6.x, etc.) for which you would like to see source and/or binary packages.
  • 5.2 specific documentation

What about Alpha 1, Alpha 2 and Alpha 3

All information about the first alpha release can be found here.

All information about the second alpha release can be found here.

All information about the third alpha release can be found here.

An early version of this beta release was given to VDT as 5.1.2.

Globus Toolkit 5.2 Beta

What's in the GT 5.2 Beta

The Globus Toolkit 5.1.3 release consists of a set of RPMs for several Linux distributions and a source installer which can be used on platforms that do not use RPM. We provide source and binary RPM packages for CentOS 5, Fedora 13, 14 and 15, RedHat 5, and Scientific Linux 5.5 and 6.1.

It also includes a set of .deb packages for several Debian and Ubuntu versions, including Debian 5.0 "lenny" and 6.0 "squeeze", and Ubuntu 10.10 and 11.4. These packages do not include GRAM 5, which is yet forthcoming.

The 5.1.3 release contains GRAM 5 (with the fork, PBS, SGE, and Condor LRM adapters), the GridFTP software stack, MyProxy and GSI-OpenSSH.

How can I get 5.1.3

The source installer can be found here. md5sum eeb73f3beeb0143b21c18037e9b88565 gt5.1.3-all-source-installer.tar.gz

The toplevel configure is identical to previous (5.0) source installers. You can specify a prefix with --prefix=<prefix>, a build flavor, if you desire, with --with-flavor=<flavor> (flavors are no longer encoded into library names, but are still used internally as a shorthand of the compiler options that are being used.) The configure script should pick a suitable default flavor if you do not provide one. Then, simply do a "make" on the target or targets you desire. There is a target for each provided package (that will ensure its dependencies are also made), and there are a few "bundle" targets: gridftp, globus-data-management-server, globus-data-management-client, and globus-data-management-sdk.

The RPMs can be found in the subdirectories under here.

The Debian packages (currently excluding GRAM) can be found in the subdirectories under here.

Installing GridFTP

Installing RPMs

The repo-config rpms for the various binary RPM repositories can be found here.

To install from binary RPMs, get the appropriate repo-config rpm from the link above, install it with

# rpm -i Globus-repo-config.<distro>.noarch.rpm

Install packages

# yum groupinstall globus-gridftp globus-gram5

or, if you would prefer to manually specify the top level packages,

# yum install globus-gridftp-server-progs globus-gass-copy-progs

The GridFTP server, GRAM5 Gatekeeper, and GRAM5 Scheduler Event Generator are not started by default. To enable them to start automatically when the machine is booted, do the following:

# chkconfig globus-gridftp-server on
# chkconfig globus-gatekeeper on
# chkconfig globus-scheduler-event-generator on

Installing Debs

The Debian packages for 5.1.3 are available, aside from GRAM 5 packages. The repository configuration debs for Debian and Ubuntu can be found here.

To install from binary .debs, get the appropriate globus-repository-<distro>.deb from the link above, install it with

$ dpkg -i globus-repository-<distro>_0.0.1_all.deb
$ apt-get update

Install packages

$ tasksel install globus-gridftp

or, if you would prefer to manually specify the top level packages,

$ apt-get install globus-gridftp-server-progs globus-gass-copy-progs

There is a known bug in the debian packaging of the libglobus-xio-gsi-driver0 package in the 5.1.1 release, where it does not contain the /usr/lib/libglobus_xio_gsi_driver.so symlink (it is in the dev package instead.) This symlink is necessary for the globus-gridftp-server to initialize. The workaround is to either

$ apt-get install libglobus-xio-gsi-driver-dev

which will install the symlink (along with a whole stack of development packages), or by simply creating the symlink with

$ ln -s /usr/lib/libglobus_xio_gsi_driver.so.0.1.2 /usr/lib/libglobus_xio_gsi_driver.so


To start the gridftp server at boot:

$ update-rc.d globus-gridftp-server defaults

Starting the Globus services

Start the Globus services with:

# service globus-gridftp-server start
# service globus-gatekeeper start
# service globus-scheduler-event-generator start

Obtaining host and user certificates is beyond the scope of this document. DOEGrids may be an option. You will require both host and user certificates to successfully complete the test cases below.

If you do not already have your user certificate mapped, you will need to create/edit your /etc/grid-security/grid-mapfile

$ sudo grid-mapfile-add-entry -dn "$(grid-cert-info -s -f ~username/.globus/usercert.pem)" -ln username

where username is the account name to which you want the certificate to be mapped.

If you wish to install the CA hashes for the CAs that are trusted by Globus Online, you can do so with this package here.. Untar it in some temporary location, cd globusonline-trust-roots, and run ./install-trust-roots

If you choose not to install this package, you will have to ensure that you put the proper hashes for the CAs that signed your certs into /etc/grid-security/certificates. An additional resource for common CA certificates can be found here.

Documentation on configuring Certificates,Trusted CAs, and gridmap files can be found here.

GridFTP 5 user documentation can be found on the Globus Toolkit website at here.

GridFTP 5 administration documentation can be found here.

Testing a 5.2 beta GridFTP server

This document will walk through testing GridFTP services. For additional setup options, see the 5.2.0 draft Quickstart guide here.

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:

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

Now try doing a client/server transfer (one of your URLs has file: in it):

$ grid-proxy-init
$ globus-url-copy -vb -dbg gsiftp://<your_gridftp_server>/dev/zero file:///dev/null

This will run until you control-c the transfer. If that works, reverse the direction:

$ globus-url-copy -vb -dbg file:///dev/zero gsiftp://<your_gridftp_server>/dev/null

Again, this will run until you control-c the transfer.

Try moving an actual file:

$ globus-url-copy gsiftp://<your_gridftp_server>/etc/group file:///tmp/quser.test.copy
$ diff /tmp/quser.test.copy /etc/group

Installing GRAM 5 server

on an RPM based system:

# yum groupinstall globus-resource-management-server

Decide whether you want the jobmanager to use polling, or the Scheduler Event Generator. Using the SEG is often more efficient than using a LRM adapter's poll method. Install one or more scheduler packages depending on what schedulers your system has.

# yum install globus-gram-job-manager-pbs-setup-seg
     (if you want to use polling, substitute -poll for -seg above)

or

# yum install globus-gram-job-manager-condor 

or

# yum install globus-gram-job-manager-sge-setup-seg
     (if you want to use polling, substitute -poll for -seg above)

For LRM-sepcific configuration, see /etc/globus/globus-$lrm.conf" The LRM-specific configuration files are commented with what config is available and how it works. For SGE, special config note: run qconf -mconf to edit configuration. Modify reporting_params line to have reporting=true and joblog=true instead of false.

Start the Scheduler Event Generator

run

# service start globus-scheduler-event-generator

Configure GRAM Audit capabilities

If you wish to use the GRAM Audit capabilities:

# yum install globus-gram-audit

by default it uses sqlite3 in /var/lib/globus/gram-audit-database

If you prefer to switch to a different audit db:

  • update /etc/globus/gram-audit.conf with the appropriate DBI driver name, username, password, database contact
  • then run globus-gram-audit --create to generate tables in the database.

The supported DBI drivers are: mysql, Pg, SQLite

Testing a 5.2 beta GRAM 5 jobmanager

Run GRAM5 Fork and local resource manager tests as shown below using your host, port, and resource manager name as appropriate.

  1. Get your credential
$ grid-proxy-init
  1. Test authentication and getting to the globus-gatekeeper
$ globusrun -a -r <host:port>/jobmanager-fork    
  1. test a fork LRM job
$ globusrun -o -r <host:port>/jobmanager-fork '&(executable="/bin/hostname" )' 
  1. Test a LRM job, for example jobmanager-pbs
$ globusrun -o -r <host:port>/jobmanager-<lrm> '&(executable="/bin/hostname")(jobType=single)(count="1")(maxtime=10)'  
  1. Test a LRM job, for example jobmanager-pbs and save the PBS script to the end users home directory usually in a file called gram_{globusjobid}.pl
$ globusrun -o -r <host:port>/jobmanager-<lrm> '&(executable="/bin/hostname")(jobType=single)(count="1")(maxtime=10)(save_job_description=yes)'  

GRAM5 Admin Guide can be found on the Globus Toolkit website at here.

GRAM 5 user documentation can be found on the Globus Toolkit website at here.

Installing MyProxy

on an RPM based system:

$ yum install 'myproxy*'
$ chkconfig myproxy-server on

on a debian based system

$ apt-get install 'myproxy*'
$ update-rc.d myproxy-server defaults

Modify /etc/sysconfig/myproxy-server to change the defaults for certificate, key, etc.

on an RPM based system:

$ service myproxy-server start

on a debian based system:

$ invoke-rc.d myproxy-server start

Installing GSI-OpenSSH

on an RPM based system:

$ yum install 'gsi_openssh*'
$ chkconfig gsisshd on

on a debian based system:

$ apt-get install 'gsi_openssh*'
$ update-rc.d gsisshd defaults

Modify /etc/gsisshd/sshd_config to change the defaults such as the port number.

on an RPM based system:

$ service gsisshd start

on a debian based system:

$ invoke-rc.d gsisshd start

Automated GT testing

We are using Atlassian's bamboo's continuous integration testing product to run tests on Amazon's EC2 for the GT supported platforms.

GT 5.1.2 tests are here: http://bamboo.globus.org/browse/GT512

RPM Platform testing summary

Fedora 13

  • GridFTP, MyProxy, XIO, GSI, CommonLib tests ran successfully.
  • GRAM
    • Fork: some known issues (Minor)
    • PBS: Not yet tested
    • SGE: Not yet tested
    • Condor: Not yet tested

Fedora 14

  • GridFTP, MyProxy, XIO, GSI, CommonLib tests ran successfully.
  • GRAM
    • Fork: some known issues (Minor)
    • PBS: some known issues (Minor)
    • SGE: Not yet tested
    • Condor: Not yet tested

Fedora 15

  • GridFTP, MyProxy, XIO, GSI, CommonLib tests ran successfully.
  • GRAM
    • Fork: some known issues (Minor)
    • PBS: some issues (blockers)
    • SGE: Not yet tested
    • Condor: Not yet tested

RHEL 5

  • GridFTP, MyProxy, XIO, GSI, CommonLib tests ran successfully.
  • GRAM
    • Fork: some known issues (Minor)
    • PBS: Not yet tested
    • SGE: Not yet tested
    • Condor: Not yet tested

Scientific Linux 5

  • GridFTP, MyProxy, XIO, GSI, CommonLib tests ran successfully.
  • GRAM
    • Fork: some known issues (Minor)
    • PBS: Not yet tested
    • SGE: Not yet tested
    • Condor: Not yet tested

Scientific Linux 6 (Build issue, no test run)

  • GridFTP, MyProxy, XIO, GSI, CommonLib:
  • GRAM
    • Fork:
    • PBS:
    • SGE:
    • Condor:

Debian Platform testing summary

Coming soon!

Debian 5.0 "Lenny"

Debian 6.0 "Squeeze"

Ubuntu 10.10 "Maverick Meerkat"

Ubuntu 11.04 "Natty Narwhal"

Acknowledgements

Many people have made valuable suggestions about how we might rework how the Globus Toolkit is built and distributed. Special acknowledgement should be given, however, to Mattias Ellert, who has, over the past few years, developed patches against GT4 and GT5.0 that have allowed parts to be distributed with several Linux distributions. His work has made the process of identifying and internalizing various changes much easier.

Personal tools
Execution Projects
Information projects
Distribution Projects
Documentation Projects
Deprecated