def show_watch(self, context, watch_name): ''' The show_watch method returns the attributes of one watch/alarm arg1 -> RPC context. arg2 -> Name of the watch you want to see, or None to see all ''' if watch_name: try: wr = db_api.watch_rule_get(context, watch_name) except Exception as ex: logger.warn('show_watch (%s) db error %s' % (watch_name, str(ex))) if wr: wrs = [wr] else: raise AttributeError('Unknown watch name %s' % watch_name) else: try: wrs = db_api.watch_rule_get_all(context) except Exception as ex: logger.warn('show_watch (all) db error %s' % str(ex)) return result = [api.format_watch(w) for w in wrs] return result
def set_watch_state(self, context, watch_name, state): """ Temporarily set the state of a given watch arg1 -> RPC context. arg2 -> Name of the watch arg3 -> State (must be one defined in WatchRule class """ wr = watchrule.WatchRule.load(context, watch_name) wr.set_watch_state(state) # Return the watch with the state overriden to indicate success # We do not update the timestamps as we are not modifying the DB result = api.format_watch(wr) result[api.WATCH_STATE_VALUE] = state return result
def set_watch_state(self, context, watch_name, state): ''' Temporarily set the state of a given watch arg1 -> RPC context. arg2 -> Name of the watch arg3 -> State (must be one defined in WatchRule class ''' wr = watchrule.WatchRule.load(context, watch_name) wr.set_watch_state(state) # Return the watch with the state overriden to indicate success # We do not update the timestamps as we are not modifying the DB result = api.format_watch(wr) result[api.WATCH_STATE_VALUE] = state return result
def set_watch_state(self, cnxt, watch_name, state): ''' Temporarily set the state of a given watch arg1 -> RPC context. arg2 -> Name of the watch arg3 -> State (must be one defined in WatchRule class ''' wr = watchrule.WatchRule.load(cnxt, watch_name) actions = wr.set_watch_state(state) for action in actions: self._start_in_thread(wr.stack_id, action) # Return the watch with the state overriden to indicate success # We do not update the timestamps as we are not modifying the DB result = api.format_watch(wr) result[api.WATCH_STATE_VALUE] = state return result
def show_watch(self, cnxt, watch_name): ''' The show_watch method returns the attributes of one watch/alarm arg1 -> RPC context. arg2 -> Name of the watch you want to see, or None to see all ''' if watch_name: wrn = [watch_name] else: try: wrn = [w.name for w in db_api.watch_rule_get_all(cnxt)] except Exception as ex: logger.warn('show_watch (all) db error %s' % str(ex)) return wrs = [watchrule.WatchRule.load(cnxt, w) for w in wrn] result = [api.format_watch(w) for w in wrs] return result
def set_watch_state(self, cnxt, watch_name, state): ''' Temporarily set the state of a given watch arg1 -> RPC context. arg2 -> Name of the watch arg3 -> State (must be one defined in WatchRule class ''' wr = watchrule.WatchRule.load(cnxt, watch_name) if wr.state == rpc_api.WATCH_STATE_CEILOMETER_CONTROLLED: return actions = wr.set_watch_state(state) for action in actions: self._start_in_thread(wr.stack_id, action) # Return the watch with the state overriden to indicate success # We do not update the timestamps as we are not modifying the DB result = api.format_watch(wr) result[rpc_api.WATCH_STATE_VALUE] = state return result
def set_watch_state(self, cnxt, watch_name, state): """ Temporarily set the state of a given watch :param cnxt: RPC context. :param watch_name: Name of the watch :param state: State (must be one defined in WatchRule class """ wr = watchrule.WatchRule.load(cnxt, watch_name) if wr.state == rpc_api.WATCH_STATE_CEILOMETER_CONTROLLED: return actions = wr.set_watch_state(state) for action in actions: self.thread_group_mgr.start(wr.stack_id, action) # Return the watch with the state overridden to indicate success # We do not update the timestamps as we are not modifying the DB result = api.format_watch(wr) result[rpc_api.WATCH_STATE_VALUE] = state return result
def show_watch(self, cnxt, watch_name): """ The show_watch method returns the attributes of one watch/alarm :param cnxt: RPC context. :param watch_name: Name of the watch you want to see, or None to see all """ if watch_name: wrn = [watch_name] else: try: wrn = [w.name for w in db_api.watch_rule_get_all(cnxt)] except Exception as ex: LOG.warn(_('show_watch (all) db error %s') % ex) return wrs = [watchrule.WatchRule.load(cnxt, w) for w in wrn] result = [api.format_watch(w) for w in wrs] return result
def set_watch_state(self, context, watch_name, state): ''' Temporarily set the state of a given watch arg1 -> RPC context. arg2 -> Name of the watch arg3 -> State (must be one defined in WatchRule class ''' if state not in watchrule.WatchRule.WATCH_STATES: raise AttributeError('Unknown watch state %s' % state) if watch_name: try: wr = db_api.watch_rule_get(context, watch_name) except Exception as ex: logger.warn('show_watch (%s) db error %s' % (watch_name, str(ex))) if not wr: raise AttributeError('Unknown watch name %s' % watch_name) else: raise AttributeError('Must pass watch_name') if state != wr.state: if self.rule_action(wr, state): logger.debug("Overriding state %s for watch %s with %s" % (wr.state, watch_name, state)) else: logger.warning("Unable to override state %s for watch %s" % (wr.state, watch_name)) # Return the watch with the state overriden to indicate success # We do not update the timestamps as we are not modifying the DB result = api.format_watch(wr) result[api.WATCH_STATE_VALUE] = state return result