Installation

Compatibility

This IJP batch component will work with an ICAT version of 4.3 or greater.

Prerequisites

  • The ijp.unixbatch distribution: ijp.unixbatch-1.0.0-distro.zip
  • A suitable deployed container. The installation scripts only support Glassfish. Testing has been carried out with Glassfish 4.0. Glassfish installation instructions are available.
  • Python (version 2.4 to 2.7) installed on the server.
  • A database / schema that unixbatch will use to hold details of submitted jobs. The connection details should be specified in the dbProperties string in unixbatch-setup.properties (see later). Setup will create the tables required by unixbatch in this schema.

Summary of steps

  1. Please follow the generic installation instructions

The unixbatch-setup.properties file

driver
is the name of the jdbc driver and must match the jar file for your database that you stored in the previous step.
dbProperties
identifies the jobs database and how to connect to it.
glassfish
is the top level of the glassfish installation. It must contain "glassfish/domains", and will be referred to here as GLASSFISH_HOME as if an environment variable had been set.
port
is the administration port of the chosen glassfish domain which is typically 4848.

The unixbatch.properties file

icat.url
The URL of the ICAT that will be used by the IJP.
families.list
space separated list of families. There must be at least one. The first one will be used as the default family. A family defines a list of pool accounts. For each one there must be a families.<name> entry to define the list of pool accounts.
families.<name>
Space separated list of pool accounts. Each pool account should be set up without password or ssh keys as it is only for use by this service. The glassfish user should be permitted to run batch, atq, atrm and kill for all pool accounts. This can be done by commenting out "Defaults requiretty", if present, from the sudoers and adding something like: "glassfish ALL=(batch01,batch02,batch03,ingest01,ingest02) NOPASSWD: /usr/bin/batch, /usr/bin/atq, /usr/bin/atrm, /usr/bin/kill". In addition the glassfish user should be given "rwx" access to the home directory of each of the pool accounts.
jobOutputDir
The name of a directory to which glassfish can write and which can be read by the pool accounts. This is used to hold job output.

Checking that it works

The program ijpbatch can be used to test for correct functioning of any ijp batch component.