I'm trying to clear some alarms that are marked as non user clearable by using the procedure described in
https://ca-broadcom.wolkenservicedesk.com/external/article?articleId=9001
but for some reason, the event which should clear the alarm is not clearing it.
Release : 22.2.x
Component : Spectrum Core / SpectroSERVER
In Event Configuration editor, we can add "cleared alarms" cause code to an event.
This will cause the added events to be cleared by the event you are editing.
It does not cause the edited event to get cleared by these alarms.
This is a common mistake. e.g. 0x00010027 does not clear 0x00010028 but gets cleared by it.
From Event Configuration Editor (ECE), we cannot see what events clear the event loaded. e.g. we cannot see event clears 0x00010027 in ECE
To do this, we need to search through the eventDisps
Example 1 - by running a grep from a linux shell on the <$SPECROOT>/SS/CsVendor folder, such as
/c/win32app/Spectrum/SS/CsVendor
$ grep -r "010027" .
./Cabletron/EventDisp:0x00010027 E 90 A 3,0x010027,T
./Cabletron/EventDisp:0x00010028 E 90 C 0x010027
0x00010027 causes an alarm but does not clear anything.
0x00010028 clears 0x00010027
Example 2 - From the bash shell using find
find /usr/Spectrum/SS/CsVendor -type f -exec grep -i 0x0001040a {} \;
0x00010d11 E 50 A 3, 0x0001040a
0x00010d2a C 0x0001040a C 0x0001040b C 0x0001040f C 0x00010410 C 0x00010411 C 0x0001040d C 0x00010d2d C 0x00010412 C 0x00010413
You can also add this as a function to your .bashrc file
vi ~/.bashrc
getevents() { find /usr/Spectrum/SS/CsVendor -type f -exec grep -i $1 {} \; ;}
Note: You will likely need to adjust the path to your spectrum install, the event will pass into the $1 paremeter
Note: Sometimes events are written with the padded 0's and other times they are not. For example you may need to search both 0x0001040a and 0x1040a
re-source the .bashrc for this to take effect
. ~/.bashrc
# getevents 0x0001040a
0x00010d11 E 50 A 3, 0x0001040a
0x00010d2a C 0x0001040a C 0x0001040b C 0x0001040f C 0x00010410 C 0x00010411 C 0x0001040d C 0x00010d2d C 0x00010412 C 0x00010413
We can use CLI to send the clear event as per articleId=9001
./create event type=<EVENT_CODE_THAT_CLEARS_THE_ALARM> text="Clearing Event" mh=<MODEL_HANDLE_OF_DEVICE>
Important! Do not customize the following list of event codes as this will adversely affect Spectrum’s fault isolation algorithms which leads to undesirable results.
LINK_GOOD = 0x00010d10,
LINK_BAD = 0x00010d11,
LINK_DISABLED = 0x00010d12,
LINK_UNKNOWN = 0x00010d13,
LINK_UNREACHABLE = 0x00010d14,
LINK_INITIAL = 0x00010d15,
LINK_BAD_SUPPRESSED = 0x00010d16,
LINK_LL_IN_MAINTENANCE = 0x00010d2e,
LINKED_PORT_BAD = 0x00010d17,
LINKED_DEVICE_BAD = 0x00010d18,
LINK_STATUS_CLEAR = 0x00010d2a,
LINK_DISABLED_AND_BAD = 0x0001040d,
LINK_ALWAYS_DOWN = 0x00010d2f,
LINK_BAD_WA_LINK_BAD = 0x00010d2d
CS_EVENT_ALARM_SET = 0x00010701
CS_EVENT_ALARM_UPDATED = 0x00010703
CS_EVENT_DEVICE_LOST = 0x00010302
DEVICE_CONTACT_STATUS_LOST = 0x00010d35
DEVICE_GATEWAY_UNREACHABLE = 0x00010d36
MGMT_LOST = 0x00010d00
UNRESOLVED_FAULT = 0x00010d05
APPLICATION_LOST = 0x00010d09
APPLICATION_REACTIVATED = 0x00010d0b
MGMT_REACTIVATED = 0x00010d0c
LINK_GOOD = 0x00010d10
LINK_BAD = 0x00010d11
LINK_DISABLED = 0x00010d12
LINK_UNKNOWN = 0x00010d13
LINK_UNREACHABLE = 0x00010d14
LINK_INITIAL = 0x00010d15
LINK_BAD_SUPPRESSED = 0x00010d16
LINKED_PORT_BAD = 0x00010d17
LINKED_DEVICE_BAD = 0x00010d18
DEV_MNGMNT_NBORS_DOWN = 0x00010d19
LANDSCAPE_CONTACT_STATUS_CLEAR = 0x00010d20
PORT_LOST = 0x00010d66
PORT_REACTIVATED = 0x00010d67
ALARMING_MGMT_LOST_EVENT = 0x10daa
Customizing the above events would have direct impact on Fault Isolation (FI)/ Internal Port Link Status (IPLS).