Installation¶
Though not required, installation an operation of XALT is easier with pre-requisite software: lua and lmod.
Lmod provides the spider utility which creates the map, but can be added later. A script is available to update table entreis with ReverseMap.
Lmod Installation¶
Get Lmod-5.8rc2 or greater from from sourceforge:
http://sourceforge.net/projects/lmod/files/
Or get Lmod-5.8rc2 or greater from:
git clone /Lmod.git
download Lmod-<ver>.tar.gz from github.zod
- Installation instructions and documentation for Lmod:
- http://lmod.readthedocs.org/
If machines had different architectures, then each machine needs a build of Lmod.
Installation Steps¶
In the documentation, we install everything to $XALT_DIR.
First, untar the XALT file, change the directory to XALT, configure, then install:
$ > cd xalt
$ > ./configure --prefix=$XALT_DIR --with-etcDir=$XALT_ETC_DIR
$ > make
$ > make install
Remove Job Launchers¶
Next, remove job launchers that are not supported on your system. Launchers currently on XALT include: aprun, ibrun, mpirun, mpiexec, srun.
For removing launchers on a Cray, which only supports ‘aprun’:
$> cd $XALT_DIR/bin
$> rm ibrun* mpirun mpiexec srun
For job launchers not part of XALT, you will ned to develop your own launcher which involves creating site/xalt_find_exec_xxxx.py. If you complete this step, please submit your launcher to the XALT team.
Manual Steps¶
To return the names/names of the hosts you want stored in the database you must modify the site/xalt_syshost_default.py file
We suggest one name for an entire machine, but you could go with a name for each compute node/partition.
Depending on your installation and batch schedulers, you may need to edit site/xalt_site_pkg.py.
XALT currently provides support for LSF, SGE, SLURM, and PBS hooks.
ReverseMap & Libmap¶
Build a file for ReverseMap and libmap.
ReverseMap associates libraries and object files with the modulefile that specifies them.
Libmap lists the library files (.a and .so) whose call to their function will be tracked by XALT.
The reverse map needs to be created or updated per machine every time a new modulefile or package is installed. So, it either has to become part of the software installation process, or run as a cron job on a routine basis.
ReverseMap and Libmap are stored in the same file.
On a cluster:
$ > $LMOD_DIR/lmod/lmod/libexec/spider -o jsonReverseMapT $MODULEPATH
$ > {XALT_ETC_DIR}/reverseMapD/jsonReverseMapT.json
It is important to use the same filename and directory “reverseMapD” as they are used by conventions in XALT.
On a Cray (XC, XE, XK), the process is a bit more involved, so a script has been provided under contrib/ directory in the XALT source distribution to make it easier. Use this script and run:
$> xalt/contrib/build_reverseMapT_cray/cray_build_rmapT.sh $XALT_ETC_DIR
Once the ReverseMap file is built, add libmap to is using as:
$> $XALT_DIR/sbin/xalt_rmap_lmap.py
Database Creation¶
Create the file to hold database credentials:
$> cd $XALT_ETC_DIR
$> python $XALT_DIR/sbin/conf_create.py #-- create xalt_db.conf
In this step, make sure that the credential you created have the necessary privileges to create tables, etc. If you want the database credential to be more restrictive,recreate the file to hold database credentials with the desired privilege account.
Create the database and tables for XALT (need to be run from $XALT_ETC_DIR):
$> cd $XALT_ETC_DIR
$> python $XALT_DIR/sbin/createDB.py