import common
from autotest_lib.client.common_lib import global_config
CONFIG_SECTION = 'SCHEDULER'
class SchedulerConfig(object):
"""
Contains configuration that can be changed during scheduler execution.
"""
FIELDS = [
('max_processes_per_drone', int),
('max_processes_warning_threshold', float),
('clean_interval_minutes', int),
('max_parse_processes', int),
('tick_pause_sec', float),
('max_transfer_processes', int),
('secs_to_wait_for_atomic_group_hosts', int),
('reverify_period_minutes', int),
('reverify_max_hosts_at_once', int),
('max_repair_limit', int),
('max_provision_retries', int),
]
def __init__(self):
self.read_config()
def read_config(self):
"""
Reads the attributes (listed in `FIELDS`) from the global config
and copies them into self.
"""
config = global_config.global_config
config.parse_config_file()
for field, data_type in self.FIELDS:
setattr(self, field, config.get_config_value(CONFIG_SECTION,
field,
type=data_type))
config = SchedulerConfig()