How does Spectrum handle duplicate entries in EventDisp files?

Document ID : KB000113053
Last Modified Date : 06/09/2018
Show Technical Document Details
Introduction:
At SpectroSERVER startup or when the Event Configuration is updated by clicking on the "Update Event Configuration" button in the "SpectroSERVER Control" subview of the VNM model or running the "Command Line Interface" (CLI) "Reload EventDisp" action (action id reload_event_disp, 0x000100a2, or 65698) update action on the VNM model, Spectrum reads the EventDisp files in the $SPECROOT/SS/CsVendor and $SPECROOT/custom/Events directory areas and stores the information in memory. 

How does Spectrum handle duplicate entries in EventDisp files?
Question:
How does Spectrum handle duplicate entries in EventDisp files?
Environment:
Any version of Spectrum running on any support operating system.
Answer:
First off, we have to understand a couple of the other rules surrounding EventDisp entries.

1. In the $SPECROOT/SS/CsVendor directory, all EventDisp files that are located one more directory deep are considered "Global" EventDisp files. For example, the EventDisp file located in the $SPECROOT/SS/CsVendor/Cabletron directory and the one located in the $SPECROOT/SS/CsVendor/Cisco_Router directory are considered "Global" EventDisp files. All of the events configured in these files are considered "Global" events. That mean Spectrum can generate those events on ANY model in the Spectrum database. 

2. In the $SPECROOT/SS/CsVendor directory, all EventDisp files that are located two or more directories deeper are considered "Model Type Specific". This means the way the events are configured in these specific EventDisp files will ONLY be asserted on the models created in the Spectrum database using that specific model type. For example, the way the events are configured in the EventDisp in the $SPECROOT/SS/CsVendor/Cisco_Router/CiscoVDCContainer directory are only processed on the CiscoVDCContainer model type.

This allows the user to customize how an event is processed on specific model types. For example, a event in a "Global" EventDisp file may not generate an alarm but the user may want to see an alarm for this event on models that use the Rtr_Cisco model type. An entry can be made to the $SPECROOT/SS/CsVendor/Cisco_Router/Rtr_Cisco/EventDisp file to assert an alarm for that event.

NOTE: These same 2 rules apply to EventDisp files in the $SPECROOT/custom/Events directory. The $SPECROOT/custom/Events/EventDisp file is a "Global" EventDisp file.

Now that we know these two rules, how does Spectrum handle duplicate entries in EventDisp files?

1. If the duplicate entry resides in the same EventDisp file, the entry read in first is the one used by Spectrum. In the following example, the event that generates the alarm is the one Spectrum will use:

0xfff00015 E 0 A 3,0xfff00013
0xfff00015 E 0


2. If the duplicate entry resides in different "Global" EventDisp files in the $SPECROOT/SS/CsVendor directory, the one read in first is the one Spectrum uses.

3. If the duplicate entry resides in different "Global" EventDisp files in the $SPECROOT/custom/Events directory, the one read in first is the one Spectrum uses.

4. If the duplicate entry resides in a "Global" and a "Model Type Specific" EventDisp file in the $SPECROOT/SS/CsVendor directory, the one in the "Model Type Specific" EventDisp file will be used for that model type and all other models will use the one in the "Global" EventDisp file.

5. If the duplicate entry resides in a "Global" and a "Model Type Specific" EventDisp file in the $SPECROOT/custom/Events directory, the one in the "Model Type Specific" EventDisp file will be used for that model type and all other models will use the one in the "Global" EventDisp file.

6. If the duplicate entry resides in a "Global" EventDisp file in the $SPECROOT/SS/CsVendor directory and a "Global" EventDisp file in the  $SPECROOT/custom/Events directory, the one in the $SPECROOT/custom/Events directory takes precedence and is used.

7. If the duplicate entry resides in a "Model Type Specific" EventDisp file in the $SPECROOT/SS/CsVendor directory and a "Model TypeSpecific" EventDisp file in the  $SPECROOT/custom/Events directory AND they are the same directory structure to the EventDisp file, the one in the  $SPECROOT/custom/Events directory takes precedence and is used.

For example, one of the entries resides in the $SPECROOT/SS/CsVendor/Cisco_Router/Rtr_Cisco/EventDisp file and the other resides in the $SPECROOT/custom/Events/Cisco_Router/Rtr_Cisco/EventDisp file. The one in the $SPECROOT/custom/Events/Cisco_Router/Rtr_Cisco/EventDisp file is used.

8. If the duplicate entry resides in a "Global" EventDisp file in the $SPECROOT/CsVendor directory and a "Model Type Specific" EventDisp file in the $SPECROOT/custom/Events directory, the one in the "Model Type Specific" EventDisp entry in the $SPECROOT/custom/Events directory will be used for that specific model type. All other models will use the one in the $SPECROOT/CsVendor directory.

9. If the duplicate entry resides in a "Model Type Specific" EventDisp file in the $SPECROOT/CsVendor directory and a "Global" EventDisp file in the $SPECROOT/custom/Events directory, the one in the "Model Type Specific" EventDisp file in the $SPECROOT/CsVendor directory will be used for that specific model type. All other models will use the one in the SPECROOT/custom/Events directory.

NOTE: The AlertMap file also follow these same rules.