Remove alarm query before clear in NTP plugin
Issue titled 'NTP 100.14 alarm is not cleared' exposed an issue where the NTP plugin alarm clear operation is circumvented when its pre-curser fm_api.get_fault call returns None if the fm process is not running. From the callers point of view the None return suggests that the alarm to be cleared does not exist so the code skips the call to clear. This update works around this by simply issuing the clear without the query. Change-Id: Idcc05bb0e7e1aa1082af1e8ecdcb1a5463b19440 Closes-Bug: 1812440 Signed-off-by: Eric MacDonald <eric.macdonald@windriver.com>
This commit is contained in:
parent
9fe8574234
commit
abaff6b275
|
@ -16,4 +16,4 @@ COPY_LIST="$PKG_BASE/src/LICENSE \
|
||||||
$PKG_BASE/src/example.py \
|
$PKG_BASE/src/example.py \
|
||||||
$PKG_BASE/src/example.conf"
|
$PKG_BASE/src/example.conf"
|
||||||
|
|
||||||
TIS_PATCH_VER=5
|
TIS_PATCH_VER=6
|
||||||
|
|
|
@ -222,7 +222,6 @@ def _raise_alarm(ip=None):
|
||||||
def _clear_base_alarm():
|
def _clear_base_alarm():
|
||||||
""" Clear the NTP base alarm """
|
""" Clear the NTP base alarm """
|
||||||
|
|
||||||
if api.get_fault(PLUGIN_ALARMID, obj.base_eid) is not None:
|
|
||||||
if api.clear_fault(PLUGIN_ALARMID, obj.base_eid) is False:
|
if api.clear_fault(PLUGIN_ALARMID, obj.base_eid) is False:
|
||||||
collectd.error("%s failed to clear alarm %s:%s" %
|
collectd.error("%s failed to clear alarm %s:%s" %
|
||||||
(PLUGIN, PLUGIN_ALARMID, obj.base_eid))
|
(PLUGIN, PLUGIN_ALARMID, obj.base_eid))
|
||||||
|
@ -263,8 +262,8 @@ def _remove_ip_from_unreachable_list(ip):
|
||||||
if ip and ip in obj.unreachable_servers:
|
if ip and ip in obj.unreachable_servers:
|
||||||
eid = obj.base_eid + '=' + ip
|
eid = obj.base_eid + '=' + ip
|
||||||
collectd.debug("%s trying to clear alarm %s" % (PLUGIN, eid))
|
collectd.debug("%s trying to clear alarm %s" % (PLUGIN, eid))
|
||||||
|
|
||||||
# clear the alarm if its asserted
|
# clear the alarm if its asserted
|
||||||
if api.get_fault(PLUGIN_ALARMID, eid) is not None:
|
|
||||||
if api.clear_fault(PLUGIN_ALARMID, eid) is True:
|
if api.clear_fault(PLUGIN_ALARMID, eid) is True:
|
||||||
collectd.info("%s cleared %s:%s alarm" %
|
collectd.info("%s cleared %s:%s alarm" %
|
||||||
(PLUGIN, PLUGIN_ALARMID, eid))
|
(PLUGIN, PLUGIN_ALARMID, eid))
|
||||||
|
@ -277,9 +276,6 @@ def _remove_ip_from_unreachable_list(ip):
|
||||||
collectd.error("%s failed alarm clear %s:%s" %
|
collectd.error("%s failed alarm clear %s:%s" %
|
||||||
(PLUGIN, PLUGIN_ALARMID, eid))
|
(PLUGIN, PLUGIN_ALARMID, eid))
|
||||||
return True
|
return True
|
||||||
else:
|
|
||||||
obj.unreachable_servers.remove(ip)
|
|
||||||
collectd.info("%s alarm %s not raised" % (PLUGIN, eid))
|
|
||||||
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue