Separate out adding and deleting repair scripts
Currently, any change in the repair cfg is considered as a new react script being registered. To change that add a _get_repairs function, and form a list of audits to create/nuke. Change-Id: I5c039f0fee3ef79e864493ace9cde366dc87a381
This commit is contained in:
parent
7a6999c9eb
commit
d0e9ace151
|
@ -118,7 +118,8 @@ class Engine(object):
|
||||||
self.futures.append(self._serializer)
|
self.futures.append(self._serializer)
|
||||||
|
|
||||||
# Start react scripts.
|
# Start react scripts.
|
||||||
self.futures.extend(self.start_react_scripts())
|
self.futures.extend(self.start_react_scripts(
|
||||||
|
self._get_react_scripts()))
|
||||||
|
|
||||||
scheduler = self.executor.submit(self.schedule)
|
scheduler = self.executor.submit(self.schedule)
|
||||||
self.futures.append(scheduler)
|
self.futures.append(scheduler)
|
||||||
|
@ -236,7 +237,19 @@ class Engine(object):
|
||||||
|
|
||||||
def repair_modified(self):
|
def repair_modified(self):
|
||||||
LOG.info('Repair configuration changed')
|
LOG.info('Repair configuration changed')
|
||||||
self.futures.extend(self.start_react_scripts())
|
repairs = self._get_react_scripts()
|
||||||
|
new_repairs = {}
|
||||||
|
repairs_to_delete = []
|
||||||
|
for repair in repairs:
|
||||||
|
if repair not in self.running_repairs:
|
||||||
|
new_repairs[repair] = repairs[repair]
|
||||||
|
if self.running_repairs:
|
||||||
|
for repair in self.running_repairs:
|
||||||
|
if repair not in repairs:
|
||||||
|
repairs_to_delete.append(repair)
|
||||||
|
LOG.info('Will add new repairs: %s', new_repairs)
|
||||||
|
LOG.info('Will nuke repairs: %s', repairs_to_delete)
|
||||||
|
self.futures.extend(self.start_react_scripts(new_repairs))
|
||||||
|
|
||||||
def start_watchdog(self):
|
def start_watchdog(self):
|
||||||
LOG.debug('Watchdog mapping is: ', self._watchdog_event_fn)
|
LOG.debug('Watchdog mapping is: ', self._watchdog_event_fn)
|
||||||
|
@ -269,8 +282,11 @@ class Engine(object):
|
||||||
LOG.exception("Could not run all audits in %s at %s",
|
LOG.exception("Could not run all audits in %s at %s",
|
||||||
audit_list, execution_time)
|
audit_list, execution_time)
|
||||||
|
|
||||||
def start_react_scripts(self):
|
def _get_react_scripts(self):
|
||||||
repairs = self._backend_driver.get_repairs()
|
repairs = self._backend_driver.get_repairs()
|
||||||
|
return repairs
|
||||||
|
|
||||||
|
def start_react_scripts(self, repairs):
|
||||||
futures = []
|
futures = []
|
||||||
if repairs:
|
if repairs:
|
||||||
for script in repairs:
|
for script in repairs:
|
||||||
|
|
Loading…
Reference in New Issue