control:p10bmc: Critical service(s)
Sets/holds the fans at an initial target for each p10bmc machine when
the OCC or fan inventory service is missing after delaying for 5sec.
Future additional critical services will be added as the sensor groups
are configured and utilized.
Change-Id: I9b497e508561ba30ec32e6514f7942369c034b91
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
diff --git a/control/config_files/p10bmc/ibm,rainier-2u/events.json b/control/config_files/p10bmc/ibm,rainier-2u/events.json
index 13cbf9a..f7d83a6 100644
--- a/control/config_files/p10bmc/ibm,rainier-2u/events.json
+++ b/control/config_files/p10bmc/ibm,rainier-2u/events.json
@@ -81,5 +81,54 @@
"target": 11200
}
]
+ },
+ {
+ // Hold fans at the given target when any critical service
+ // is not running for 5 seconds.
+ "name": "service(s) missing",
+ "groups": [
+ {
+ "name": "occ objects",
+ "interface": "org.open_power.OCC.Status",
+ "property": { "name": "OccActive" }
+ }
+ ],
+ "triggers": [
+ {
+ "class": "init",
+ "method": "name_has_owner"
+ },
+ {
+ "class": "signal",
+ "signal": "name_owner_changed"
+ }
+ ],
+ "actions": [
+ {
+ "name": "call_actions_based_on_timer",
+ "timer": {
+ "interval": 5000000,
+ "type": "oneshot"
+ },
+ "actions": [
+ {
+ "name": "set_target_on_missing_owner",
+ "groups": [
+ {
+ "name": "fan inventory",
+ "interface": "xyz.openbmc_project.Inventory.Item",
+ "property": { "name": "Present" }
+ },
+ {
+ "name": "occ objects",
+ "interface": "org.open_power.OCC.Status",
+ "property": { "name": "OccActive" }
+ }
+ ],
+ "target": 11200
+ }
+ ]
+ }
+ ]
}
]