GlueDomains

This is a preliminary prototype of the GlueDomains toolset. And this document is its preliminary README.

PURPOSE

The main purpose of the GlueDomains toolset is to represent the partitioning of a grid into a set of domains, give access to inter-domain observations of the behavior of the communication infrastructure, and manage the monitoring activity.

HISTORY

Newborn.

DOWNLOAD

The RPM packages that compose the toolset are available from the GlueDomains ftp site.

INSTALLATION

Check first whether the Perl system headers are available. In any case, it does not hurt to run:

cd /usr/include; h2ph -r -l .

The toolset is divided into a number of RPM packages, and addresses Linux systems. You do not need to have a RedHat-like distribution to run the toolset, although this may ease the resolution of software dependency problems. However, the toolset depends on quite common packages, that might already be installed by default.

This is the list of available packages, with their description:

You do not need to download/install all these modules: depending on the functionality of the node you want to configure, you may select those that are needed.

In the following we outline the installation instructions for the three types of nodes that compose the GlueDomains Architecture.

A quick installation script (download) should cover most situations. Download the script in a quiet place and run:

./install.sh function
where the function must be replaced by one of the following labels: server, mdstheodolite,infoprovider. The script downloads and install the required packages, but does not perform any configuration step. The following should clarify.

Remember that, in order to run a mdstheodolite you should have server running somewhere, and the infoprovider assumes the existence of a mdstheodolite.

Installing the GlueDomains server

You need to download and install (rpm -Uv) (the order is relevant):

  1. gluedomains-mds4gd
  2. gluedomains-server

or call ./install.sh server.

If you want to install an R-GMA server (which is currently not maintained), you need to replace the gluedomains-mds4gd package with the gluedomains-rgma package: please note that the two are conflicting, and cannot be installed together.

Otherwise you may be asked to install packets supporting the MySQL server.

If you install the MySQL server for the first time, you also need to setup a password for the MySQL root user:

mysqladmin -u root password secret

replacing secret with the new password.

Next you need to fill the configuration files in the /opt/GlueDomains/SQL-config directory. The relevant files are consumer.cnf,producer.cnf, and root.cnf: you need to complete them with the name of the GlueDomains server, and with the appropriate passwords. A template for these files is:

cat > SQL-config/producer.cnf
#### producer client
[client]
host=localhost
user=gdproducer
password=secret
You may have received a patch from the GlueDomains Administration that performs this step automatically.

Next you need to load the system layout description, that describes the topology of the Grid as well as the monitoring activity. The file that contains the layout description must be copied in

/opt/GlueDomains/SQL-config/layout
and the database must be installed with:
(cd /opt/GlueDomains/SQL-config; make install)

The server is now ready. If the Mysql daemon is not running, you should launch it now, since the GlueDomains Server depends on it.

Installing a theodolite

You need to download and install (rpm -Uv) (the order is relevant):

  1. gluedomains-mds4gd,
  2. gluedomains-lib,
  3. gluedomains-tools,
  4. gluedomains-theodolite;

or call ./install.sh mdstheodolite.

If you want to install and R-GMA theodolite (which is currently not maintained), you need to replace the gluedomains-mds4gd package with the gluedomains-rgma package: please note that the two are conflicting, and cannot be installed together.

Next you need to fill the configuration files in the /opt/GlueDomains/SQL-config directory. The relevant files are consumer.cnf and producer.cnf: you need to complete them with the name of the GlueDomains server, and with the appropriate passwords. A template for these files is:

cat > SQL-config/producer.cnf

#### producer client
[client]
host=gluedomainsserver
user=gdproducer
password=secret

You may have received a patch from the GlueDomains Administration that performs this step automatically.

You are ready to launch the theodolites:

( cd /opt/GlueDomains; ./gluedomains start )
that should output a few lines describing the theodolites the network interfaces and the attached theodolites.

If you want the theodolite to be started automatically at boot, you need to move the "gluedomains" script in the appropriate directory, and configure its execution as a system daemon.

Installing a MDS information provider

This functionality is located at the GRIS, and depends on it.

You need to download and install (rpm -Uv) only the package:

  1. gluedomains-mds4gd,
  2. gluedomains-infoprovider

or call ./install.sh infoprovider. Next you have to configure the GRIS in order to connect the infoprovider to the GRIS. The command that outputs the ldiffrom the info provider is the following:

(cd /opt/GlueDomains/; ./gdip-client theodolite)
where theodolite is replaced with the IP address of a theodolite. A GRIS configuration file may contain several such commands, one for each theodolite for which it publishes infos.

LICENSE

It is presently delivered under the Gnu Public License (see copyright file), waiting for an agreed license in the GLUE collaboration.

REQUIREMENTS

This is a tentative indication of required capabilities. RPM-based installations should rely on RPM dependencies.

INSTALLATION (Obsolete R-GMA documentation)

RGMA Installation (in italian)

  1. configurare secondo lcfg come "development testbed" (profilo Information Catalog);
  2. aggiungere gli RPM: rpm -Uvh /mnt/RedHat73/RedHat/RPMS/mysqlclient9-3.23.22-6.i386.rpm; rpm -Uvh /mnt/RedHat73/RedHat/RPMS/perl-DBI-1.21-1.i386.rpm; rpm -Uvh --nodeps /mnt/RedHat73/RedHat/RPMS/perl-DBD-MySQL-1.2219-6.i386.rpm;
  3. aggiungere l'rpm Iperf preferito (R-GMA o altro) versione 1.6.2
  4. la libreria libmysqlclient.so.10 va estratta dall'rpm mysql-3.23.49-3.i386.rpm (che non può essere installato perchè in conflitto con "MySQL";

GlueDomains Installation

Move to a quite place and unpack the two tarballs you downloaded (names).

Configuration

Run config.sh script, which is divided into an R-GMA part, and a GlueDomains part.

R-GMA part

To run this part you should be running as root, otherwise script execution aborts. You are guided trough the R-GMA configuration script from R-GMA development group (edg-rgma-config). Next the glue schema configuration (glue-schema-config) is executed (this requires also Mysql root password).

GlueDomains part

You are first asked to create Perl headers for Unix C libraries. It may take time, and you need to execute it only once.

Next you have to indicate whether your host is the GlueDomains server (there is just one). If not, you will be prompted for the name of the server. Otherwise the gluedomains server is configured, for which you are prompted for Mysql root password. As a final step, some variables are configured.

When finished with both parts, check the "gluedomains-setup" file: if the configuration is not satisfactory, refine it.

R-GMA and GlueDomains parts are independent, and can be executed independently as many times as needed.

OBSOLETE PART (do not read below)

Installation

The package contains several Perl modules and shell scripts, and need not be compiled.

The scripts in the SQL directory automatically create the needed databases and tables, assuming the server is at "localhost":

Another script "script-populate.sh" is available to fill the database with a sample grid. The grid supports two classes of communication (best effort and IP Premium), for each class the network is split into three domains. More detail about this in the "gluedomains.pdf" paper, that is still in progress.

There is no support for installation of the Perl libraries into system directories: in order to use them you should move into the installed directory.

USAGE

See the man page for details about the usage, and the gluedomains.pdf paper for a description adressing the concepts behind this implementation.

Although we make reference to the usage of the libraries in Perl programs, they can also be imported and used within most programming languages. The way to use them as such can be interpolated from the manual page.

A sample program (test1.pl) is included in the package. It can be used for testing the installation.

BUGS