"""
pass
- def _start_watch_task(self, stack_id):
- self._timer_in_thread(stack_id, self._periodic_watcher_task,
- sid=stack_id)
+ def _start_watch_task(self, stack_id, cnxt):
+ wrs = db_api.watch_rule_get_all_by_stack(cnxt,
+ stack_id)
+ if len(wrs) > 0:
+ self._timer_in_thread(stack_id, self._periodic_watcher_task,
+ sid=stack_id)
def start(self):
super(EngineService, self).start()
admin_context = context.get_admin_context()
stacks = db_api.stack_get_all(admin_context)
for s in stacks:
- self._start_watch_task(s.id)
+ self._start_watch_task(s.id, admin_context)
@request_context
def identify_stack(self, cnxt, stack_name):
stack.create()
if stack.action == stack.CREATE and stack.status == stack.COMPLETE:
# Schedule a periodic watcher task for this stack
- self._start_watch_task(stack.id)
+ self._start_watch_task(stack.id, cnxt)
else:
logger.warning("Stack create failed, status %s" % stack.status)
@stack_context('periodic_watch_task_not_created')
def test_periodic_watch_task_not_created(self):
self.eng.stg[self.stack.id] = DummyThreadGroup()
- self.eng._start_watch_task(self.stack.id)
- self.assertEqual([self.eng._periodic_watcher_task],
- self.eng.stg[self.stack.id].threads)
+ self.eng._start_watch_task(self.stack.id, self.ctx)
+ self.assertEqual([], self.eng.stg[self.stack.id].threads)
def test_periodic_watch_task_created(self):
stack = get_alarm_stack('period_watch_task_created',
stack.store()
stack.create()
self.eng.stg[stack.id] = DummyThreadGroup()
- self.eng._start_watch_task(stack.id)
+ self.eng._start_watch_task(stack.id, self.ctx)
self.assertEqual([self.eng._periodic_watcher_task],
self.eng.stg[stack.id].threads)
self.stack.delete()