NorduGrid | ARC Relocation Instructions

# ARC Services Relocation Instructions

## General remarks

These instructions cover only the binary 'runtime external software' and middleware relocation. It is your task to figure out how to build the software if some of build dependencies are installed in an unusual location.

The info here is relevant only to binary packages downloaded from the NorduGrid download area. NorduGrid offers binary RPMs and binary tarballs. The latter are the gzipped tarballs created by stripping RPM information from RPMs.

NB: Installation by unpacking a binary tarball will normally result in the same installation tree as when installing from an RPM with `rpm -ivh ...` (without relocation), for all BUT one package: the Globus one. It relies on a post-install script which is executed during Globus RPM install but naturally can not be executed by simple tarball unpacking. This Globus post-install script has to be run manually if you install Globus from the tarball:

~> $GLOBUS_LOCATION/setup/globus-post-install-script $GLOBUS_LOCATION

Relocation can be done, when installing from an RPM, by doing

~> rpm -ivh --relocate <olddir>=<newdir>

or by simple unpacking and moving the directories to the desired new locations.

Relocating a package implies configuration changes: `nordugrid.conf`, `globus.conf` and `/etc/sysconfig/{nordugrid,globus}` files have to be modified accordingly, as they assume default locations!!!

Files `nordugrid.conf` and `globus.conf` can be relocated, as explained below. Note that `$RELOCATED_PREFIX/etc/nordugrid.conf` is checked before `/etc/nordugrid.conf`, if such exists. Also, you could define the variables `NORDUGRID_CONFIG` and `GLOBUS_CONFIG` to point to the actual configuration files.

What follows is package-by-package instructions on relocation.

## Quick summary

If you relocate packages or configuration files, you will have to adjust the following environment variables:

GPT_LOCATION=/new/gpt-path
GLOBUS_LOCATION=/new/globus-path
GRID_FUNCTIONS=/new/gridfunctions-path
GLOBUS_CONFIG=/new/etc-path/globus.conf
VOMS_LOCATION=/new/voms-path
NORDUGRID_LOCATION=/new/nordugrid-path
NORDUGRID_CONFIG=/new/etc-path/nordugrid.conf
LD_LIBRARY_PATH=$GLOBUS_LOCATION/lib:$HOME/voms/lib

In case you did a root installation and installed services startup scripts in `/etc/init.d`, the variables above must be set in the following two system configuration files:

In `/etc/sysconfig/globus`:

GPT_LOCATION=/new/gpt-path
GLOBUS_LOCATION=/new/globus-path
GRID_FUNCTIONS=/new/gridfunctions-path
GLOBUS_CONFIG=/new/etc-path/globus.conf

In `/etc/sysconfig/nordugrid`:

VOMS_LOCATION=/new/voms-path
NORDUGRID_LOCATION=/new/nordugrid-path
NORDUGRID_CONFIG=/new/etc-path/nordugrid.conf

In case you installed ARC locally, and aim to start the services manually, you do not need the `/etc/sysconfig/globus` and `/etc/sysconfig/nordugrid` files; just make sure that the environment variables listed above are set correctly

Also, certain modifications to `/etc/nordugrid.conf` and `/etc/globus.conf` must be applied (relocatable themselves, see next section). Details are described below.

## Configuration files

### nordugrid.conf

The default file is `/etc/nordugrid.conf`; it can be relocated, and an environment `variable NORDUGRID_CONFIG=/new/etc-path/nordugrid.conf` must be set in, e.g., `/etc/sysconfig/nordugrid`. Note that `$RELOCATED_PREFIX/etc/nordugrid.conf` is checked before `/etc/nordugrid.conf`, if such exists.

### globus.conf

The default file is `/etc/globus.conf`; it can be relocated, and an environment variable `GLOBUS_CONFIG=/new/etc-path/globus.conf` must be set in, e.g., `/etc/sysconfig/globus`.

### nordugridmap.conf

(only needed if you installed the `nordugrid-gridmap-utils` package)

Default is `/etc/grid-security/nordugridmap.conf`; it can be relocated, and the `cron.d` entry has to be edited manually (see bug #325)

### /etc/cron.d/nordugridmap.cron

(only needed if you installed the `nordugrid-gridmap-utils` package)

This file is formatted according to the format described in `crontab(5)`.

If `/opt/nordugrid` is relocated, this file should be modified accordingly.

### /etc/cron.d/grid-update-crls.cron

(only needed if you installed the `nordugrid-ca-utils` package)

This file is formatted according to the format described in `crontab(5)`.

If `/opt/nordugrid` is relocated, this file should be modified accordingly.

## External software (runtime dependency)

### GPT

GPT installs into two directories:

/opt/gpt
/etc/profile.d/

Both can be relocated. Relocating `/opt/gpt` requires the `GPT_LOCATION=/new/gpt-path` environment variable to be set, e.g., in `/etc/sysconfig/globus`. Relocation of the GPT profile files from `/etc/profile.d/` is transparent and needs no adjustments.

### Globus

Globus installs into a single diretory:

/opt/globus

which is relocatable. Moving Globus to a new directory requires the `GLOBUS_LOCATION=/new/globus-path` environment variable to be set in, e.g., `/etc/sysconfig/globus`.

### globus-config

Note: not needed for newer ARC tags

`globus-config` installs into three directories:

/opt/globus
/etc/profile.d/
/etc/rc.d/init.d/

ARC does not use anything from `/opt/globus`, hence it can be relocated anywhere or even completely removed. The profile files in `/etc/profile.d/` (relocatable) are not used by ARC either (the ARC profile files take care of the settings instead). The `/etc/rc.d/init.d/` is relocatable, ARC makes use of two files from that directory: `globus-mds` startup script and the `grid-functions` file. `GRID_FUNCTIONS=/new/gridfunctions-path` environment variable has to be set in, e.g., `/etc/sysconfig/globus`, if the `/etc/rc.d/init.d/` is relocated.

### VOMS

VOMS installs into a single root path `/opt/voms`, which is relocatable. Set the `VOMS_LOCATION=/new/voms-path environment` variable in, e.g., `/etc/sysconfig/nordugrid` if VOMS is relocated.

### libxml

`libxml` is a standard package of any Linux distribution, and does not need any special treatment in the ARC.

## ARC binary packages

### nordugrid-server

The server installs into two directories:

/etc/init.d/
/opt/nordugrid/

Relocating `/opt/nordugrid` requires the specification of `NORDUGRID_LOCATION=/new/nordugrid-path` in, e.g., `/etc/sysconfig/nordugrid`. Modify the `'pluginpath'` in the `[gridftpd]` block of `/etc/nordugrid.conf` as well (the default value is OK). The '`provider_path`' of the `[mds]` block in `/etc/globus.conf` needs to be checked too. Relocating the startup scripts from the `/etc/init.d/` requires the setting of `GRID_FUNCTIONS=/new/gridfunctions-path` in, e.g., `/etc/sysconfig/globus`. There is an open issue with the infoprovider scripts (`NORDUGRID_LOCATION` from the `/etc/sysconfig/nordugrid` is not propagated to them by the `globus-mds` script, bug #117), a workaround is to manually export the `NORDUGRID_LOCATION` before starting up the `globus-mds`.

### nordugrid-devel

The `devel` package installs under

/opt/nordugrid

Relocation requires the `NORDUGRID_LOCATION=/new/nordugrid-path` to be set in, e.g., `/etc/sysconfig/nordugrid`.

### nordugrid-client

The `client` files are installed under

/opt/nordugrid/
/etc/profile.d/

The `/opt/nordugrid` is relocatable, don't forget to set the `NORDUGRID_LOCATION=/new/nordugrid-path` in, e.g., `/etc/sysconfig/nordugrid`. The profile files from `/etc/profile.d` can be relocated as well.

### nordugrid-doc

Extra documentation is installed under

/opt/nordugrid/share/doc/

It can be transparently moved anywhere.

### nordugrid-ca-utils

Relocation of the CRL utilities from `/opt/nordugrid/` has some problems, see bug #323

### nordugrid-gridmap-utils

Relocation of the `nordugridmap` script (grid-mapfile generator) has some problems, see bug #325