Ophidia Analytics Framework

Warning

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

Main configuration

The main framework configuration file is locate in $prefix/etc/oph_configuration. This file has to be changed according to the MySQL server used for the OphidiaDB and the oph_dimension database. Parameters WEB_SERVER and WEB_SERVER_LOCATION must be equal to the same parameters set for oph-server in server.conf.

An example of configuration file is given below:

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
B2DROP_WEBDAV=https://b2drop.endpoint/remote.php/webdav/

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.

Description of the parameters:

OPHDB_NAME           ← name of DB used as OphidiaDB
OPHDB_HOST           ← hostname (or IP address) of MySQL server used for the OphidiaDB
OPHDB_PORT           ← port of MySQL server used for the OphidiaDB
OPHDB_LOGIN          ← username to access the OphidiaDB on MySQL server
OPHDB_PWD            ← password to access the OphidiaDB on MySQL server
DIMDB_NAME           ← name of DB used for the dimensions
DIMDB_HOST           ← hostname (or IP address) of MySQL server used for the dimensions DB
DIMDB_PORT           ← port of MySQL server used for the dimensions DB
DIMDB_LOGIN          ← username to access the dimensions DB on MySQL server
DIMDB_PWD            ← password to access the dimensions DB on MySQL server
WEB_SERVER           ← prefix of the URL used in sessionid and DOI (*protocol://hostname/subfolders*)
WEB_SERVER_LOCATION  ← position of web server root on FS
MEMORY               ← maximum size (in MB) of memory that can be used to transpose data during import
BASE_SRC_PATH        ← the mount point (or folder) containing the local files that users are allowed to import
USER_SPACE           ← a flag used for multi-user features (enabled with "yes")
B2DROP_WEBDAV        ← Webdav URL (with https) to a B2DROP endpoint

A folder sessions must be created manually in WEB_SERVER_LOCATION assigning it the appropriate permission in order to enable the framework to write into it.

BASE_SRC_PATH specifies the base path for importing 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.

Additional information about multi-user features (USER_SPACE parameter) are provided in server configuration.

The SOAP configuration file for the framework-server interaction is located in $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.

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.

Extra configuration

Enable scripts execution

The $prefix/etc/oph_script_configuration file contains the list of scripts that can be executed with 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.

Other configuration options

Other configuration option that can be specified ad compile time (when building from source code):

  • --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).

Debugging

Debug can be enabled at compile 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.

Note

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