blob: 4252650a0562fa20c054623d9a63cc0876a0359f [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 """
showard8dbd05a2010-01-12 18:54:59 +000010 FIELDS = {'max_processes_per_drone': 'max_processes_per_drone',
Fang Deng9a0c6c32013-09-04 15:34:55 -070011 'max_processes_warning_threshold':
12 'max_processes_warning_threshold',
showard8dbd05a2010-01-12 18:54:59 +000013 'max_processes_started_per_cycle': 'max_jobs_started_per_cycle',
14 'clean_interval': 'clean_interval_minutes',
15 'max_parse_processes': 'max_parse_processes',
16 'tick_pause_sec': 'tick_pause_sec',
17 'max_transfer_processes': 'max_transfer_processes',
18 'secs_to_wait_for_atomic_group_hosts':
showard77182562009-06-10 00:16:05 +000019 'secs_to_wait_for_atomic_group_hosts',
showard8dbd05a2010-01-12 18:54:59 +000020 'reverify_period_minutes': 'reverify_period_minutes',
Eric Lie0493a42010-11-15 13:05:43 -080021 'reverify_max_hosts_at_once': 'reverify_max_hosts_at_once',
Alex Millera4a78ef2013-09-03 21:23:05 -070022 'max_repair_limit': 'max_repair_limit',
23 'max_provision_retries': 'max_provision_retries',
showardd1ee1dd2009-01-07 21:33:08 +000024 }
25
showard77182562009-06-10 00:16:05 +000026
showardd1ee1dd2009-01-07 21:33:08 +000027 def __init__(self):
28 self.read_config()
29
30
31 def read_config(self):
32 config = global_config.global_config
33 config.parse_config_file()
34 for field, config_option in self.FIELDS.iteritems():
Fang Deng9a0c6c32013-09-04 15:34:55 -070035 if field == 'max_processes_warning_threshold':
36 data_type = float
37 else:
38 data_type = int
showardd1ee1dd2009-01-07 21:33:08 +000039 setattr(self, field, config.get_config_value(CONFIG_SECTION,
40 config_option,
Fang Deng9a0c6c32013-09-04 15:34:55 -070041 type=data_type))
showardd1ee1dd2009-01-07 21:33:08 +000042
showard77182562009-06-10 00:16:05 +000043
showardd1ee1dd2009-01-07 21:33:08 +000044config = SchedulerConfig()