flocklab_config.ini 10 KB
Newer Older
1
2
3
4
5
; This is the FlockLab server configuration file

[email]
admin_email = [your_email]
flocklab_email = [flocklab_user_email]
Reto Da Forno's avatar
Reto Da Forno committed
6
mailserver = [your_mailserver]                                                  ;smtp mail server URL
7
8
9
10
11
12

; database connection configuration
[database]
user     = flocklab_testmng
password = 
database = flocklab
13
host     = localhost
14
15
16
17
timeformat = %%Y-%%m-%%d %%H:%%M:%%S                                            ;Time format which is used on the MySQL database. Must be parsable by strftime.

; test config
[tests]
18
19
setuptime   = 120                                                               ;Seconds needed for test setup
cleanuptime = 120                                                               ;Seconds needed for test cleanup
20
21
22
23
24
pidfolder = /tmp/flocklab/                                                      ;Folder for pid files
allowparalleltests = 0                                                          ;Allow parallel test execution on the same observer if resource conflicts avoided

; Observer config
[observer]
25
26
testconfigfolder = /home/flocklab/data/curtest                                  ;Folder on the observer into which the test configuration and target image are uploaded
testresultfolder = /home/flocklab/data/results                                  ;Folder on the observer in which the database and all auxiliary files are located 
27
timeformat =  %%Y-%%m-%%dT%%H:%%M:%%S                                           ;Time format which is used on the observer. Must be parsable by strftime.
28
29
30
starttestscript = /home/flocklab/observer/testmanagement/flocklab_starttest.py
stoptestscript = /home/flocklab/observer/testmanagement/flocklab_stoptest.py
serialidscript = /home/flocklab/observer/testmanagement/tg_serialid.py          ;Path to the serial ID readout script on the observer
31
32
33
34
35
36

; Config for fetcher
[fetcher]
min_sleeptime = 60                                                              ;Minimum sleeptime in seconds which DB fetcher waits between polling the observers 
max_rand_sleeptime = 15                                                         ;Maximum random time in seconds the fetcher adds to minsleeptime
shutdown_timeout = 240                                                          ;Timeout in seconds until fetcher processes are killed
37
38
obsfile_dir = /home/flocklab/fetcher/obsfiles                                   ;Folder to store DB files from observers before they are aggregated
obsfile_debug_dir = /home/flocklab/fetcher/debug                                ;Folder to store DB files from observers before they are aggregated
39
obsfile_debug_dir_max_age_days = 7                                              ;Time to keep debug files
40
testresults_dir = /home/flocklab/fetcher/testresults                            ;Folder to store aggregated test results for being processed by the archiver
41
42
43
cpus_errorlog = 1                                                               ;Maximum number of CPU's to use for aggregating data from error logging service
cpus_serial = 1                                                                 ;Maximum number of CPU's to use for aggregating data from serial service
cpus_gpiosetting = 1                                                            ;Maximum number of CPU's to use for aggregating data from GPIO setting service  
44
cpus_gpiomonitoring = 1                                                         ;Maximum number of CPU's to use for aggregating data from GPIO monitoring service
45
cpus_powerprofiling = 1                                                         ;Maximum number of CPU's to use for converting and aggregating data from power profiling service
46
47
48
49
50
51
52
53
54
commitsize = 10000                                                              ;Maximum number of rows to write to the aggregated files at the same time

; Config for archiver 
[archiver]
max_instances = 100                                                             ;Maximum of concurrently running instances of the archiver
pigz_max_cpus = 4                                                               ;Maximum number of CPUs to be used by pigz compressor
nice_level = 15                                                                 ;Nice level for tar and pigz processes. Possible values: 0 to 19
email_maxsize = 10485760                                                        ;Maximum size in bytes of archive to be emailed to the user. If archive is bigger, the test results can only be fetched from the user interface
archive_ext = .tar.gz                                                           ;Extension of archived files
55
56
archive_dir = /home/flocklab/testarchive                                        ;Directory which stores all test results
include_xmlconfig = 1                                                           ;Include XML config file in test results
57
58
59
60

; Config for cleaner
[cleaner]
max_instances = 1                                                               ;Maximum of concurrently running instances of the cleaner
61
keeptime_viz = 10                                                               ;Time in days to keep viz data
62
max_test_cleanuptime = 20                                                       ;Maximum time for a test cleanup in minutes
63
64
65
66

; Config for the dispatcher
[dispatcher]
schedulerscript = /home/flocklab/testmanagementserver/flocklab_scheduler.py     ;Path to scheduler script on testmanagement server
67
validationscript = /home/flocklab/testmanagementserver/testconfig_validator.py  ;Path to validation script on testmanagement server
68
69
70
71
72
73
74
75
dispatcherscript = /home/flocklab/testmanagementserver/flocklab_dispatcher.py   ;Path to dispatcher script on testmanagement server 
fetcherscript = /home/flocklab/testmanagementserver/flocklab_fetcher.py         ;Path to fetcher script on testmanagement server
archiverscript = /home/flocklab/testmanagementserver/flocklab_archiver.py       ;Path to archiver script on testmanagement server
testtolinkmapscript = /home/flocklab/testmanagementserver/test_to_linkmap.py    ;Path to linkmap evaluation script on testmanagement server
serialproxyscript = /home/flocklab/testmanagementserver/flocklab_serialproxy.py ;Path to serial proxy script on testmanagement server
default_tg_voltage = 3.3                                                        ;Default voltage for targets if not specified in XML
default_sampling_divider = 2                                                    ;Default sampling divider for power profiling if not specified in XML
archiver_waittime = 10                                                          ;Wait time between calls to the archiver if the maximum number of archiver instances is reached
76
continue_on_error = 1                                                           ;Whenever possible, try to run the test even if some observers fails to start it
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94

; XML test configuration file settings
[xml]
namespace = http://www.flocklab.ethz.ch                                         ;XML validation file (flocklab.xsd) and test XML config
schemapath = /home/flocklab/public_html/xml/flocklab.xsd

; regular link tests
[linktests]
user = flocklab                                                                 ;User that owns the link measurements
interval_hours = 47                                                             ;Interval between link measurements
interval_random_minutes = 120                                                   ;Random slack (+/-)
testfolder = /home/flocklab/testmanagementserver/linktests
starttest_script = /home/flocklab/tools/flocklab
lockfile = /tmp/flocklab/linktest_schedule.lock

; vizualisation of test results
[viz]
enablepreview = 1                                                               ;set to 1 to enable generation of preview data
95
imgdir = /home/flocklab/viz                                                     ;path to preview directory
96
97
98
99
100
101
102
103
104
105
106
107
108
109

; Cleaner which deletes test results (after a per-user retention time has expired)
[retentioncleaner]
max_instances = 1                                                               ;Maximum of concurrently running instances of the script
expiration_leadtime = 14                                                        ;Number of days to warn user before results are purged

; Config for serial proxy
[serialproxy]
startport = 50100                                                               ;Start port for serial proxy to test users. For the real port, the observer ID is added to the start port.
obsdataport = 50001                                                             ;Observer listens on this port for incoming connections from the testmanagement server
shutdown_timeout = 240                                                          ;Timeout in seconds until proxy processes are killed

; tools for target image validation
[targetimage]
110
111
112
113
imagevalidator = /home/flocklab/testmanagementserver/targetimage_validator.py
binutils_arm = /home/flocklab/binutils/binutils-arm                             ;Path to ARM binutils
binutils_msp430 = /home/flocklab/binutils/binutils-msp430/usr/bin               ;Path to MSP430 binutils
setsymbolsscript = /home/flocklab/binutils/tos-set-symbols                      ;Path to script used to set symbols (e.g. node ID)
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132

; Recaptcha
[recaptcha]
sitekey = [your_site_key]                                                       ;get one at https://www.google.com/recaptcha/admin/create
secretkey = [your_secret_key]

; settings for testmanagement server
[testmanagementserver]
host = localhost
user = flocklab
basedir = /home/flocklab/testmanagementserver
scheduler = /home/flocklab/testmanagementserver/flocklab_scheduler.py
archivedir = /home/flocklab/testarchive
sshflags =                                                                      ;additional flags
logdir = /home/flocklab/logs                                                    ;log directory for web
tempdir = /home/flocklab/tmp
venvwrapper = /home/flocklab/tools/wrapper.sh                                   ;activates python virtual environment (leave blank if no venv)

; config for webserver session
Reto Da Forno's avatar
Reto Da Forno committed
133
134
135
[webserver]
sessionexpiretime = 1440                                                               ;Seconds until session expires
sessiondir = /tmp/flocklab_sessions
136