Add attribute SW_Repository::InstallationPathVariableName to define name of process environment variable and substitution parameter, pointing to the release installation. Such variables and parameters are automatically created by DAL algorithms for each software repository used by an application.
One of such variable is TDAQ_INST_PATH. There will be no need to define in the database or remember about it's value synchronization with sw repository installation path. It's value will be created by DAL fro each application from TDAQ release sw repository or for each application using TDAQ sw repository. Similar variable can be generated for detectors, e.g. to create TILE_INST_PATH variable one has to set InstallationPathVariableName = "TILE_INST_PATH" for sw repositoty object describing Tile release.
When non-TDAQ release is described in the config database and installation
path variable is required, an appropriate name of the variable has to be put
into sw repository object and the variable has to be removed from database, if
it was already defined.
The change affects dal schema, dal library and dal_create_sw_repository
application. The latter one introduces new parameter to specify name of the
generated variable, that is already used by the DAQRelease package.
There is a proposal to improve IGUI configuration, which will be used in next tdaq-01-08 release. The functionality described in this section already has been implemented in the dal package and users are welcome for suggestions on it's improvements.
Different detectors and TDAQ sub-systems develop own plug-ins for IGUI.
Before a new run, where different detectors and systems are participating, one
has to modify manually IGUI start script and to define which plug-ins and jar
files need to be used for next run. The improvement suggestion is to put
information about plug-ins and jars into Configuration database and to setup
IGUI transparently for users taking into account which systems and detectors are
participation in the run.
The original proposal is the following:
The new attribute is filled by the dal_create_sw_repository utility, when a user puts into cmt requirements file the following macro:
macro sw.repository.igui-properties.a_name: "a_value"Above a_name is any logical non-empty name you like and a_value will be added to the value of corresponding SW_Repository::IGUIProperties attribute. For example:
macro sw.repository.igui-properties.logfile: "-Digui.logfile=${TDAQ_LOGS_PATH}/igui.out"If one needs to fill SW_Repository::IGUIProperties attribute for a detector or a sub-system, this has to be done manually using oks data editor or by some script.
There is a new binary called dal_get_igui_setup. It reads the configuration description for given partition, finds all used sw repositories, builds space-separated list of IGUI properties and colon-separated list of jar files and set these two lists to some environment variables using sh or csh syntax as shown below:
bash$ dal_get_igui_setup -d oksconfig:daq/partitions/be_test.data.xml -p be_test -s sh
export __IGUI_PROPERTIES__="-Digui.logfile=/tmp/test_logs/be_test/igui.out"
export __IGUI_CLASSPATH__="/afs/cern.ch/atlas/project/tdaq/cmt/nightly/installed/share/lib/ClipsServer.jar:
/afs/cern.ch/atlas/project/tdaq/cmt/nightly/installed/share/lib/DFdal.jar:
/afs/cern.ch/atlas/project/tdaq/cmt/nightly/installed/share/lib/config.jar:
/afs/cern.ch/atlas/project/tdaq/cmt/nightly/installed/share/lib/dal.jar:
/afs/cern.ch/atlas/project/tdaq/cmt/nightly/installed/share/lib/igui.jar:
/afs/cern.ch/atlas/project/tdaq/cmt/nightly/installed/share/lib/mrs.jar:
/afs/cern.ch/atlas/project/tdaq/cmt/nightly/installed/share/lib/oksconfig.jar:
/afs/cern.ch/atlas/project/tdaq/cmt/nightly/installed/share/lib/pmg.jar:
/afs/cern.ch/atlas/project/tdaq/cmt/nightly/installed/share/lib/rdbconfig.jar:
/afs/cern.ch/atlas/project/tdaq/cmt/nightly/installed/share/lib/rm.jar"
tcsh$ dal_get_igui_setup -d rdbconfig:RDB -p be_test -s csh
setenv __IGUI_PROPERTIES__ "-Digui.logfile=/tmp/test_logs/be_test/igui.out"
setenv __IGUI_CLASSPATH__ "/afs/cern.ch/atlas/project/tdaq/cmt/nightly/installed/share/lib/ClipsServer.jar:
/afs/cern.ch/atlas/project/tdaq/cmt/nightly/installed/share/lib/DFdal.jar:
/afs/cern.ch/atlas/project/tdaq/cmt/nightly/installed/share/lib/config.jar:
/afs/cern.ch/atlas/project/tdaq/cmt/nightly/installed/share/lib/dal.jar:
/afs/cern.ch/atlas/project/tdaq/cmt/nightly/installed/share/lib/igui.jar:
/afs/cern.ch/atlas/project/tdaq/cmt/nightly/installed/share/lib/mrs.jar:
/afs/cern.ch/atlas/project/tdaq/cmt/nightly/installed/share/lib/oksconfig.jar:
/afs/cern.ch/atlas/project/tdaq/cmt/nightly/installed/share/lib/pmg.jar:
/afs/cern.ch/atlas/project/tdaq/cmt/nightly/installed/share/lib/rdbconfig.jar:
/afs/cern.ch/atlas/project/tdaq/cmt/nightly/installed/share/lib/rm.jar"
This dal_get_igui_setup needs to be used by setup or igui start script to add values of above two variables to appropriate IGUI parameters (i.e. list of properties passed to java and to be pre-pended to CLASSPATH).
Below there are schema changes not described above: