Experiment configuration file¶
This file contains experiment description.
[Experiment] Section¶
Contains configuration for the whole experiment:
ExperimentName
- Name of the experiment
ExperimentManagerClass
- Class that manages the experiment (see: Complicated experiment manager and
IExperimentManager
). ClientClass
- XMPPClient to use.
Other entries in this section are optional, and are dependent ExperimentManagerClass
.
LoopTimeout
- Timeout of main experiment loop [in seconds]
series_pattern
Experiment series will get label according to this pattern (unless
ExperimentManagerClass
overries it ;).This pattern can contain names of any settings sent to the experiment in
str.format()
format.stop_series_timeout
- Timeout (in seconds) after which we stop series that was not stopped by the user or the experiment (and it does not send any results)
shutdown_experiment_timeout
- Timeout (in seconds) after which we stop experiment if there are no series active.
AdditionalConfigFiles
- See Multi File Config
Multi File Config¶
You might want to split experiment configuration into several config files, valid examples for such setup are, we just wanted to store config files inside VCS, and have passwords stored elsewhere.
Config entry: AdditionalConfigFiles
in section [Config]
contains semicolon separated
list of paths to config files, these config files will be loaded
during experiment startup and will override any entries in original
config file.
If any of specified files is missing exception will be raised.
[XMPPClient] Section¶
Contains configuration for the XMPP client.
It is mostly obvious:
jid
- JID (part before
@
symbol) nick
- nick in XMPP groupchat, any string
password
- password for XMPP account
room
- XMPP groupchat room name (part before
@
symbol) server_config_section
- Name of section that contains XMPP server configuration,
by default it is
[Server]
[Server] Section¶
These properties govern connection to tigase server
host
- server address Due to some Sleek bug you should provide IP rather than a hostname
port
- server port
These properties are added used to create JID
domain
- Domain (added to JID after
@
symbol) groupchat_domain
- Domain (added to room name
@
symbol)
[Logging] Section¶
Configures logging for this experiment.
config_type
- Either
file
orbasic
.basic
callslogging.basicConfig(DEBUG
,file
allows useini
based logging configuration. logging_file
- Usable for
config_type=file
. Specifies the logging configuration to use. Defaults to prepared config file.
In both configs a we send e-mails with errors to experiment administrators, to configure this behaviour in your logging config you might use logging section that looks like:
[handler_exception]
class: silf.backend.commons.util.mail.ExceptionHandler
formatter: detailed
args: []
And then add handler configured in this way to root logger.
[SMTP] Section¶
This section is optional. It configures functionality of sending emails to administratiors of the experiment.
smtp_enabled
Boolean value isfalse
or missing altogether thhis functionality is disabled.
test_smtp
Boolean value iftrue
will use mock smtp (no emails will be sent).
smtp_server
, smtp_port
Host to which we connect via SMTP
smtp_user
, smtp_password
Login credentials
smtp_client_class
SMTP client class to use. This entry contains path to module and type to use, for example:smtplib.SMTP_SSL
. This class has to have similar api tosmtplib.SMTP_SSL
.
from_email
FROM address for emails.
admin_list
List of users to which we send error emails.
Other sections¶
This file may also contain other sections that define particular devices.
Device uses configuratuion defined in section named by it’s deviceId
.
While device can use any property in it’s own section this sections also contains:
single_task_timeout
Float value, maximal time for each operation on the remote device in seconds. If operation takes longer time error is raised.