Main configuration¶
The main server configuration file are located in $prefix/etc/ophidiadb.conf and $prefix/etc/server.conf. A complete description of the arguments provided in each file is given below.
$prefix/etc/ophidiadb.conf
This file has to be changed according to the parameters of the MySQL server hosting the OphidiaDB: database name, IP address or hostname, port number of MySQL server, username and password.
OPHDB_NAME=ophidiadb
OPHDB_HOST=mysql.hostname
OPHDB_PORT=3306
OPHDB_LOGIN=root
OPHDB_PWD=abcd
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.
$prefix/etc/server.conf
This file has to be customized according to the following comments.
Parameters WEB_SERVER and WEB_SERVER_LOCATION must be equal to the same parameters set for Ophidia Analytics Framework in oph_configuration. The password used to generate the cert/keys should be used to set CERT_PASSWORD parameter.
An example of configuration file is given below:
TIMEOUT=3600
INACTIVITY_TIMEOUT=31536000
WORKFLOW_TIMEOUT=86400
LOGFILE=/usr/local/ophidia/oph-server/log/server.log
WF_LOGFILE=/usr/local/ophidia/oph-server/log/accounting-workflow.log
TASK_LOGFILE=/usr/local/ophidia/oph-server/log/accounting-task.log
CERT=/usr/local/ophidia/oph-server/etc/cert/myserver.pem
CA=/usr/local/ophidia/oph-server/etc/cert/cacert.pem
CERT_PASSWORD=abcd
RMANAGER_CONF_FILE=/usr/local/ophidia/oph-server/etc/rmanager.conf
AUTHZ_DIR=/usr/local/ophidia/oph-server/authz
TXT_DIR=/usr/local/ophidia/oph-analytics-framework/log
WEB_SERVER=http://server.hostname/ophidia
WEB_SERVER_LOCATION=/var/www/html/ophidia
OPERATOR_CLIENT=/usr/local/ophidia/oph-analytics-framework/bin/oph_analytics_framework
IP_TARGET_HOST=cluster.hostname
SUBM_USER=ophidia
SUBM_USER_PUBLK=/usr/local/ophidia/.ssh/id_dsa.pub
SUBM_USER_PRIVK=/usr/local/ophidia/.ssh/id_dsa
OPH_XML_URL=http://server.hostname/ophidia/operators_xml
OPH_XML_DIR=/var/www/html/ophidia/operators_xml
NOTIFIER=framework
SERVER_FARM_SIZE=16
QUEUE_SIZE=0
HOST=server.hostname
PORT=11732
PROTOCOL=https
AUTO_RETRY=3
POLL_TIME=0
BASE_SRC_PATH=/data/repository
DEFAULT_MAX_SESSIONS=100
DEFAULT_MAX_CORES=8
DEFAULT_MAX_HOSTS=1
DEFAULT_TIMEOUT_SESSION=1
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.
cluster.hostname is the hostname of the node where the resource manager (e.g. Slurm) is running. You can set it to 127.0.0.1 for an all-in-one instance of Ophidia platform.
This configuration is related to an installation with
- $prefix set to /usr/local/ophidia/oph-server
- $framework-path set to /usr/local/ophidia/oph-analytics-framework
These configuration parameters can be set as options at configuration stage:
./configure
--prefix=/usr/local/ophidia/oph-server
--with-framework-path=/usr/local/ophidia/oph-analytics-framework
Description of the parameters (lines can be commented using #):
TIMEOUT ← request timeout
INACTIVITY_TIMEOUT ← server timeout (to shutdown) when no request is received
WORKFLOW_TIMEOUT ← maximum serving time for a workflow
LOGFILE ← position of log file; if not given, "stdout" is used instead
WF_LOGFILE ← position of workflows accounting log file
TASK_LOGFILE ← position of tasks accounting log file
CERT ← path to server certificate
CA ← path to certification authority certificate
CERT_PASSWORD ← password of server certificate
RMANAGER_CONF_FILE ← position of "rmanager.conf" on FS
AUTHZ_DIR ← position of folder authz/ used to manage authorization data
TXT_DIR ← position of the folder where operator-specific logs will be saved (only for debug mode)
WEB_SERVER ← prefix used in sessionid (*protocol://hostname/subfolders*)
WEB_SERVER_LOCATION ← position of web server root on FS
OPERATOR_CLIENT ← executable of oph-analytics-framework on FS
IP_TARGET_HOST ← IP address/DNS name of the host where the scheduler is running
SUBM_USER ← Linux username used to submit job to the scheduler
SUBM_USER_PUBLK ← position of the public key used for SSH on FS (required on in case libssh has to adopted, see below)
SUBM_USER_PRIVK ← position of the private key used for SSH on FS (required on in case libssh has to adopted, see below)
OPH_XML_URL ← URL to the folder containing XML description of operations
OPH_XML_DIR ← position of the folder containing XML description on FS
NOTIFIER ← username used by the framework to release notifications
SERVER_FARM_SIZE ← maximum number of active workflows (0 means infinity)
QUEUE_SIZE ← maximum number of queued workflows (0 means infinity)
HOST ← IP address/DNS name of the host where Ophidia Server is running
PORT ← port number of oph_server
PROTOCOL ← protocol used by Ophidia Server
AUTO_RETRY ← maximum number of times the server will retry a task submission in case of scheduler errors
POLL_TIME ← time (in seconds) between two consecutive checks for starved/failed jobs in resource manager queue
BASE_SRC_PATH ← mount point (or folder) containing the local files whose presence can be checked by the operator OPH_WAIT
DEFAULT_MAX_SESSIONS ← default value used for OPH_MAX_SESSIONS by the tool `oph_manage_user`
DEFAULT_MAX_CORES ← default value used for OPH_MAX_CORES by the tool `oph_manage_user`
DEFAULT_MAX_HOSTS ← default value used for OPH_MAX_HOSTS by the tool `oph_manage_user`
DEFAULT_TIMEOUT_SESSION ← default value used for OPH_TIMEOUT_SESSION by the tool `oph_manage_user`
ENABLE_CLUSTER_DEPLOYMENT ← set to "yes" to enable dynamic cluster deployment (default "no")
OPENID_ENDPOINT ← endpoint of an authorization server compliant with OpenId Connect; set it in case OpenId Connect has to be enabled
OPENID_CLIENT_ID ← client id associated with Ophidia Server by OpenId Connect authorization server
OPENID_CLIENT_SECRET ← client secret associated with Ophidia Server by OpenId Connect authorization server
OPENID_TOKEN_TIMEOUT ← timeout of forged tokens for OpenId Connect
OPENID_TOKEN_CHECK_TIME ← timeout used to check for revoked tokens for OpenId Connect
AAA_ENDPOINT ← endpoint of an authorization server compliant with AAAaaS; set it in case AAAaaS has to be enabled
AAA_CATEGORY ← service category associated with Ophidia Server by AAAaaS authorization server
AAA_NAME ← service name used to identify Ophidia Server by AAAaaS authorization server
AAA_TOKEN_CHECK_TIME ← timeout used to check for revoked tokens for AAAaaS
Additional details about the tool oph_manage_user are available here.
The parameter PORT must be equal to parameter SOAP_PORT of oph-analytics-framework configuration set in file oph_soap_configuration.
The parameter NOTIFIER must be equal to parameter SOAP_USERNAME of oph-analytics-framework configuration set in file oph_soap_configuration.
The parameter ENABLE_CLUSTER_DEPLOYMENT has to be set to “yes” only in case clusters of I/O and Analytics nodes can be deployed dynamically: see cluster deployment for further details.
Add the credentials of the notifier to authorization data of oph-server stored in authz/users.dat.
Copy XML descriptions stored in $prefix/etc/xml/ in OPH_XML_DIR.
The default parameter values (e.g. the file name “myserver.pem” and “cacert.pem”) are defined in src/oph_gather.h.
WEB_SERVER parameter indicates the PREFIX of the URL used in sessionid and DOI, so that it must include the possible path (list of parent subfolders) to “sessions” folder.