/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* or http://www.opensolaris.org/os/licensing.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
*/
#pragma dictionary "STORAGE"
/*
* Fault event definitions.
*/
event fault.config.fan-fail@ses-enclosure;
event fault.config.fantray-fail@ses-enclosure;
event fault.config.psu-fail@ses-enclosure;
event fault.device.controller.fail@controller;
event fault.device.ethernet.fail@controller;
event fault.device.ethernet.fail@sas-expander;
event fault.device.fan.fail@fan;
event fault.device.fan.fail@fanmodule;
event fault.device.psu.fail@psu;
event fault.device.psu.fail@psu;
event fault.device.sas-expander.fail@sas-expander;
event fault.device.unusable-chassis-id@fanboard;
event fault.io.i2c.fail@controller;
event fault.io.i2c.fail@fanboard;
event fault.io.i2c.fail@fanmodule;
event fault.io.i2c.fail@powerboard;
event fault.io.i2c.fail@psu;
event fault.io.sas.log.fatal@sas-expander;
event fault.io.sas.log.non-fatal@sas-expander;
event fault.power.ext-fail@ses-enclosure;
event fault.power.fail@controller;
event fault.power.fail@controller;
event fault.power.fail@controller;
event fault.power.fail@fanmodule;
event fault.power.fail@fanmodule;
event fault.power.fail@psu;
event fault.power.fail@psu;
event fault.sensor.read-fail@controller;
event fault.sensor.read-fail@fanmodule;
event fault.sensor.read-fail@fan;
event fault.sensor.read-fail@psu;
event fault.sp.fail@controller;
event fault.sp.svc-fail@controller;
event fault.sp.unavailable@controller;
event fault.temp.fail@controller;
event fault.temp.fail@fanmodule;
event fault.temp.fail@psu;
/*
* Error event definitions.
*/
event ereport.chassis.config.missing-fan@ses-enclosure;
event ereport.chassis.config.missing-fantray@ses-enclosure;
event ereport.chassis.config.missing-psu@ses-enclosure;
event ereport.chassis.device.ecb.shutoff@controller;
event ereport.chassis.device.ethernet.link-down@controller;
event ereport.chassis.device.ethernet.link-down@sas-expander;
event ereport.chassis.device.psu.dc-fail@psu;
event ereport.chassis.device.psu.dc-oc@psu;
event ereport.chassis.device.psu.dc-ov@psu;
event ereport.chassis.device.psu.dc-uv@psu;
event ereport.chassis.device.psu.ext-ac-fail@psu;
event ereport.chassis.device.psu.ot@psu;
event ereport.chassis.device.sas-expander.fail@sas-expander;
event ereport.chassis.device.unusable-chassis-id@fanboard;
event ereport.chassis.io.i2c.fail@controller;
event ereport.chassis.io.i2c.fail@fanboard;
event ereport.chassis.io.i2c.fail@fanmodule;
event ereport.chassis.io.i2c.fail@powerboard;
event ereport.chassis.io.i2c.fail@psu;
event ereport.chassis.post.device.fail@controller;
event ereport.chassis.post.device.fail@fan;
event ereport.chassis.post.device.fail@fanmodule;
event ereport.chassis.post.device.fail@psu;
event ereport.chassis.post.sp.fail@controller;
event ereport.chassis.sensor.current.oc@controller;
event ereport.chassis.sensor.current.oc@fanmodule;
event ereport.chassis.sensor.current.oc@psu;
event ereport.chassis.sensor.current.uc@controller;
event ereport.chassis.sensor.current.uc@fanmodule;
event ereport.chassis.sensor.current.uc@psu;
event ereport.chassis.sensor.fanspeed.us@fan;
event ereport.chassis.sensor.read-fail@controller;
event ereport.chassis.sensor.read-fail@fanmodule;
event ereport.chassis.sensor.read-fail@fan;
event ereport.chassis.sensor.read-fail@psu;
event ereport.chassis.sensor.temp.ot@controller;
event ereport.chassis.sensor.temp.ot@fanmodule;
event ereport.chassis.sensor.temp.ot@psu;
event ereport.chassis.sensor.temp.ut@controller;
event ereport.chassis.sensor.temp.ut@fanmodule;
event ereport.chassis.sensor.temp.ut@psu;
event ereport.chassis.sensor.voltage.ov@controller;
event ereport.chassis.sensor.voltage.ov@fanmodule;
event ereport.chassis.sensor.voltage.ov@psu;
event ereport.chassis.sensor.voltage.uv@controller;
event ereport.chassis.sensor.voltage.uv@fanmodule;
event ereport.chassis.sensor.voltage.uv@psu;
event ereport.chassis.sp.svc-restart@controller;
event ereport.chassis.sp.unavailable@controller;
event ereport.io.sas.log.fatal@sas-expander;
event ereport.io.sas.log.non-fatal@sas-expander;
/*
* Service Processor failure
*/
prop fault.sp.fail@controller ->
ereport.chassis.post.sp.fail@controller;
/*
* Controller failure
*/
prop fault.device.controller.fail@controller ->
ereport.chassis.post.device.fail@controller;
/*
* Fan module failure
*/
prop fault.device.fan.fail@fanmodule ->
ereport.chassis.post.device.fail@fanmodule;
/*
* I2C transaction failure
*/
prop fault.io.i2c.fail@controller ->
ereport.chassis.io.i2c.fail@controller;
prop fault.io.i2c.fail@fanboard ->
ereport.chassis.io.i2c.fail@fanboard;
prop fault.io.i2c.fail@fanmodule ->
ereport.chassis.io.i2c.fail@fanmodule;
prop fault.io.i2c.fail@powerboard ->
ereport.chassis.io.i2c.fail@powerboard;
prop fault.io.i2c.fail@psu ->
ereport.chassis.io.i2c.fail@psu;
/*
* Chassis ID unusable failure
*/
prop fault.device.unusable-chassis-id@fanboard ->
ereport.chassis.device.unusable-chassis-id@fanboard;
/*
* Configuration failure
*/
prop fault.config.psu-fail@ses-enclosure ->
ereport.chassis.config.missing-psu@ses-enclosure{
setpayloadprop("min-required", payloadprop("min-required")) &&
setpayloadprop("devices", payloadprop("devices"))};
prop fault.config.fan-fail@ses-enclosure ->
ereport.chassis.config.missing-fan@ses-enclosure{
setpayloadprop("min-required", payloadprop("min-required")) &&
setpayloadprop("devices", payloadprop("devices"))};
prop fault.config.fantray-fail@ses-enclosure ->
ereport.chassis.config.missing-fantray@ses-enclosure{
setpayloadprop("min-required", payloadprop("min-required")) &&
setpayloadprop("devices", payloadprop("devices"))};
/*
* Fan failure
*/
prop fault.device.fan.fail@fan ->
ereport.chassis.sensor.fanspeed.us@fan,
ereport.chassis.post.device.fail@fan;
/*
* Sensor reading failure
*/
prop fault.sensor.read-fail@controller ->
ereport.chassis.sensor.read-fail@controller;
prop fault.sensor.read-fail@fanmodule ->
ereport.chassis.sensor.read-fail@fanmodule;
prop fault.sensor.read-fail@fan ->
ereport.chassis.sensor.read-fail@fan;
prop fault.sensor.read-fail@psu ->
ereport.chassis.sensor.read-fail@psu;
/*
* Temperature failure
*/
prop fault.temp.fail@controller ->
ereport.chassis.sensor.temp.ot@controller,
ereport.chassis.sensor.temp.ut@controller;
prop fault.temp.fail@fanmodule ->
ereport.chassis.sensor.temp.ot@fanmodule,
ereport.chassis.sensor.temp.ut@fanmodule;
prop fault.temp.fail@psu ->
ereport.chassis.sensor.temp.ot@psu,
ereport.chassis.sensor.temp.ut@psu;
/*
* Power failure
*/
prop fault.power.fail@controller ->
ereport.chassis.device.ecb.shutoff@controller,
ereport.chassis.sensor.current.oc@controller,
ereport.chassis.sensor.current.uc@controller,
ereport.chassis.sensor.voltage.ov@controller,
ereport.chassis.sensor.voltage.uv@controller;
prop fault.power.fail@fanmodule ->
ereport.chassis.sensor.current.oc@fanmodule,
ereport.chassis.sensor.current.uc@fanmodule,
ereport.chassis.sensor.voltage.ov@fanmodule,
ereport.chassis.sensor.voltage.uv@fanmodule;
prop fault.power.fail@psu ->
ereport.chassis.sensor.current.oc@psu,
ereport.chassis.sensor.current.uc@psu,
ereport.chassis.sensor.voltage.ov@psu,
ereport.chassis.sensor.voltage.uv@psu;
/*
* Power supply unit failure
*/
prop fault.device.psu.fail@psu ->
ereport.chassis.device.psu.dc-fail@psu,
ereport.chassis.device.psu.dc-ov@psu,
ereport.chassis.device.psu.dc-uv@psu,
ereport.chassis.device.psu.dc-oc@psu,
ereport.chassis.device.psu.ot@psu,
ereport.chassis.post.device.fail@psu;
/*
* External power failure
*/
prop fault.power.ext-fail@ses-enclosure ->
ereport.chassis.device.psu.ext-ac-fail@psu<>;
/*
* SAS Expander failure
*/
prop fault.device.sas-expander.fail@sas-expander ->
ereport.chassis.device.sas-expander.fail@sas-expander;
/*
* Ethernet failure
*/
prop fault.device.ethernet.fail@controller ->
ereport.chassis.device.ethernet.link-down@controller;
prop fault.device.ethernet.fail@sas-expander ->
ereport.chassis.device.ethernet.link-down@sas-expander;
/*
* Service Processor unavailable failure
*/
prop fault.sp.unavailable@controller ->
ereport.chassis.sp.unavailable@controller;
/*
* Service Processor service failure
*/
prop fault.sp.svc-fail@controller ->
ereport.chassis.sp.svc-restart@controller{
setpayloadprop("service", payloadprop("service"))};
/*
* SAS Expander Log failure
*/
prop fault.io.sas.log.non-fatal@sas-expander ->
ereport.io.sas.log.non-fatal@sas-expander;
prop fault.io.sas.log.fatal@sas-expander ->
ereport.io.sas.log.fatal@sas-expander;