#
# This only applies to t3.LogEvent
# Policies are executed from top to bottom in the file.
#
# shortkey mean one event can have notices from different disks.

[policy1]
pattern=/warning temperature threshold exceeded/
egrid=temp_threshold
key=temp_threshold
severity=2

[policy2]
pattern=/u(\d)ctr ISP2300\[2\] Received LOOP DOWN/
severity=1
action=0
egrid=controller.port2

[policy3]
pattern=/u(\d)ctr ISP.+LOOP DOWN/
known=1
severity=1
action=1
egrid=controller.port
key=$PORT

[policy24]
pattern=/E: RAS: Failed to isolate fault/
severity=2
egrid=ras_isolate_fault

[policy4]
pattern=/ Disabled/
egrid=fru_disabled
severity=0

[policy5]
pattern=/: W: .*, Replace battery/
egrid=power.battery.replace
key=replaceBattery
severity=2

# warning that comes from a shell are a Notice and not actionable
[policy6]
pattern=/ sh\d+\[.*: W: (.*)/
severity=0
egrid=array_warning

[policy7]
pattern=/: [EW]: u\dctr XOR:/
key=controller
severity=2
egrid=controller.XOR

# runs when Sense key is present in the following 1/2 lines
[policy8]
pattern=/: [INWE]: u\dd\d/
pattern2=/Sense Key = (\w+), Asc = (\w+), Ascq = (\w+)/
pattern3=/Sense Key = (\w+), Asc = (\w+), Ascq = (\w+)/
key=senseKey
extended=senseKey
egrid=disk.senseKey
severity=0

[policy9]
pattern=/: [N]: u\dd\d+ SVD_PATH_FAILBACK/
severity=0
egrid=array_warning
action=0
egrid=disk.loopMode

[policy10]
pattern=/: [W]: u\dd\d+ SVD_PATH_FAILOVER/
severity=1
egrid=array_warning
action=0
egrid=disk.loopMode


[policy11]
pattern=/: N: u\dpcu\d: Refreshing battery/
severity=0
key=refreshBattery
egrid=power.battery.refresh

[policy12]
pattern=/: N: u\dctr: Enabled/
severity=0
egrid=controller

[policy13]
pattern=/: N: u\dpcu\d.*Battery not OK/
severity=2
egrid=power.battery

[policy14]
pattern=/: N: u\dpcu\d.*PCU\d hold time/
severity=1
egrid=power.battery
action=1

[policy15]
pattern=/: [INWE]: u\dd\d/
pattern2=/Sense/
pattern3=/Sense/
key=senseKey
egrid=disk.senseKey
severity=0

[policy16]
pattern=/: [NI]: u\dd\d.*disk error 5/
key=disk_error
egrid=disk.error5
severity=W
shortkey=1
action=0

[policy17]
pattern=/: N: u\dd\d+: Bypassed on loop/
key=disk_bypassed
egrid=disk.bypassed
severity=W
shortkey=1
action=0

[policy18]
pattern=/: N: u\dd\d+ Bypassed on loop/
key=disk_bypassed
egrid=disk.bypassed
severity=W
shortkey=1
action=0

[policy19]
pattern=/SVD_DONE: Command Error = 0x3/
egrid=cmd.error3
severity=W
shortkey=1
action=0

[policy20]
pattern=/SVD_DONE: Command Error = 0x4/
egrid=cmd.error4
severity=W
shortkey=1
action=0

[policy21]
pattern=/SVD_DONE: Command Error = 0x14/
egrid=cmd.error14
severity=W
shortkey=1
action=0

[policy22]
pattern=/E:*RAS:.*'sys ondg' is off/
severity=2
egrid=ras_ondg_off

# The 'D' is missing because it is capital sometimes.
[policy23]
pattern=/E: RAS: u\dd\d+.*disabled after copy reconstruction complete/
severity=1
egrid=ras_fru_recon

# The 'D' is missing because it is capital sometimes.
[policy25]
pattern=/E: RAS:.*rive is disabled/
severity=1
egrid=ras_fru_disabled

[policy26]
pattern=/E: RAS:.*loopcard disabled/
severity=1
egrid=ras_fru_disabled

[policy27]
pattern=/E: RAS: u\dctr has faulty port on loop/
severity=1
egrid=ras_fru_disabled

[policy28]
pattern=/E: RAS: u\dd\d+ has faulty port on loop/
severity=2
egrid=ras_fru_degraded

# The 'I' is missing because it is capital sometimes.
[policy29]
pattern=/E: RAS:.*ntermittent faults/
severity=2
egrid=ras_fru_degraded

[policy30]
pattern=/[EW]: RAS:/
severity=1
egrid=ras_warning

[policy31]
pattern=/: W: (.*)/
severity=1
egrid=array_warning
action=0

[policy32]
pattern=/: E: (.*)/
severity=2
egrid=array_error

[policy33]
pattern=/: N: u\dd\d.* Disk Scrubber task/
severity=X

[policy34]
pattern=/: N: u\dd\d.* sid (.*) stype (.*) disk error (.*)/
severity=X
	   
# generic Notice or Info about a disk is considered a Notice used for RAS
# shortkey mean one event can have notices from different disks.
[policy999]
pattern=/: N: u\dd\d/
key=log
egrid=disk.log
severity=0
shortkey=1
action=0
