EGEE Home | Technical Pages Home | Search | EDMS Documents | People | Calendar | Agenda maker | Glossary

JRA1: Workload Management

Tools Testing Integration Information
Security Management

JRA1 Home | Workload Management Home | Mandate | People | Meetings | Presentations | Savannah Portal| Useful links | Actions list | EDMS

Blah configuration and installation


	The RPM package for BLAHPD can be downloaded from the official
	repository at 
	It has no dependencies on other components, so it can be installed on the
	target machine without any preliminary step.
	The structure of BLAHPD currently consist of a series of executables:

	- blahpd (main daemon)
	- BLClient
	- BPRserver
	- BPRclient
	- BLParserLSF
	- BLParserPBS
	- BDlogger

	and some batch system-specific bash scripts:


	All these file are automatically installed from the RPM in the classic
	/opt/glite/bin directory. BLAHPD properly said is composed by blahpd, 
	BPRserver, BPRclient, BDlogger and the bash scripts.
	BLParserLSF (for LFS), BLParserPBS (for PBS), represent the so called
	BLAH LogServer (or LogParser), whose aim is to get safer information
	about job submission and later about job status.
	BLClient is the client used by BLAHPD to query information from
	LogServer. Currently LogServer is not activated by default but it must
	be enabled and launched, as explained in full detail in paragraphs 4.0
	and 5.0.
	BDlogger is a small tool used by BLAH to write accounting information
	about submitted jobs in a log file located in a protected location.
	It must have the suid bit on, so at installation time a chmod +s command 
	must be given. 
	The log file location is specified in the BLAHPD_ACCOUNTING_INFO_LOG entry 
	in the blah configuration file /opt/glite/etc/blah.config . 

	As firts step the BLAHP RPM package must be downloaded and installed on 
	the CE. If the LogServer is going to be  be in enabled it may be necessary
	to download and install the package also on another machine.

        The BLAH LogServer ( BLParserPBS or BLParserLSF depending on the lrms
        installed on the  CE)  is a daemon  which retrieves information about
        jobs by parsing the log files created by the local batch system. The
        obtained information are made avalaible to blahpd and are more
        affordable than the ones obtained with batch-system specific commands.
        Current BLAHPD deployment doesn't enablet LogServer by default but it
        can be configured for this.

	If the BLAH LogServer is going to be enabled  it is necessary that it can 
	access the Local Batch System's log files: if these files are present on 
	the CE itself  there's no need to install BLAHP on other machines. 
	If not, it is STRONGLY ADVISED to install BLAHP RPM package on the same
	machine on which the Local Batch System writes its logs, also if these 
	files are accessible via nfs or afs from the CE. The reason is the need
	to limit data transfer through the network and the subsequent heavy decay
	of the performance of the LogServer.

	Step  by step installation procedure

	On the CE machine:

	- download BLAHP RPM from the official repository at
	- install package. Scripts and executables are installed in
          /opt/glite/bin directory
	- configure bash scripts (see paragraph 4.0).

	- set suid bit on for BDlogger giving command: chmod +s /opt/glite/bin/BDlogger

	- set log file protected location (some root permissions location) in BLAHPD_ACCOUNTING_INFO_LOG entry
	in /opt/glite/etc/blah.config configuration file

	If  BLAH LogServer must be enabled there are two more options:
	a) The Log files are on the CE, no other installation is
	needed  and the LogServer must be launched on the CE (see paragraph 3.0).
	b) The Log files are elsewhere than CE, further steps:
	On the machine with log files:
	        - download  BLAHP RPM package

	        - install package 	
		- Launch LogServer on this machine (see paragraph 3.0)

	The third option, in which the log files are not on the CE, are accessible
	via network and the LogServer is launched on the is STRONGLY DISCOURAGED!

3.0     BLAHPD and LogServer usage
	Blahpd usage:
	On CE:
	LogParser usage:
	1) For PBS:
	/opt/glite/bin/BLParserPBS [-p] <remote_port [DEFAULT_PORT]>
                                    -s <PBS_spooldir [spooldir]>

	where <remote_port> is the port on which LogServer is queried by BLAHP
	scripts through BLClient. It must be the same value as the one set in PBS
	scripts (see paragraph 4.0).
	PBS_spooldir is the directory under which there is the directory with PBS
	logfiles (/server_logs).
	The -p can be omitted before <remote_port>.

	Default values:
	DEFAULT_PORT    = 33332
	spooldir        = $PBS_SPOOL_DIR (/usr/spool/PBS)

	/opt/glite/bin/BLParserPBS -p 33335 -s /tmp/server_logs &

	2) For LSF:
	/opt/glite/bin/BLParserLSF [-p] <remote_port [DEFAULT_PORT]>
                            	    -b <LSF_binpath [LSF_BIN_PATH]>
                                    -c <LSF_confpath [LSF_CONF_PATH]>

	As for PBS <remote_port> is the port on which LogServer is queried by
	BLAHP scripts through BLClient. It must be the same value as the one
	set in LSF scripts (see paragraph 4.0).
	LSF_binpath is the directory in which lsf executables are stored and
	LSF_confpath is the directory in which the lsf configuration file
	lsf.conf is present.
	The -p can be omitted before <remote_port>.

	Default values
	LSF_binpath  = $LSF_BIN_PATH  (/usr/local/lsf/bin)
	LSF_confpath = $LSF_CONF_PATH (/etc)

	/opt/glite/bin/BLParserLSF -p 33335 -b /tmp/dummybindir
                           -c /tmp/dummyconfdir &

5.0	BLAH scripts configuration

	BLAH scripts  must be configured only on the CE in order to retrieve 
	information from LogServer. The configuration step just consist in setting
	the right values of some variables in some of the bash scripts, i.e., (PBS) and, (LSF).
	The variables to be set are:

	BLParser=""              # "yes" to enable use of logserver, empty string
        	                 # (default) to disable
	BLPserver=""    # logserver IP address
	BLPport=33332            # port on which contact logserver, currently
         	                 # 33332 for PBS and 33333 for LSF
				 # NOTE: must be the same value as <remote_port>

        Some env variables are configurable for the scripts:

        LSF_BIN_PATH is the directory in which lsf executables are stored
        (default /usr/local/lsf/bin)

        LSF_CONF_PATH is the directory in which the lsf configuration file lsf.conf is present
        (default /etc)


        PBS_SPOOL_DIR is the directory under which there is the directory with PBS logfiles
        (default /usr/spool/PBS)

        PBS_BIN_PATH is the directory in which pbs executables are stored
        (default /usr/pbs/bin)

       Disclaimer Contact   Last Modified: Monday, 22-May-2006 17:08:39 CEST