GDMP InstallationGDMP
_____________________________________________________________________________________________________________________________________
1. Install globus 2.0Beta
2. Install GDMP ( suppose you install gdmp as user "gdmp_admin". don't user "root" to install GDMP)
check out GDMP from CVS
> cvs -d :pserver:anonymous@cdcvs.fnal.gov:/cvs/cd_read_only login
When prompted for a password, type
anoncvs
>cvs -d :pserver:anonymous@cdcvs.fnal.gov:/cvs/cd_read_only checkout -r <gdmp_version> gdmp
let say we use gdmp version gdmp_3_0_alpha2
3. Build GDMP (lets say checkout gdmp in /opt/gdmp/build/gdmp_3_0_alpha2 directory and globus 2.0b is installted in /opt/globus)
> cd /opt/gdmp/build/gdmp_3_0_alpha2/gdmp
> ./bootstrap
> setenv GLOBUS_LOCATION /opt/globus
> ./configure --prefix=/opt/gdmp/install/gdmp_3_0_alpha2
If you want to build GDMP with objectivity then
> ./configure
--prefix=/opt/gdmp/install/gdmp_3_0_alpha2 \
--with-objectivity=yes --with-objectivity-install=<objectivity_install_path>
> make
If you get error like libtool has a different version then do this
> rm libtool
> ln -s $GLOBUS_LOCATION/sbin/libtool-gcc32dbgpthr libtool
> make
You may get warnings like globus lib files <xyz> was moved. just ignore theose
> make install
After this you should have these executable in your /opt/gdmp/install/gdmp_3_0_alpha2/bin directory
/opt/gdmp/install/gdmp_3_0_alpha2/bin
gdmp_catalogue_cleanup
gdmp_get_catalogue
gdmp_ping
gdmp_register_local_file
gdmp_server
gdmp_filter_catalogue
gdmp_host_subscribe
gdmp_publish_catalogue
gdmp_replicate_get
gdmp_stage_complete
4. setup GDMP server ( you need user "root" to do this). add the following line in /etc/services
file gdmp-server 2000/tcp # GDMP Server
add the following line in /etc/inetd.conf
gdmp-server stream tcp nowait gdmp_admin /opt/gdmp/install/gdmp_3_0_alpha2/utils/gdmp_server_start
5. restart the inetd server
/etc/rc.d/init.d/inet restart
6. GDMP Configuration:
As GDMP uses the CERN
CA certificate, so you can either setup your globus to allow CERN CA certificates
or you can use your Globus CA issued host certificate as
GDMP server cert.
For setting globus to allow CERN CA do this Save the following files in
/etc/grid-security/certificates directory
http://home.fnal.gov/~muzaffar/gdmp/c35c1972.0
http://home.fnal.gov/~muzaffar/gdmp/c35c1972.crl_url
http://home.fnal.gov/~muzaffar/gdmp/c35c1972.signing_policy
OR If you want to use
a Globus CA issued cert/key (e.g. your host cert or any other cert/key
which was generated grid-cert-request with -nopw option) then just copy
both cert and key
files GDMP_CONFIG_DIR/gdmp_server.proxy
cat hostcert.pem hostkey.pem > GDMP_CONFIG_DIR/gdmp_server.proxy
Edit /opt/gdmp/install/gdmp_3_0_alpha2/etc/gdmp.conf file. GDMP will automatically set these parameters but if these are not correct then pls change
-
GDMP installation directory:
GDMP_INSTALL_DIR=/opt/gdmp/install/gdmp_3_0_alpha2
-
Port number on which local GDMP server is listening
GDMP_PORT_NUMBER=2000
-
Globus installation path
GLOBUS_LOCATION=/opt/globus
-
Objectivity install path
OBJECTIVITY_DIR=<objectivity_install_path>
-
GDMP configuration directory
GDMP_CONFIG_DIR=/opt/gdmp/install/gdmp_3_0_alpha2/etc
-
GDMP var directory path
GDMP_VAR_DIR=/opt/gdmp/install/gdmp_3_0_alpha2/var
-
GDMP tmp directory path, this should be writeable fr world (better change
it to /tmp)
GDMP_TMP_DIR=/opt/gdmp/install/gdmp_3_0_alpha2/tmp
-
GDMP grid-mapfile path. In this file put the globus certificate CN of all
the users who
are allowed to use this installation of GDMP. You can also create your
own grid-mapfile
in GDMP_CONFIG_DIR directory
GDMP_GRID_MAPFILE=/etc/grid-security/grid-mapfile
- Virtual organization (VO) name. Now single installation of GDMP can be shared by many users and many organizations. For each VO create an gdmp/etc/<vo> directory and put gdmp.conf and gdmp_server.proxy file in it. You can restrict users to only use GDMP for perticular VOs, e.g. if you want that a user "usera1" can only use gdmp for VO cms and atlas then create two different grid-mapfile, one in gdmp/etc/cms and one in gdmp/etc/atlas and put the user's CN in these grid-mapfiles and also change the value of GDMP_GRID_MAPFILE in these gdmp.conf
files to point to its own grid-mapfile.
GDMP_VIRTUAL_ORG=
- GDMP server proxy file path. Now you can use any valid globus certificate/key for GDMP server (as long as it was created with -nopw option i.e no password) or you can also use host certificate/key. You have to create a valid proxy file out of these certificate key pair. To create proxy file from your host certificate do this
cat /etc/grid-security/hostcert.pem /etc/grid-security/hostkey.pem > gdmp/etc/gdmp_server.proxy
(don't forget to save the old gdmp/etc/gdmp_server.proxy first)
permissions on ths file should be 600 i.e readable and writeable by gdmp_admin only.
GDMP_SERVER_PROXY=/opt/gdmp/install/gdmp_3_0_alpha2/etc/gdmp_server.proxy
- GDMP server name. If you have used host certificate then you can either leave it blank or change it to
host@<your_host_name>
GDMP_SERVICE_NAME=GDMP_Server
e.g you want two VOs (cms, atlas) to use single installation of GDMP on host gdmp.domain.com. then
- first create two directory
mkdir gdmp/etc/cms
mkdir gdmp/etc/atlas
- create two grid-mapfiles
gdmp/etc/cms/grid-mapfile
gdmp/etc/atlas/grid-mapfile
- if both VOs wants to use their own certificates then they can provide cert/key files and you can create a proxy file from those and put that in gdmp/etc/cms and gdmp/etc/atlas directories. Otherwise you can use the GDMP_Server proxy file.
-
you can create gdmp.conf files for both VO's to use different root directories
set the different parameters in these gdmp.conf files to point to correct
location e.g
change the
- GDMP_VIRTUAL_ORG=cms OR
GDMP_VIRTUAL_ORG=atlas
- GDMP_SERVICE_NAME=GDMP_Server
OR
GDMP_SERVICE_NAME=<provided by VO>
- GDMP_SERVER_PROXY=<gdmp/etc/cms/gdmp_server.proxy>
OR
GDMP_SERVER_PROXY=<gdmp/etc/atlas/gdmp_server.proxy> OR
GDMP_SERVER_PROXY=<gdmp/etc/gdmp_server.proxy>
- GDMP_CONFIG_DIR=<gdmp/etc/cms> OR
GDMP_CONFIG_DIR=<gdmp/etc/atlas> OR
GDMP_CONFIG_DIR=<gdmp/etc>
- GDMP_GRID_MAPFILE=<gdmp/etc/cms/grid-mapfile> OR
GDMP_GRID_MAPFILE=<gdmp/etc/atlas/grid-mapfile>
You have to set these parameters
Compulsory Parameters:
Set your host name
GDMP_LOCAL_HOST=<set_your_host_name>
e.g.
GDMP_LOCAL_HOST=shahzad.fnal.gov
Set your domain name
GDMP_LOCAL_DOMAIN=<set_your_domain_name>
e.g.
GDMP_LOCAL_DOMAIN=fnal.gov
Root
directory where your flatfiles are going to be stored
GDMP_FLATFILE_ROOT_DIR=<flatfile_root_dir>
If you want to use Replica Catalogue the set these parameters too
GDMP_REP_CAT_MANAGER_DN=<RC
manager DN>
GDMP_REP_CAT_MANAGER_PWD=<RC manager password>
GDMP_REP_CAT_FLATFILE_COLL_URL=<URL collection for flat files>
GDMP_REP_CAT_URL=<RC URL>
e.g
GDMP_REP_CAT_MANAGER_DN=cn=Manager, dc=shahzad, dc=fnal, dc=gov
GDMP_REP_CAT_MANAGER_PWD=xyz
GDMP_REP_CAT_FLATFILE_COLL_URL=ldap://shahzad.fnal.gov:2010/lc=FlatFile
Collection,rc=WP2 Test Replica Catalog, dc=shahzad, dc=fnal, dc=gov
GDMP_REP_CAT_URL=ldap://shahzad.fnal.gov:2010/rc=WP2 Test Replica Catalog,
dc=shahzad, dc=fnal, dc=gov
If
you build GDMP with Objectivity then
GDMP_OBJY_ROOT_DIR=<root
directory where your Objectivity DB files will be stored>
OO_FD_BOOT=<Objectivity Federation boot file path>
GDMP_REP_CAT_OBJECTIVITY_COLL_URL=<URL collection for objectivity files>
e.g
GDMP_REP_CAT_OBJECTIVITY_COLL_URL=ldap://shahzad.fnal.gov:2010/lc=OBJYFile
Collection,rc=WP2 Test Replica Catalog, dc=shahzad, dc=fnal, dc=gov
Optional
Parameters:
To support staging files from MSS system
GDMP_STAGE_FROM_MSS=
#Path of script used to stage a file from MSS. 2 args will be pass to this
script
#1) the relative_file_path
#2) the root_dir
#This script should copy the required file from MSS to root_dir/relative_path
#when file is staged successfully this script should run
#GDMP_INSTALL_DIR/bin/gdmp_stage_complete -f relative_file_path
#See GDMP Uer Guide, Chapter Mass Storage Support
GDMP_STAGE_TO_MSS=
#path of script used to migrate a file to MSS. 2 args will be passed to
this script
#1) the relative_file_path
#2) the root_dir
#This script should copy the required file from root_dir/relative_path
to MSS
If you want to give your files your own logical file names then provide this script
GDMP_FILE_CATALOG_SCRIPT=
#A script to get a listing of files in a perticular directory.
#This script will be executed with 2 args passed to it
#1) directory 'dir', for which the listing needed
#2) file name 'file', in which the listing should be stored
#This script should create a file in which each line should have the format
#filetype:unique_logical_file_name:full_file_path
#filetype = could be any filetype which is understandable by gdmp.
# One can use
"default"
#unique_logical_file_name = If one wants to assign his own LFN, then he/she
# can provide
these LFN in the 2nd feild. If "automatic" is set for
# LFN then
gdmp will create a unique file name for you. which will be
# For Flat
Files:
# GDMP_LOCAL_HOST_<file_full_path>,
where
# each "."
in <file_full_path> will be replaced to "_."
# each "_"
in <file_full_path> will be replaced to "__"
# each "/"
in <file_full_path> will be replaced to "."
# For Objectivity
Files:
# DBSysName.DBID
#full_file_path = full path for each files in the directory 'dir'
#If no value is set for this script then GDMP_INSTALL_DIR/utils/create_file_export_catalog
#will be used as default script which will create a listing of all files
in a 'dir' with
#filetype = default
#LFN = automatic
#ldap://shahzad.fnal.gov:2010/rc=WP2 Test Replica Catalog, dc=shahzad,
dc=fnal, dc=gov
File transfer notification script:
GDMP_NOTIFICATION_FOR_REPLICATE_GET=
#Name of the script which you want to run when a file is transfered by
other gdmp server from your side.
#This is a notification for your server that a file has been transfer by
a perticular gdmp server.
#let say when a file "file1" is transfered by a remote gdmp server "gdmpA"
then at the end of successfull
#transfer gdmp server "gdmpA" will send a notification message to your
server that file "file1" is
#successfully transfered. Your GDMP server then try to run this GDMP_NOTIFICATION_FOR_REPLICATE_GET
script
#with args
#GDMP_NOTIFICATION_FOR_REPLICATE_GET <file_name> <remote_gdmp_server>
# <file_name> = Name of file which is transfered by <remote_gdmp_server>
# <remote_gdmp_server> = Host name of remote server
#One can write this script to delete the local file from disk to make disk
space
File publish notification script:
GDMP_NOTIFICATION_FOR_PUBLISH_CATALOGUE=
#Name of the script which you want to run when files are published by any
gdmp host to your gdmp server
#This is a notification for your server that a some one has published files
for you.
#let say a gdmp remote server "gdmpA" has published some files to your
gdmp server then this script
#will be called for you. The Args to this script are
#GDMP_NOTIFICATION_FOR_PUBLISH_CATALOGUE <gdmp_host> <filetype> <import_catalog_path>
# <gdmp_host> = GDMP host which has published files
# <filetype> = Type of file which were published e.g objectivity or
flatfile
# <import_catalog_path> = Temp Import catalog path which has the list
of files which were published
#
It has only those files which are currently published.
#One can use this script to automatically start the file transfer
#e.g If a Production site's gdmp server GDMP1 is publishing files to GDMP
server GDMP2, and GDMP2 wants to
#transfer these files as soon as they published then a small perl script
will do this job for you
#wrote a script, let say replicate.pl and add these lines in it
##!/usr/local/bin/perl
##if GDMP_VIRTUAL_ORG is empty in GDMP_CONFIG_FILE then remoe the
##-s <GDMP_VIRTUAL_ORG>
#if("GDMP1" eq shift){
# 'gdmp/bin/gdmp_replicate_get -s <GDMP_VIRTUAL_ORG> -t shift
-c shift';
#}
#
#And set the GDMP_NOTIFICATION_FOR_PUBLISH_CATALOGUE in gdmp.conf file
to point to replicate.pl
Note: Don't enclose any value in "" in gdmp.conf file
7. GDMP Usage:
- Once your server
is running then you can run other gdmp commands to talk to different gdmp
servers
- You must have a
valid grid proxy ( to get one run grid-proxy-init )
- Your GDMP Server
CN should be available in /etc/grid-security/grid-mapfile of remote sites.
- set system environment
variable GDMP_CONFIG_FILE to point to the gdmp.conf file. If you want to
use gdmp for VO cms then set GDMP_CONFIG_FILE to gdmp/etc/cms/gdmp.conf
or if you want to use it for atlas then set GDMP_CONFIG_FILE to gdmp/etc/atlas/gdmp.conf
- Your globus certificate
CN must be properly added in the GDMP_GRID_MAPFILE file ( i.e either is
gdmp/etc/<vo>/grid-mapfile
or /etc/grid-security/grid-mapfile )
1)
gdmp_ping [-h] [-r <remote_host>] [-p <remote_port>] [-a]
-h = To print the help message
-r = Remote Host name ( if not used then GDMP_LOCAL_HOST is used)
-p = Remote port on which the remote gdmp host is listening
( if not used then GDMP_PORT_NUMBER will be used)
-a = Optional: If not provided then user will be checked for authentication
if provided
Ths will try to check that remote or local gdmp server is up and user is
allowed to use
it or not.
e.g if a user "user1" at gdmp server GDMPA wants to ping a gdmp server
GDMPB:2000 then
gdmp_ping -r GDMPB -p 2000
will check that either GDMPB:2000 is up and users is authenticated user
or not.
For proper authentcation, user's CN must be in local GDMP_GRID_MAPFILE
and
GDMP server's CN must be in the /etc/grid-security/grid-mapfile on remote
site.
gdmp_ping without any arguments will check the local gdmp server, user's
CN must be
in the local GDMP_GRID_MAPFILE
2)
gdmp_host_subscribe [-h] -r <remote_host> -p <remote_port> [-c]
-h = To print the help message
-r = Remote Host name
-p = Remote port on which the remote gdmp host is listening
-c = To check that either you are subscribed to reote host or not
This command will add your gdmp entry in the GDMP_INSTALL_DIR/etc/<vo>/host_list
file
of remote system. Now whenever remote site will publish any thing you will
also get a
notification. Remote site can also run the same command to subscribe their
host with
your gdmp server
3)
gdmp_get_catalogue [-h] -r <remote_host> -p <remote_port> [-t filetype]
To get list of published files from a remote site
-h , -p , -r are same as above
-t = optional argument. default value is "flatfile". One can also
provide "objectivity", if gdmp was build with Objectivity
This command is used to get all the files information of a perticular type
which
has been published by a remote host. If remote host has not yet publish
any thing
then you will not get any informaton. when ever a site publishes any thing,
it
will make that information persistence by storing it in an export catalog.
gdmp_get_catalogue tries to get the etc/export_catalog on the remote gdmp
server.
The new information will be added in GDMP_INSTALL_DIR/etc/<vo>/import_catalogue.
4)
gdmp_register_local_file [-h] [-t filetype] -p <pfn>|-d <directory>
-h and -t has the same meanimng as above.
-p = If you want to register a single file then -p should be the
file full path.
Only those files can be registered which are
for flatfile= exists in GDMP_FLATFILE_ROOT_DIR
for Objectivity = exists in GDMP_OBJY_ROOT_DIR
-d = only one of -p or -d can be provided. To register all files in a perticular directory.
-t = same type of file. default is flatfile.
This command is used to register all those files which one wants to publish.
Only
those files will be publish which are registered. After registering file,
you can
migrate files to MSS and delete them from the disk, but there should be
some script
GDMP_STAGE_FROM_MSS which can stage a file from MSS and put it in original
place on disk.
All registered files information is stored in GDMP_INSTALL_DIR/etc/<vo>/local_file_catalogue
5)
gdmp_publish_catalogue [-h] [-t filetype]
-h and -t has the same meaning as describe above.
This command will publish all those files of type "filetype" which are
newly
registered, i.e not already been published, to all the gdmp host which
had
subscribed to you ( i.e each uncommented entry in GDMP_INSTALL_DIR/etc/<vo>/host_list
file).
All files information, which have been published are stored in
GDMP_INSTALL_DIR/etc/<vo>/export_catalogue.
The sites which receive this notification of publishing will add this newly
published info in their GDMP_INSTALL_DIR/etc/<vo>/import_catalogue
6) gdmp_replicate_get [-h] [-t filetype] [-c import_catalog] [-i fileid] [-r remotehost] [-p remoetport]
-c = import catalog file path. default one is gdmp/etc/<vo>/import_catalogue
-i = File ID to transfer. This file must exists in the import_catalogue
you provided or in default import catalogue
-r = remote host from where this file should be obtained
-p = remote port on which the remote gdmp server is listening
-t = type of the file. default is flatfile other possible values
are "objectivity"
If no argument is provided then this command will try to transfer all flat
files
which are in GDMP_INSTALL_DIR/etc/<vo>/import_catalogue
gdmp_replicate_get -t objectivity
will try to transfer all objectivity files which are in GDMP_INSTALL_DIR/etc/<vo>/import_catalogue
7)
gdmp_catalog_cleanup [-h] [-c import_catalog] [-t filetype]
This command will be executed after running the gdmp_replicate_get. It
will delete
those entries from GDMP_INSTALL_DIR/etc/<vo>/import_catalogue which
were
successfully transfered. Here -t has default value "all", which mean delete
all
type of files info which has been transfered.
-t flatfile will only cleanup import_catalogue for flatfile
-t objectivity will only cleanup import_catalogue for objectivity
8) gdmp_stage_complete [-h] -f file_relative_path
-f = file relative path
This command will be called by the GDMP_STAGE_FROM_MSS when a file is staged
from MSS
to DISK. The GDMP_STAGE_FROM_MSS should pass the first argument passed
to the script
at the time of staging. e.g if one wants to stage a dir1/dir2/file, which
exists in
GDMP_FLATFILE_ROOT_DIR then the GDMP_STAGE_FROM_MSS will be executed by
gdmp as
> GDMP_STAGE_FROM_MSS dir1/dir2/file GDMP_FLATFILE_ROOT_DIR
when this script completes the staging then it should run the gdmp_stage_complete
as
> gdmp_stage_complete -f dir1/dir2/file
Example of GDMP Configuration for
Multiple User:
lets say we want to use
GDMP installation /opt/gdmp on shahzad.fnal.gov:2000 for two
VOs ( cms and atlas). There
are 4 users who wants to use these
usera => cms only
userb => atlas only
userc => for both i.e cms
and atlas
userd => no VO but default
area
we should have these files
/opt/gdmp/etc/gdmp.conf
( should atleast have )
GDMP_INSTALL_DIR=/opt/gdmp
GDMP_LOCAL_HOST=shahzad.fnal.gov
GDMP_LOCAL_DOMAIN=fnal.gov
GDMP_PORT_NUMBER=2000
GDMP_FLATFILE_ROOT_DIR=/data/flatfile
GDMP_SERVICE_NAME=GDMP_Server
GDMP_VIRTUAL_ORG=
GDMP_GRID_MAPFILE=/opt/gdmp/etc/grid-mapfile
/opt/gdmp/etc/grid-mapfile
"CN string of user userd"
"CN strings of remote gdmp servers which are allowed to talk to this gdmp
server"
/opt/gdmp/etc/gdmp_server.proxy
This could
be one which is provided with GDMP or you can replace it with your own
If you
use your own then modify the GDMP_SERVICE_NAME in /opt/gdmp/etc/gdmp.conf
/opt/gdmp/etc/cms/gdmp.conf ( should atleast have )
GDMP_INSTALL_DIR=/opt/gdmp
GDMP_LOCAL_HOST=shahzad.fnal.gov
GDMP_LOCAL_DOMAIN=fnal.gov
GDMP_PORT_NUMBER=2000
GDMP_FLATFILE_ROOT_DIR=/data/flatfile/<cmsfiles>
GDMP_SERVICE_NAME=GDMP_Server
GDMP_VIRTUAL_ORG=cms
GDMP_GRID_MAPFILE=/opt/gdmp/etc/cms/grid-mapfile
/opt/gdmp/etc/cms/grid-mapfile
"CN
string of user usera"
"CN string of user userc"
"CN strings of remote gdmp servers which are allowed to talk to this gdmp
server"
/opt/gdmp/etc/cms/gdmp_server.proxy
This could
be one which is provided with GDMP or you can replace it with your own
If you
use your own then modify the GDMP_SERVICE_NAME in /opt/gdmp/etc/cms/gdmp.conf
/opt/gdmp/etc/atlas/gdmp.conf ( should atleast have )
GDMP_INSTALL_DIR=/opt/gdmp
GDMP_LOCAL_HOST=shahzad.fnal.gov
GDMP_LOCAL_DOMAIN=fnal.gov
GDMP_PORT_NUMBER=2000
GDMP_FLATFILE_ROOT_DIR=/data/flatfile/<atlasfiles>
GDMP_SERVICE_NAME=GDMP_Server
GDMP_VIRTUAL_ORG=atlas
GDMP_GRID_MAPFILE=/opt/gdmp/etc/atlas/grid-mapfile
/opt/gdmp/etc/atlas/grid-mapfile
"CN
string of user userb"
"CN string of user userc"
"CN strings of remote gdmp servers which are allowed to connect to this
gdmp server"
/opt/gdmp/etc/atlas/gdmp_server.proxy
This could
be one which is provided with GDMP or you can replace it with your own
If you
use your own then modify the GDMP_SERVICE_NAME in /opt/gdmp/etc/cms/gdmp.conf
usera has to set the GDMP_CONFIG_FILE to /opt/gdmp/etc/cms/gdmp.conf
userb has to set the GDMP_CONFIG_FILE to /opt/gdmp/etc/atlas/gdmp.conf
userc has to set the GDMP_CONFIG_FILE
to /opt/gdmp/etc/atlas/gdmp.conf or
/opt/gdmp/etc/cms/gdmp.conf depending on the vo he/she wants to use
userd has to set the GDMP_CONFIG_FILE
to /opt/gdmp/etc/gdmp.conf
_______________________________________________________________________________________________________________
1. Get the gdmp heart beat tar file
http://home.fnal.gov/~muzaffar/gdmp/gdmp_hb_scripts.tar.gz
2. unzip it
> gunzip
-c gdmp_hb_scripts.tar.gz | tar xvf -
> cd
gdmp_hb_scripts
3. Install the scripts
You should have /usr/local/bin/perl
available, otherwise edit all
"*.pl" files and change
the first line according to your perl installation
> ./install-scripts.pl
4. Edit the gdmphb.conf file according
to your environment.
Read comments in gdmphb.conf for
more information. Normally you have to set these parameters
GDMP_CONFIG_FILE=<gdmp.conf
file path>
GDMP_HEART_BEAT_FILE=<a
tmp file path of size ~100MB to use for transfer>
UPDATE_REPLICA_CATALOG_FOR_PUBLISH=NO
UPDATE_REPLICA_CATALOG_FOR_REPLICATE=NO
FILTER_REPLICATE_HOST=<host
names for which you want to start the gdmp_replicate_get command>
MAIL_ADDRESS=<email
address at which you want to receive email about the grid-proxy expiration>
You only need to do
either setp (a) or (b)
a) If you want configure
your GDMP heart beat to publish tmp files only then you have to run
the gdmp_hb_publish.pl script only
> ./gdmp_hb_publish.pl ./gdmphb.conf >& log &
gdmp_hb_publish.pl
will make links
GDMP_FLATFILE_ROOT_DIR/GDMP_Heart_Beat_<GDMP_LOCAL_HOST>_<some_number>
=> GDMP_HEART_BEAT_FILE
register it in GDMP and then publish it ( all the hosts which were subscribed
to your GDMP server will get this publish information)
b) If you want to
configuare you GDMP heart beat to replicate the published files then you
have to edit the GDMP_CONFIG_FILE file too. Change the following parameters
in GDMP_CONFIG_FILE file
GDMP_STAGE_TO_MSS=<gdmp_hb_scripts
path>/gdmp_hb_deletereplica.pl
GDMP_NOTIFICATION_FOR_PUBLISH_CATALOGUE=<gdmp_hb_scripts path>/gdmp_hb_replicate.pl
GDMP will when receive some publish information from other GDMP hosts it
will runGDMP_NOTIFICATION_FOR_PUBLISH_CATALOGUE script which in our case
is gdmp_hb_replicate.pl. gdmp_hb_replicate.pl will checks that either
the publish files are on FILTER_REPLICATE_HOSTor not. If they were published
from FILTER_REPLICATE_HOST then it will strat the gdmp_replicate_get command
to replicate these files. At the end gdmp_replicate_get runs
GDMP_STAGE_TO_MSS
to migrate the files on MSS but as we have changed this value to gdmp_hb_deletereplica.pl,
so at the end the tmp file will be delete from the local disk.