Globus Toolkit 5.0.4 released

20 May 2011 Leave a comment

Highlights of this release include:

  • Several bug fixes on GridFTP and a couple of extra options
  • Added RSL attributes and unique job manager log file names to GRAM5
  • Updated MyProxy to version 5.4
  • Updated gsissh to version 5.3

[Release notes] – [Software] – [Documentation] -[Support]

Categories: Grid, News

Globus Toolkit 5.0.3 released

02 Mar 2011 4 comments

Highlights of this release include:

  • GridFTP
    • Added new command: Data Channel Security Context (DCSC)
      • Useful for 3rd party transfers between GridFTP servers that use different CA certificates
    • Added gridftp server chrooting
      • Allows admin to limit the directories a gridftp server can access
    • Added command strings for ‘-disable-command-list’ option for gridftp server configuration
    • Added Progress markers for stream mode
  • Fixed a variety of bugs on GRAM5 related with PBS, Condor and Solaris
  • Updated MyProxy to version v5.3
  • Updated gsissh to version 5.2

[Release notes] – [Software] – [Documentation] -[Support]

Categories: Grid, News

Globus Online is Live!

20 Nov 2010 Leave a comment

The cloud-hosted, secure file transfer service, is now available for general use. Globus Online enables researchers and other end users to move and synchronize files reliably between multiple locations without configuring servers or installing complex software. Details are available here and here (from Ian Foster’s blog).

Categories: Grid, News

Build and install Globus Toolkit 4.0.x on Ubuntu 11.10

10 Oct 2010 Leave a comment

Ubuntu 10.04

Disclosure: this tutorial is intended for legacy applications which mandatory need the version 4.0.x of Globus Toolkit. If you don’t have an impelling reason to install that particular version, it is highly recommended that you install the latest version available of Globus Toolkit from its official web site and follow the installation guide of the official documentation.

  • (1) if you want to build Globus Toolkit download gt4.0.8-all-source-installer from:

http://www.globus.org/toolkit/downloads/4.0.8/

alternatively, if you want to save about one hour, you can use the prebuilt binary installer: you can find it in the right menu of this page. Either way proceed with the next step;

root@host:~#
apt-get update

apt-get install vim ant \
build-essential libpod-\* libxml-parser-perl postgresql odbc-postgresql \
libodbcinstq1c2 xinetd zlib1g-dev libiodbc2 libiodbc2-dev postgresql

ln -s /usr/lib/libodbc.so.1.0.0 /usr/lib/libodbc.so
  • (3) add the following lines to your /etc/profile
export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_31
export ANT_HOME=/usr/share/ant
export GLOBUS_LOCATION=/usr/local/globus-4.0.8
export GLOBUS_OPTIONS="-Xms256M -Xmx1024M"
source $GLOBUS_LOCATION/etc/globus-user-env.sh
export PATH=$ANT_HOME/bin:$JAVA_HOME/bin:$PATH:$GLOBUS_LOCATION/bin
  • (4) log out and back in;
  • (5) run:
root@host:~# service postgresql start
  • (6) open “/etc/postgresql/9.1/main/postgresql.conf”, uncomment the line beginning with “listen_addresses” and set it to listen to all addresses in the following way:
listen_addresses = '*'
  • (7) open “/etc/postgresql/9.1/main/pg_hba.conf” and add the following line at the bottom:
host rftDatabase "globus" "x.x.x.x" 255.255.255.255 md5

where “x.x.x.x” is your public IP address;

  • (8) add a user with “globus” as username;
  • (9) run:
root@host:~# service postgresql restart
  • (10) if you have downloaded the binary installer then extract it into /usr/local/ and run:
root@host:~# chown globus. -R /usr/local/globus-4.0.8/
globus@host:~$ $GLOBUS_LOCATION/sbin/gpt-postinstall

and jump to step (17); if you have downloaded the source installer then proceed with the next step;

  • (11) run:
root@host:~# 
mkdir /usr/local/globus-4.0.8/
chown globus. /usr/local/globus-4.0.8/
  • (12) extract the content of gt4.0.8-all-source-installer you have downloaded into globus’ home directory;
  • (13) log in as globus user or run from terminal “su – globus”;
  • (14) enter the directory where you extracted the content of gt4.0.8-all-source-installer and run:
globus@host:~$ 
./configure --prefix=/usr/local/globus-4.0.8/ --with-iodbc=/usr/lib
make | tee installer.log

this process may take a few hours, depending on your hardware configuration (about one hour on a Intel Core 2 Duo CPU T6500 at 2.10GHz);

  • (15) make a tarfile of /usr/local/globus-4.0.8/ so that you won’t have to rebuild it to install it on other machines; you can untar it on other machines and run $GLOBUS_LOCATION/sbin/gpt-postinstall
  • (16) run:
globus@host:~$ make install
  • (17) get the ”distribution package” (a tar.gz file) from your Certification Authority (CA). If you don’t have one you will need to set up a CA in one of your machine following these instructions. Once you have the distribution package copy it on all your server machines and run the following four commands:
root@host:~#
$GLOBUS_LOCATION/sbin/gpt-build your_ca.tar.gz
$GLOBUS_LOCATION/sbin/gpt-postinstall
$GLOBUS_LOCATION/setup/your_ca/setup-gsi
$GLOBUS_LOCATION/bin/grid-default-ca

All the grid nodes on which you want to be able to submit jobs must have installed the public key file (e.g. 0a298c77.0) and the policy file (e.g. 0a298c77.signing_policy) of the CA into the directory /etc/grid-security/certificates;

  • (18) run:
root@host:~#
cd /etc/grid-security/
cp hostcert.pem containercert.pem
cp hostkey.pem containerkey.pem
chown globus. container*
chown root. hostcert.pem hostkey.pem
chmod 644 containercert.pem hostcert.pem
chmod 400 containerkey.pem hostkey.pem
  • (19) still in the /etc/grid-security/ directory create a file named “grid-mapfile” and paste into it the users and hosts of your grid, like in the following example:
"/O=Grid/OU=Monty Python/CN=Graham Chapman" graham
"/O=Grid/OU=Monty Python/CN=John Cleese" john
"/O=Grid/OU=Monty Python/CN=Terry Gilliam" terry
"/O=Grid/OU=Monty Python/CN=Eric Idle" eric
"/O=Grid/OU=Monty Python/CN=Terry Jones" terry
"/O=Grid/OU=Monty Python/CN=Michael Palin" michael

"/O=Grid/CN=host/mercury.domain.com" globus
"/O=Grid/CN=host/venus.domain.com" globus
"/O=Grid/CN=host/earth.domain.com" globus
"/O=Grid/CN=host/mars.domain.com" globus

then run:

root@host:~# 
chown globus. /etc/grid-security/grid-mapfile
chmod 660 /etc/grid-security/grid-mapfile
grid-mapfile-check-consistency
  • (20) create the file /etc/xinetd.d/gridftp and paste into it the following code:
service gsiftp
{
instances       = 100
socket_type     = stream
wait            = no
user            = root
env             += GLOBUS_LOCATION=/usr/local/globus-4.0.8
env             += LD_LIBRARY_PATH=/usr/local/globus-4.0.8/lib
env             += GLOBUS_TCP_PORT_RANGE=50000,55000
server          = /usr/local/globus-4.0.8/sbin/globus-gridftp-server
server_args     = -i
log_on_success  += DURATION
nice            = 10
disable         = no
}
  • (21) run:
root@host:~# service xinetd restart
  • (22) now to configure RFT run:
root@host:~# su postgres -c "createuser -P globus"

enter the globus user password when prompted and then answer in the following way to the following questions:

Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) y
Shall the new role be allowed to create more new roles? (y/n) n
  • (23) run:
globus@host:~$
createdb rftDatabase
psql -d rftDatabase -f $GLOBUS_LOCATION/share/globus_wsrf_rft/rft_schema.sql
  • (24) open $GLOBUS_LOCATION/etc/globus_wsrf_rft/jndi-config.xml and look into the “dbConfiguration” section:  make sure the userName value is not “root” but “globus”, then change the content of “password” from “foo” to the password for the globus user you have previously set in postgres. Also ensure that “connectionString” contains the fully qualified domain name of your host (e.g. “jdbc:postgresql://your.host.full.domain.com/rftDatabase”).
    • (25) to check whether RFT is working, run:
    user@host:~$ vim /tmp/rft.xfr
    

    Copy and paste the following code, making sure to modify “container.hostname” with your container hostname or IP:

    true
    16000
    16000
    false
    1
    true
    1
    null
    null
    false
    10
    gsiftp://container.hostname:2811/etc/group
    gsiftp://container.hostname:2811/tmp/rftTest_Done.tmp

    then run:

    user@host:~$ rft -h container.hostname -f /tmp/rft.xfr
    

To check whether the transfer has been correctly performed run:

user@host:~$ diff /etc/group /tmp/rftTest_Done.tmp
  • (26) now to configure GRAM run:
globus@host:~$
vim /usr/local/globus-4.0.8/lib/perl/Globus/GRAM/ExtensionsHandler.pm

and remove the % character in front of $attributes at lines 161 and 174.

  • (27) to give the user globus the privileges to run tasks on behalf of another user run:
root@host:~# visudo

and paste at the bottom the following two lines:

globus  ALL=(username1,username2) NOPASSWD: \
/usr/local/globus-4.0.8/libexec/globus-gridmap-and-execute -g \
/etc/grid-security/grid-mapfile \
/usr/local/globus-4.0.8/libexec/globus-job-manager-script.pl *

globus  ALL=(username1,username2) NOPASSWD: \
/usr/local/globus-4.0.8/libexec/globus-gridmap-and-execute -g \
/etc/grid-security/grid-mapfile \
/usr/local/globus-4.0.8/libexec/globus-gram-local-proxy-tool *

where the user names “username1″ and “username2″ are to be substituted with a comma-separated list of usernames that you actually want the user “globus” to be able to sudo to (that is all the users of your grid). Also, make sure these two entries are each on a single line. If there are any line breaks within an entry then it won’t work;

    • (28) since all users must have read permissions on the grid-mapfile you need to add the “globus” group to each user by running:
root@host:~# adduser USERNAME globus

log out from the user interface and log back in;

  • (29) check that your /etc/hostname contains the fully qualified name of your machine (to change without a reboot run “sudo start hostname” after you have edited /etc/hostname);
  • (30) finally you can start the Globus container by running as globus user:
globus@host:~$ globus-start-container
  • (31) to check whether GRAM is working, run:
user@host:~$ globusrun-ws -submit -c /bin/true
Submitting job...Done.
Job ID: uuid:3304e3f2-55f2-11da-8b8f-00d0b7b7c0bc
Termination time: 11/16/2005 16:09 GMT
Current job state: Active
Current job state: CleanUp
Current job state: Done
Destroying job...Done.

user@host:~$ echo $? 
0

user@host:~$ globusrun-ws -submit -c /bin/false
Submitting job...Done.
Job ID: uuid:456b7c9a-55f2-11da-9b0d-00d0b7b7c0bc
Termination time: 11/16/2005 16:09 GMT
Current job state: Active
Current job state: CleanUp
Current job state: Done
Destroying job...Done.

user@host:~$ echo $? 
1
Categories: Grid, HowTos, Ubuntu

Globus Toolkit 5.0.2 released

19 Jul 2010 3 comments

Highlights of this release include:

  • GridFTP
    • Synchronization (globus-url-copy -sync) feature that transfers files only if they do not exist at the destination or differ from the source
    • An offline mode for the server
  • GRAM5
    • Improvements have been made to address all the known blocker issues for production deployment on TeraGrid and OSG
  • MyProxy
    • Updated to MyProxy v5.2

[Release notes] – [Software] – [Documentation] -[Support]

Categories: Grid, News

Globus Toolkit 5.0.1 released

02 Apr 2010 Leave a comment

Highlights of the 5.0.1 release include:

  • GridFTP
    • New globus-url-sync command for syncing individual files or directories
    • New server option to control the default permissions of created files
    • New server option to time out on slow or hanging filesystems
    • New server logging level to include transfer statistics
  • GRAM5
    • Improved reliability with Condor-G clients
    • Fixed a number of bugs and memory leaks
  • MyProxy
    • Updated to MyProxy v5.1
  • GSI-OpenSSH
    • Updated to GSI-OpenSSH v5.2
  • GSI
    • Added OpenSSL 1.0.0 Support

Also, a Windows installer for GT 5.0 is now available, and includes most standard Globus components like GSI and GridFTP.

Relevant 5.0.1 links:

[Release notes] – [Software] – [Documentation] -[Support]

Categories: Grid, News

Globus Toolkit 5.0.0 released

10 Feb 2010 Leave a comment

Most components of GT5 are incremental updates (numerous bug fixes and new features) over their GT4 counter-parts (e.g. GridFTP, RLS, MyProxy, GSI-OpenSSH). Some components of GT4 are not included in GT5 (e.g. GT4 Java Core, WS-GRAM4, RFT), to be replaced by new software under development (e.g. Crux, Globus.org Service) [...] GT4.x releases will continue to be maintained and supported at least through the end of 2010. New users should immediately adopt 5.0.0. Existing users are encouraged to begin evaluating and migrating to GT5.

via

From a message sent by Ian Foster in October 2009:

  • there have been long struggles and confusion over the GRAM2 vs. GRAM4 components. We have resolved these problems by re-investing in, fixing, and enhancing GRAM2. This new version, called GRAM5, is fully backward compatible with GRAM2 (with two minor exceptions: no support for MPICH-G/MPIG job rendezvous; and GRAM5 stages out stdout/err at the end of the job rather than streaming them out while the job runs), but solves its scalability issues and adds numerous frequently requested features. [...] We will continue to support GRAM4 at least through December 2010 (perhaps longer, depending upon demand and funding), but have begun to assist GRAM4 users in migrating to GRAM5. [...]
  •  

  • the Reliable File Transfer (RFT) service has been of considerable interest to many Globus users, but in practice has suffered from difficulties in both use and operation. We have decided to replace the RFT functionality with a new Globus.org service: an online hosted service (i.e., Software-as-a-Service), to provide higher-level, end-to-end Grid capabilities, targeted to end users, as well as Grid builders looking for more complete solutions to build upon. Initial functionality of Globus.org will focus on replacing and enhancing the RFT functionality of reliable, high-performance, fire-and-forget data transfer, but over time will grow to include more “collective layer” functionality (as described in the “Anatomy of the Grid” paper 1]). [...]
  •  

  • GT4 Java Core is based heavily on obsolete technology (Apache Axis 1.x) and standards (WSRF), yet nonetheless continues to provide tremendous value-add to Web Services-based Grid builders, particularly in the area of security and stateful resource management. With the urging of, and in partnership with, some of our large Java Core users such as the caGrid team at Ohio State University, we have begun the Globus Crux effort to update our Java Web Services stack to newer technologies (e.g., Apache CXF), while preserving and enhancing our core value-add security capabilities as a plug-in to CXF and allowing for WSRF protocol compatibility. [...]
  •  

  • While MDS is applicable to a broad range of monitoring and discovery tasks, in practice its predominant use has been to build service registries/catalogs for TeraGrid, caBIG, and BIRN, with limited adoption for systems monitoring in a few other communities. Since MDS4 is intimately intertwined with GT4 Java Core, it would require a substantial reimplementation effort to update it to Crux.  Meanwhile, the state of monitoring tools has evolved considerably since MDS4 was first conceived, with the widespread adoption of highly capable, open source monitoring tools such as Nagios. Therefore we have begun work on a more focused effort to design and implement next generation service registry capabilities using Crux, which we are calling our Integrated Information Services (IIS) effort.  This IIS effort is still in the requirements gathering phase, with no releases planned until sometime in 2010.  We recommend that monitoring needs be met using other tools such as Nagios.
  •  

  • Globus Toolkit version 5.2, targeted for Q1 2010, will focus on repackaging the GT5 components into independent component releases that leverage OS-native packaging approaches (e.g., RPM), with assistance from other groups (e.g., KnowARC) who have already blazed this trail. Subsequent GT releases in the remainder of 2010 will focus primarily on usability and reliability, along with features required by Globus.org. The repackaging effort will not impact backward compatibility with GT 5.0.  We expect GT 5.2 clients and services to be fully compatible with GT 5.0.
Categories: Grid, News
Follow

Get every new post delivered to your Inbox.