Skip to content
Snippets Groups Projects
Name Last commit Last update
enabled
idb
README.md

UNICORE Application Repository

This is a repository of common UNICORE IDB Applicaiton entries. You're invited to use it and contribute back to the main repository. The goal is to have a growing repository of UNICORE applications ready for re-use and leading to more consistent abstractions of applications across compute resources.

Usage

This repository can be used in two ways. Either as UNICORE system wide IDB entries managed by an administrator, or as user specific entries managed by users.

IDB entries from this repository can be enabled or disabled. Typically, a site would only have those applications enabled that are really available. Entries are enabled by creating symbolic links to them in the enabled directory.

$ cd enabled
$ ln -s ../idb/<name>::<version>.idb

Both ways of management are related to the XNJS.idbfile setting in the xnjs.xml or xnjs_legacy.xml files, depending on your setup. You can have multiple idbfile entries in these configuration files.

When using this repository for the management of applications, the UNICORE/X needs to be configured to use the enabled directory as the XNJS.idbfile. In that case, a mail idbfile needs to be defined to contain the resource definitions.

<eng:Property name="XNJS.idbfile" value="conf/unicore-idb/enabled/" />
<eng:Property name="XNJS.idbfile.main" value="conf/simpleidb" />

This repository can also be used to manage user specific applications.

<eng:Property name="XNJS.idbfile.ext.1" value="${HOME}/.unicore/idb/*.idb" />

This second example references a subdirectory of the user's home directory, expecting *.idb files containing IDB application entries for parsing. This way, users can define their own applications. You can easily make this path a symbolic link to the enabled directory within this repository and thus use it to manage your user defined applications.

When sharing users' home directories across various sytems, as may be the case in some compute centres, we recommend to setup UNICORE to look into machine specific directories. For instance, if the name of the resource is JURECA, then the user specific IDB entries for this machine may reside in ${HOME}/.unicore/idb/JURECA/*.idb.

Site Specifics

One of the key ideas behind these application abstractions is to allow for site specific configuration. With this goal in mind, the entries as provided can only serve as a starting point for your own configuration. In order to allow for you to keep track of your own changes as well as retrieve updates from the upstream repository, we recommend to start using the configuration from a site specific Git branch, e.g. by issuing

$ git checkout -b <SITE-NAME> master

when beginning your work. Updates from the upstream repository can then be merged carefully into your site specific branch. Additionally, you can keep track of multiple sites' configurations if this is a requirement for you.

$ git merge master

Future Work

We are planning to provide convenience scripts to make it even easier to manage, i.e. list, enable, and disable, the various applications and their versions.