After OI domain manager restarts, all persisted ICS_Notification events transition to WAS_ACTIVE. For certain ephemeral or synthetic event sources, this is undesirable — operators do not want stale notifications from these sources to survive a restart. Instead, those notifications should be explicitly cleared (EventState = INACTIVE) on restart so they auto-archive and are removed from the active event console.
Smarts: All Supported OI Suite
Version: 25.x and later
On restart, the RESTORE_NOTIFICATIONS rule in icoi-init.asl unconditionally calls serverDetached() on every notification, which sets the state to WAS_ACTIVE. There is no mechanism to instead clear a notification on restart for specific sources.
NOTE: Following workaround would work on new traps generated after implementing custom asl but would not work on existing trap notification.
A pre-modified icoi-init.asl is provided as an attachment to this KB article. It introduces a configurable variable ClearSourcesOnRestart that, when set to a comma-separated list of event source DomainName values, calls ICS_Notification::clear() for those sources on restart instead of serverDetached(). This drives the EventState to INACTIVE (CLEAR), after which the notification follows the standard auto-archive lifecycle.
Prerequisites
dmctl -s <OI> get ICS_Domain::ICS-Trap-Normalization::DomainName
Example:
dmctl -s INCHARGE-OI get ICS_Domain::ICS-Trap-Normalization::DomainNameFor a standard Trap Adapter deployment, the value is typically "Trap Processor".
Implementation Steps
mkdir -p $SM_HOME/local/rules/icoiThe typical full path is <SAM_BASE>/smarts/local/rules/icoi/. Files placed here take precedence over the default installation, so the original product file is not modified.$SM_HOME/local/rules/icoi/icoi-init.asldefault ClearSourcesOnRestart = "";Set it to the DomainName of the trap-based source identified in the Prerequisites step.default ClearSourcesOnRestart = "Trap Processor";Note: For multiple sources, use a comma-separated list with no spaces:default ClearSourcesOnRestart = "Trap Processor,MyOtherTrapSource";This is the only line in the file that needs to be edited. No other modifications are required.sm_service stop <OI_SERVICE>
sm_service start <OI_SERVICE>Post restart, All the notifications from the specified source under variable "ClearSourcesOnRestart" will have the EventState as "INACTIVE", verify it as:dmctl -s <OI> get ICS_Notification::<NotificationName>::EventState
Example:
dmctl -s INCHARGE-OI get ICS_Notification::<NotificationName>::EventStateNotes
Rollback
Remove the placed file from $SM_HOME/local/rules/icoi/ and restart the domain manager. The server will revert to the original product file with no changes:
rm $SM_HOME/local/rules/icoi/icoi-init.aslsm_service stop <OI_SERVICE>sm_service start <OI_SERVICE>