Ophidia Analytics Framework

Framework configuration

Warning

In the following configuration files the passwords are ‘abcd’; you are recommended to change them in case Ophidia service has to be used in a production public environment.

$prefix/etc/oph_configuration

This file has to be changed according to ophidiaDB parameters (OPHDB): database name, IP address or hostname, port number of MySQL server, username, password and prefix of sessionid, DOI, etc. This file contains also the parameters regarding the dimension database (DIMDB): name, IP address, port number of MySQL, username and password. Parameters WEB_SERVER and WEB_SERVER_LOCATION must be equal to the same parameters set for oph-server in server.conf.

In WEB_SERVER_LOCATION a folder sessions should be created manually assigning it the appropriate grants in order to enable oph-analytics-framework to write into.

OPHDB_NAME=ophidiadb
OPHDB_HOST=mysql.hostname
OPHDB_PORT=3306
OPHDB_LOGIN=root
OPHDB_PWD=abcd
DIMDB_NAME=oph_dimensions
DIMDB_HOST=mysql.hostname
DIMDB_PORT=3306
DIMDB_LOGIN=root
DIMDB_PWD=abcd
WEB_SERVER=http://server.hostname/site    ← Use *protocol://hostname/subfolders*
WEB_SERVER_LOCATION=/var/www/html/site
MEMORY=2048
BASE_SRC_PATH=/data/repository
USER_SPACE=no

mysql.hostname is the hostname of MySQL node. You can set it to 127.0.0.1 for an all-in-one instance of Ophidia platform.

server.hostname is the hostname of Ophidia Server node. You can set it to 127.0.0.1 for an all-in-one instance of Ophidia platform.

WEB_SERVER indicates the PREFIX of the URL used in sessionid and DOI, so that it must include the possible path (list of parent subfloders) to folder sessions.

MEMORY is the maximum size (in MB) of the volatile memory that can be used to transpose data of a fragment in case of OPH_IMPORTNC.

BASE_SRC_PATH is the mount point (or folder) containing the local files that users are allowed to import into Ophidia (provided that access permissions are granted). Files can be also stored in its subfolders. Files in other folders cannot be imported. It represents the root folder of the file system that can be browsed by means of the operator OPH_FS.

USER_SPACE is a flag used for multi-user features: set it to “yes” to enable them, otherwise “no”. See server configuration for additional details.

$prefix/etc/oph_soap_configuration

This file has to be changed according to gSOAP configuration: port number and IP address as well as DNS name of Ophidia Server node, username, password, request/response timeout, etc. Note that the position of this file in source package is the folder src/oph_soap/.

SOAP_HOST=server.hostname
SOAP_PORT=11732
SOAP_USERNAME=framework
SOAP_PASSWORD=abcd
SOAP_TIMEOUT=60
SOAP_RECV_TIMEOUT=3600

server.hostname is the hostname of Ophidia Server node. You can set it to 127.0.0.1 for an all-in-one instance of Ophidia platform.

Description of the parameters:

SOAP_HOST                 ← IP address/DNS name of the host where oph-server is running
SOAP_PORT                 ← port number of oph-server
SOAP_USERNAME             ← username used by framework to send the notifications
SOAP_PASSWORD             ← password used to access oph-server
SOAP_TIMEOUT              ← request timeout
SOAP_RECV_TIMEOUT         ← receive timeout

The parameter SOAP_PORT must be equal to parameter PORT of oph-server configuration set in file server.conf.

The parameter SOAP_USERNAME must be equal to parameter NOTIFIER of oph-server configuration set in file server.conf.

The credentials [SOAP_USERNAME, SOAP_PASSWORD] must be registered in authorization data of oph-server stored in $prefix/authz/users.dat.

$prefix/etc/oph_script_configuration

Create this file to enable the execution of scripts by means of the operator OPH_SCRIPT. The file consists of a list of pairs separated by colon (:): the first element of each pair is a label that identifies the script and has to be used to refer it at command line or within a workflow; the second element is the path to the script (including the filename).

For instance, consider the following configuration:

get_date:/usr/local/ophidia/scripts/getdate.sh
set_date:/usr/local/ophidia/scripts/setDate.sh

In this case two scripts are configured: get_date.sh and set_date.sh. Both the scripts are stored in /usr/local/ophidia/scripts/, but any folders can be used, and can be executed by calling the operator OPH_SCRIPT using, respectively, get_date and set_date as parameter script.

By default, the scripts should be stored in $prefix/script, so that relative paths can be used as follows

sample:sample.sh

In this case the absolute path to the script sample would be $prefix/script/sample.sh.

Debugging

Debug can be enabled at configuration time by specifying the option --with-debug-level. The option may assume two values:

  • --with-debug-level=1: Enable gcc debug flags, print execution time of each phase (envset, init, distribute, execute, reduce, destroy, unsetenv) and allow backtrace error messages in JSON
  • --with-debug-level=2: Enable gcc debug flags, print execution time of each phase and for each process, print SQL query executed by I/O server and allow backtrace error messages in JSON.

Warning

Other values or 0 are not evaluated and, hence, debugging won’t be enabled.

Other configuration options

  • --enable-parallel-netcdf: Compile also OPH_EXPORTNC2 operator which uses parallel NetCDF libraries (disabled by default).
  • --with-ophidiaio-server-path: Enable support for Ophidia native IO server specifying the installation path (disabled by default).
  • --enable-cfitsio: Compile also OPH_IMPORTFITS operator which enables support for FITS data format (disabled by default).