41 lines
1.3 KiB
Python
41 lines
1.3 KiB
Python
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),
|
|
('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()
|