control:ibm,everest: Fan rotor nonfunctional event
Sets/holds the fans at a target of 10700rpm when 1 or more fan
rotors are deemed nonfunctional.
Change-Id: I3003ae64cd323bd7066c8b523e86bef0c4d66d06
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
diff --git a/control/config_files/p10bmc/ibm,everest/events.json b/control/config_files/p10bmc/ibm,everest/events.json
index 76803c1..5e8aaf6 100644
--- a/control/config_files/p10bmc/ibm,everest/events.json
+++ b/control/config_files/p10bmc/ibm,everest/events.json
@@ -27,5 +27,49 @@
"target": 10700
}
]
+ },
+ {
+ // Hold fans at the given target when a number of rotors are nonfunctional.
+ "name": "fan rotor(s) faulted",
+ "groups": [
+ {
+ "name": "fan0 rotor inventory",
+ "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
+ "property": { "name": "Functional" }
+ },
+ {
+ "name": "fan1 rotor inventory",
+ "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
+ "property": { "name": "Functional" }
+ },
+ {
+ "name": "fan2 rotor inventory",
+ "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
+ "property": { "name": "Functional" }
+ },
+ {
+ "name": "fan3 rotor inventory",
+ "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
+ "property": { "name": "Functional" }
+ }
+ ],
+ "triggers": [
+ {
+ "class": "init",
+ "method": "get_properties"
+ },
+ {
+ "class": "signal",
+ "signal": "properties_changed"
+ }
+ ],
+ "actions": [
+ {
+ "name": "count_state_before_target",
+ "count": 1,
+ "state": false,
+ "target": 10700
+ }
+ ]
}
]
diff --git a/control/config_files/p10bmc/ibm,everest/groups.json b/control/config_files/p10bmc/ibm,everest/groups.json
index 74f36e9..ca9b468 100644
--- a/control/config_files/p10bmc/ibm,everest/groups.json
+++ b/control/config_files/p10bmc/ibm,everest/groups.json
@@ -7,5 +7,33 @@
"/xyz/openbmc_project/inventory/system/chassis/motherboard/fan2",
"/xyz/openbmc_project/inventory/system/chassis/motherboard/fan3"
]
+ },
+ {
+ "name": "fan0 rotor inventory",
+ "members": [
+ "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan0/fan0_0",
+ "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan0/fan0_1"
+ ]
+ },
+ {
+ "name": "fan1 rotor inventory",
+ "members": [
+ "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan1/fan1_0",
+ "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan1/fan1_1"
+ ]
+ },
+ {
+ "name": "fan2 rotor inventory",
+ "members": [
+ "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan2/fan2_0",
+ "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan2/fan2_1"
+ ]
+ },
+ {
+ "name": "fan3 rotor inventory",
+ "members": [
+ "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan3/fan3_0",
+ "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan3/fan3_1"
+ ]
}
]