MDS Deployment and Configuration

Introduction

The Meta Directory Service (MDS) is a special problem for Grid deployment since it is designed to publish information that is unique to a particular machine, site, or grid. The deployment problem has changed with the adoption of the Grid Packaging Technology (GPT) as the deployment mechanism for the Globus Toolkit. This paper summarizes a discussion held with John McGee of ISI. This discussion focused on the final configuration solution and intermediate solutions that could be implemented now.

A description of the various configuration files for MDS can be found here. The configuration focuses on three areas:

GRIS Configuration
This configuraion has two parts. The first part defines what information providers are available. The second part defines which GIIS's need the information
GIIS Configuration
This configuration requires a list of GRIS's that are sending information and a schema defining how the ldif objects sent by the GRIS's should be organinzed.
SLAPD Backend Configuration
This configuration defines what backends are used by the slapd service.

Deployment Methods in a Package Environment

Using packages for deployment requires a change in deployment methods.

Deploying Information Providers

Each GRIS manages a set of information providers that are defined in the configuration file grid-info-resource-ldif.conf. Currently the MDS deploys a default set of information providers, but the design of MDS allows for other information providers to be added on a site or grid basis. To actually implement this though takes some thought.

The final solution

grid-info-resource-ldif.conf needs to go through two sets of converions. As illustrated by the following diagram

The information providers start with a set of template files that are deployed via packages with an overall GRIS configuration tool. The tool allows a user to select a set of information providers and then generates a setup package containing a grid-info-resource-ldif.conf.in file which defines the set. After this setup package is installed, a post install script is run to localize the file to the host. A similar solution would need to be provided for the file grid-info-resource.schema.

Interim Solution

In the meantime procedures for assembling a set of information providers and for defining a new information provider needs to be written. From this grid-centric GRIS setup packages can then be created.

Deploying GRIS to GIIS Registration Information

Both the GRIS and the GIIS need to be able to know who to talk to. This information is contained in the following files:
grid-info-resource-register.conf
Lists the GIIS servers to which this GRIS will register directly.
grid-info-site-policy.conf
Controls acceptance of incoming GRIS registrations
For a typical virtual organization the identity of the GIIS's are known beforehand. This information can thus be included in a GRIS setup package created by the organization. Unfortunately the identity of all of the GRIS's cannot always be known beforehand. The file grid-info-site-policy.conf is designed to accept regular expressions such as wildcards so that a set of GRIS's can be identified. Unfortunately these expressions are currently based on the DNS of the GRIS.

Final Solution

Add the list of GIIS's to the setup package created by the GRIS configuration tool. Change the format of the file grid-info-site-policy.conf so that the expressions are based on the GSI distinguished name. In this way GRIS's can be registered by the virtual organisation distinguished name.

Interim Solution

Virtual organizations need a tool that will manage the list of GRIS's in the grid-info-site-policy.conf file. Some perfomance measurements are also need to see what effect large GRIS lists will have.

Deploying SLAPD Backends

The slapd demon is designed so that backend can be added and removed without recompiling the demon. The file grid-info-slapd.conf is used by slapd to identify these backends. Ideally the backends should be deployed as separate packages. Unfortunately this is not possible because of the grid-info-slapd.conf which has to list all of the backends the slapd demon should load.

Final Solution

The slapd demon needs to be modified so that a separate configuration file for each backend is read. This is similar to what is done for the xinetd demon.

Interim Solution

Seperate sets of backends need to run there own slapd demon. For example the MDS backends are deployed seperately from the Network Weather Service backend. If both sets are deployed on the same host then two slapd demons need to run.
Michael Bletzinger
Last modified: Tue Mar 19 17:47:36 CST 2002