You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

1. Components to be installed

Fat-client setup

If we are using the fat-client set-up then following needs to be installed locally:

* UDA fat-client
* UDA plugins 

Thin-client setup

If we are using the thin-client set-up then only the UDA client needs to be installed – though a UDA server will need to be running somewhere accessible with the UDA plugins running on that server.


UDA vs UDA -plugins

The same plugins can be used for different UDA installs.

Current UDA does not dynamically search for plugins, i.e. it does not try and load every shared library in a directory. To load a plugin, it reads the plugin library name from a text file. “Registering” a plugin just means adding this plugin to that text file. (I plan to change this to remove the need for the text file at some point).

Only the plugin library name is in the text file though. To be able to load the plugin, the directory needs to be added to the LD_LIBRARY_PATH. Therefore, a module is needed.

2. UDA

2.1. Dependencies

DD & AL dependency

UDA is completely DD & AL independent.

A common uda server can be used for all IMAS versions to date and the IMAS backend calls this in fat mode.

Other dependencies:

module load cmake/3.5.2
module load itm-boost/1.78.0/gcc/4.8

2.2. Installation

Please check installation IMAS eco-system installation scripts:

https://gforge-next.eufus.eu/#/project/imasscripts/scm/browse/uda


See also Releasing new version of IMAS ecosystem


3. UDA Plugins

3.1. Dependencies

DD & AL dependency

UDA-plugins is IMAS LL dependent. There is no run-time dependency on the data-dictionary (only access layer), only on mapping files, that should be consistent with DD version. The inconsistency will not cause any runtime errors (crash etc) but the data retrieval will fail as the mappings do not yet comply with the latest DD updates. Procedurally, perhaps there should be a step to confirm DD compliance of the mappings at each release too.

The UDA plugin required for remote IMAS access (IMAS_REMOTE,  IMAS_PARTIAL, etc.) is currently compiled against the IMAS lowlevel library and so will need to be recompiled if the library .so version changes. It should be DD independent though. The other plugins (IMAS_MAPPING, EXP2IMAS, etc.) are DD & AL independent.

The plugins do depend on the server they are compiled against but the server is completely independent of IMAS. 


* Are UDA-plugins based on specific version of UDA? or any version of UDA can be loaded?

- Plugins should be independent of UDA version. There was a renaming of a variable in the server between 2.4.1 and 2.5.0 which has unfortunately meant plugins need to be tweaked to compile against the new version, but we try to avoid this.

 * Should module files be created manually?

- When you install UDA it should create a modulefiles directory.

In addition to the basic installation steps I believe a new module-file should be produced for the uda-plugins library produced in this process which should be named with the corresponding access layer version it’s valid for. I think Jonathan set something up to achieve this a couple of  years ago but I don’t know if it will be executed in the default build. scripts/cmake-itm-marconi.sh seems to install to /gw/swimas/extra/uda/plugins/1.2.0/AL/$AL_VERSION so maybe this already works out of the box

Other dependencies:

libssh/0.9.6/gcc/4.8

module load itm-boost/1.78.0/gcc/4.8
module load uda/2.5.0/gcc/7.3.0


3.2. Installation

  1. Cloning repository
    1. git clone ssh://git@git.iter.org/imas/uda-plugins.git
    2. cd uda-plugins
    3. git checkout tags/<tag numer>
  2. Building
    1. env UDA_INSTALL=/gw/swimas/extra/uda/plugins/1.2.0/AL/4.9.2/gcc/7.3.0 ./scripts/cmake-itm-marconi.sh
    2. make -C build

An additional command is required after building and installing the plugins which is to execute the script at build/scripts/activate_plugins.sh which will register the compiled plugins in a configuration file for the uda-server to be aware of


  • No labels