move audit-related code to backend
Add two functions in filebackend, to retrieve all audits, and to retrieve an audit script's config given the name. Replace occurences of utils.load_yaml in engine.py with calls to above functions Change-Id: Ia204d0db8a078c28ce27a2ae2ed57eb8b7fdf23b
This commit is contained in:
parent
d4fcac48f1
commit
e7c8fee0a8
|
@ -19,13 +19,25 @@ class FileBackend(base.Backend):
|
|||
"""A directory based backend."""
|
||||
def __init__(self, conf):
|
||||
super(FileBackend, self).__init__(conf)
|
||||
self._audit_cfg = conf['audit_cfg']
|
||||
self._repair_cfg = conf['repair_cfg']
|
||||
self.setup()
|
||||
|
||||
def setup(self):
|
||||
utils.create_files([self._conf['audit_cfg'], self._conf['repair_cfg']])
|
||||
utils.create_files([self._audit_cfg, self._repair_cfg])
|
||||
|
||||
def open(self):
|
||||
pass
|
||||
|
||||
def close(self):
|
||||
pass
|
||||
|
||||
def get_audits(self):
|
||||
audits = utils.load_yaml(self._audit_cfg)
|
||||
return audits
|
||||
|
||||
def audit_cfg_from_name(self, name):
|
||||
audits = self.get_audits()
|
||||
conf = audits[name]['cfg']
|
||||
audit_cfg = dict(utils.load_yaml(conf))
|
||||
return audit_cfg
|
||||
|
|
|
@ -100,7 +100,7 @@ class Engine(object):
|
|||
scheduler = self.executor.submit(self.schedule)
|
||||
self.futures.append(scheduler)
|
||||
|
||||
#watchdog
|
||||
# watchdog
|
||||
watchdog_thread = self.start_watchdog(self.cfg_dir)
|
||||
watchdog_thread.join()
|
||||
|
||||
|
@ -155,16 +155,15 @@ class Engine(object):
|
|||
|
||||
def run_serializer(self, next_iteration, current_time):
|
||||
LOG.info("Running serializer for %s at %s", self.name, current_time)
|
||||
audits = utils.load_yaml(self.audit_cfg)
|
||||
audits = self._backend_driver.get_audits()
|
||||
schedules = {}
|
||||
if not audits:
|
||||
return
|
||||
try:
|
||||
for audit_name in audits:
|
||||
conf = audits[audit_name]['cfg']
|
||||
audit_config = dict(utils.load_yaml(conf))
|
||||
schedules[audit_name] = audit_config['schedule']
|
||||
|
||||
audit_cfg = self._backend_driver.audit_cfg_from_name(
|
||||
audit_name)
|
||||
schedules[audit_name] = audit_cfg['schedule']
|
||||
new_additions = []
|
||||
|
||||
for key in six.iterkeys(schedules):
|
||||
|
@ -202,11 +201,11 @@ class Engine(object):
|
|||
try:
|
||||
pause.until(execution_time)
|
||||
LOG.info("Time: %s, Starting %s", execution_time, audit_list)
|
||||
audits = self._backend_driver.get_audits()
|
||||
audit_futures = []
|
||||
for audit in audit_list:
|
||||
audit_name = audit['name']
|
||||
audit_cfg = utils.load_yaml(audits[audit_name]['cfg'])
|
||||
audit_cfg = self._backend_driver.audit_cfg_from_name(
|
||||
audit_name)
|
||||
future = self.executor.submit(self.run_audit,
|
||||
audit_name=audit_name,
|
||||
**audit_cfg)
|
||||
|
|
Loading…
Reference in New Issue