As GridWay relies on Globus services, it is assumed that a Globus grid infrastructure has been installed and configured. You can perform the following tests to verify your Globus pre-WS installation, and to ensure that it will work with GridWay:
$ globusrun -a -r localhostYou should receive the message “GRAM Authentication test successful”.
$ globus-job-run localhost /bin/uname -a
You should see the output of the “/bin/uname -a” command.
$ globus-url-copy file:///etc/hosts gsiftp://localhost/tmp/hosts1 $ globus-url-copy gsiftp://localhost/tmp/hosts1 file:///tmp/hosts2
The contents of files /etc/hosts, /tmp/hosts1 and /tmp/hosts2 should be identical.
$ grid-info-search -x
You should see a lot of information in LDIF format.
Change localhost to the name of the host your want to test.
You can perform the following tests to verify your Globus WS installation, and to ensure that it will work with GridWay:
$ globusrun-ws -submit -F localhost -s -c /bin/uname -a
You should see the output of the “/bin/uname -a” command (along with other information about submission progress).
$ globus-url-copy file:///etc/hosts gsiftp://localhost/tmp/hosts1 $ globus-url-copy gsiftp://localhost/tmp/hosts1 file:///tmp/hosts2
The contents of files /etc/hosts, /tmp/hosts1 and /tmp/hosts2 should be identical.
$ wsrf-query -s https://localhost:8443/wsrf/services/DefaultIndexService
You should see a lot of information in XML format.
Note |
---|
XML documents from wsrf-query should not contain any DEBUG messages. SOAP Message Logging for the client tools has to be disabled in $GLOBUS_LOCATION/log4j.properties. |
Change localhost to the name of the host your want to test.
If a binary distribution of the Globus Toolkit is installed, you may be required to manually install globus_core (used to detect the compiler and platform settings of the computer that the Toolkit is installed on). The following command can be used to perform this operation:
$ $GLOBUS_LOCATION/sbin/gpt-build -nosrc <flavor>
More information about this procedure is available (here).
GridWay is distributed as a source package, required software to compile it:
GridWay has been run on the following platforms:
Problems have been reported on Fedora Core platforms when using 32 bit JSDK binaries on AMD64 architectures.
No known issues.
No known issues. Tested on Mac OS X 10.4 (Tiger).
No known issues.
GridWay should run smoothly on any linux based distribution and it is also likely to work on any unix based operating system, although it just have been tested in the aforementioned platforms.
You can install GridWay in two different ways:
Next sections describe in detail the installation process for these two cases.
In this scenario, GridWay is installed by each end-user in his client host.
Login as your user account and follow these steps:
$HOME
directorygw5
directory:$ tar xzf gw5.tgz $ cd gw5
$ source $GLOBUS_LOCATION/etc/globus-devel-env.shor
$ . $GLOBUS_LOCATION/etc/globus-devel-env.cshdepending on the shell you are using.
Table 1. Configure Options.
Option | Description |
---|---|
--prefix | Sets final GridWay installation dir. Defaults to /usr/local/gw. |
--with-flavor=flavor | The configure script will try to detect the flavor (eg. gcc32dbg) of the Globus toolkit installed in your system. However, if the configure script is not able to detect it, specify it with this option. |
--disable-drmaa | Don't build drmaa support. Default is enabled. |
--enable-drmaa-ruby | Build ruby drmaa support. Default is disabled. |
--enable-nordugrid | Build support for nordugrid. Default is disabled. |
--enable-ldap | Build ldap support. Default is disabled. |
--disable-prews | Don't build pre-web-services support. Default is enabled. |
--disable-ws | Don't build web-services support. Default is enabled. |
--enable-globus-scheme | Adds gridway subdirectories to etc and var. Default is disabled. |
--enable-jsdl | Does compile jsdl support. Default is enabled. Disabled for GT builds. |
--disable-gridftp | Does not compile gridftp mad. Default is enabled. |
--with-db=path_to_db | Specify the Berkeley Database path to build accounting support. |
--with-doc | Install GridWay documentation |
--with-tests | Install tests |
$GLOBUS_LOCATION
you can use the option --enable-globus-scheme
so GridWay specific var
, etc
and test
files are relocated to var/gridway
, etc/gridway
and test/gridway
respectively. This new directory scheme lets globus and GridWay share the same root directory without interfering each other.The next line will configure GridWay to include documentation and accounting $ ./configure --with-doc --with-db=/usr/local/db
$ make
$ make install
$GW_LOCATION/ | +--- bin/ executables | +--- etc/ gwd.conf and job_template.default configuration files | +--- share/ include examples and [Optionally] documentation | +--- include/ header files | +--- lib/ compiled libraries | +--- libexec/ wrapper and monitor scripts | +--- test/ test suite [Optional] | +--- var/ lock, port and log files | +--- xml_schema/ schema for xml output validation
In this scenario, the installation of GridWay is performed by the system manager and the users are able to submit, control and monitor their jobs from a front-end (GridWay server host) or from client hosts, which may not require a GridWay/Globus installation. This means that there is one GridWay installation for each organization that provides support for multiple intra-organization users.
Important |
---|
The instructions here described assumes that you are going to install GridWay in its own directory ($GW_LOCATION, e.g. “/usr/local/gw”). Also it is assumed that the installation, configuration and service execution will be performed by an special account (“gwadmin”).GridWay can be also installed within the Globus Toolkit tree. To do this you have to use the flag “–enable-globus-scheme” when calling configure script and set the prefix to “$GLOBUS_LOCATION”. In this case, the “gwadmin” user will be the user account that performed the Globus Toolkit installation.When you install it this way you also have to note that “$GW_LOCATION/var” and “$GW_LOCATION/etc” directories will be “$GLOBUS_LOCATION/var/gridway” and “$GLOBUS_LOCATION/etc/gridway”. |
Important |
---|
Note that GridWay daemon SHOULD NOT be run as root. Only part of the installation will require privileged access. |
Login as root account and follow the next steps:
# tar xzf gw5.tgz # chown -R <adminuser>:<gwgroup> <gwlocation> # chmod 755 <gwlocation>Become GridWay administrator user, and change to “gw5” directory:
# su gwadmin $ cd gw5
$ source $GLOBUS_LOCATION/etc/globus-devel-env.shor
$ . $GLOBUS_LOCATION/etc/globus-devel-env.cshdepending on the shell you are using.
$ make
$ make install
$GW_LOCATION/ | +--- bin/ executables | +--- etc/ gwd.conf and job_template.default configuration files | +--- share/ Include examples and [Optionally] documentation | +--- include/ header files | +--- lib/ compiled libraries | +--- libexec/ wrapper and monitor scripts | +--- test/ test suite [Optional] | +--- var/ lock, port and log files | +--- xml_schema/ schema for xml output validation
... # User alias specification Runas_Alias GW_USERS = %<gwgroup> # GridWay entries gwadmin ALL=(GW_USERS) NOPASSWD: /usr/local/gw/bin/gw_em_mad_prews * gwadmin ALL=(GW_USERS) NOPASSWD: /usr/local/gw/bin/gw_em_mad_ws * gwadmin ALL=(GW_USERS) NOPASSWD: /usr/local/gw/bin/gw_tm_mad_ftp * gwadmin ALL=(GW_USERS) NOPASSWD: /usr/local/gw/bin/gw_tm_mad_dummy *
Usually sudo clears all environment variables for security reasons. However MADs need the GW_LOCATION and GLOBUS_LOCATION (and GLOBUS_TCP_PORT_RANGE if existing) variables to be set. To preserve those variables in the MAD environment, add the following line to your “sudoers” file:
Defaults>GW_USERS env_keep="GW_LOCATION GLOBUS_LOCATION GLOBUS_TCP_PORT_RANGE"
The following line shouldn't be in the sudoers file, otherwise gridway could not use sudo as it will ask for a tty:
Defaults requiretty
Please refer to the sudo manual page for more information.Additionally you can configure your drivers environment by using the “gwrc” interface (see Section “MAD Environment Configuration”).To test the sudo command configuration try to execute a MAD as a user in the “<gwgroup>” group, for example:
$ sudo -u <gw_user> /usr/local/gw/bin/gw_em_mad_prewsFollowing previous steps, the end-users must login to the GridWay server host to be able to execute GridWay commands and use the DRMAA libraries.
Additionally, client hosts, that are not required to have GridWay/Globus installed, could be deployed to remotely interface to the GridWay server host. In such a case, user accounts and home directories must be shared between the GridWay server and the client hosts, via for example NIS and NFS; and “<gwlocation>” directory should be readable on all client hosts. The “<gwlocation>” directory may be available via for example NFS by exporting “<gwlocation>” from GridWay server, creating “<gwlocation>” directory in the client hosts, changing its ownership to “<adminuser>:<gwgroup>” and mounting the “<gwlocation>” directory exported by the GridWay server on the “<gwlocation>” of the client hosts.
Following those steps, a user logged in a client hosts is able to interface to the GridWay daemon in the GridWay server host. However, the grid-proxy-init globus command must be executed in the server host in order to create a proxy by, for example, executing
$ ssh <GridWay server> grid-proxy-init.