blob: 8396909d4c41333f64d9cc0ae305f7139acf5e56 [file] [log] [blame]
showardd1ee1dd2009-01-07 21:33:08 +00001import common
2from autotest_lib.client.common_lib import global_config
3
4CONFIG_SECTION = 'SCHEDULER'
5
6class SchedulerConfig(object):
7 """
8 Contains configuration that can be changed during scheduler execution.
9 """
Alex Millerac189f32014-06-23 13:55:23 -070010 FIELDS = [
11 ('max_processes_per_drone', int),
12 ('max_processes_warning_threshold', float),
13 ('max_processes_started_per_cycle', int),
14 ('clean_interval_minutes', int),
15 ('max_parse_processes', int),
16 ('tick_pause_sec', float),
17 ('max_transfer_processes', int),
18 ('secs_to_wait_for_atomic_group_hosts', int),
19 ('reverify_period_minutes', int),
20 ('reverify_max_hosts_at_once', int),
21 ('max_repair_limit', int),
22 ('max_provision_retries', int),
23 ]
showardd1ee1dd2009-01-07 21:33:08 +000024
showard77182562009-06-10 00:16:05 +000025
showardd1ee1dd2009-01-07 21:33:08 +000026 def __init__(self):
27 self.read_config()
28
29
30 def read_config(self):
31 config = global_config.global_config
32 config.parse_config_file()
Alex Millerac189f32014-06-23 13:55:23 -070033 for field, data_type in self.FIELDS:
showardd1ee1dd2009-01-07 21:33:08 +000034 setattr(self, field, config.get_config_value(CONFIG_SECTION,
Alex Millerac189f32014-06-23 13:55:23 -070035 field,
Fang Deng9a0c6c32013-09-04 15:34:55 -070036 type=data_type))
showardd1ee1dd2009-01-07 21:33:08 +000037
showard77182562009-06-10 00:16:05 +000038
showardd1ee1dd2009-01-07 21:33:08 +000039config = SchedulerConfig()