summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Barth <msbarth@us.ibm.com>2017-10-30 22:49:35 +0300
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2018-02-27 17:16:35 +0300
commitd0faafc42eddfa11b1c0e068ed086f56d083f0c1 (patch)
tree540b440b2ec02f63b96f5c68aa2ca7992c29c896
parent7e0cadfaefcd972fc2efeba533453022a18bb116 (diff)
downloadopenbmc-d0faafc42eddfa11b1c0e068ed086f56d083f0c1.tar.xz
wspoon: Handle dependent application fails
In addition to property changed and interface added signals, fan control can subscribe to name owner changed signals for groups to determine whether or not a service that provides data from that group is still owned on the bus. This allows events to be defined within the fan control algorithm that would react to any services it is dependent on appropriately. e.g.) If the service that provides either of the OCC active sensor status fails and is no longer owned on the bus for 5 seconds, the fans are set to full speed until the service returns or the system is powered off. Resolves openbmc/openbmc#2346 Change-Id: Ia681c26f5e2d6794ab2f0f4480e0902100586544 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
-rw-r--r--meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config-native/events.yaml72
1 files changed, 72 insertions, 0 deletions
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config-native/events.yaml b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config-native/events.yaml
index be1a2f0c9..b5967f051 100644
--- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config-native/events.yaml
+++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config-native/events.yaml
@@ -266,6 +266,78 @@ actions:
- delta
events:
+ - name: default_fan_floor_on_service_fail
+ zone_conditions:
+ - name: air_cooled_chassis
+ zones:
+ - 0
+ - name: water_and_air_cooled_chassis
+ zones:
+ - 0
+ group: zone0_ambient
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ matches:
+ - name: nameOwnerChanged
+ actions:
+ - name: call_actions_based_on_timer
+ timer:
+ delay: 5
+ type: oneshot
+ actions:
+ - name: default_floor_on_missing_owner
+ - name: high_speed_on_occ0_service_fail
+ zone_conditions:
+ - name: air_cooled_chassis
+ zones:
+ - 0
+ - name: water_and_air_cooled_chassis
+ zones:
+ - 0
+ group: occ0_object
+ interface: org.open_power.OCC.Status
+ property:
+ name: OccActive
+ type: bool
+ matches:
+ - name: nameOwnerChanged
+ actions:
+ - name: call_actions_based_on_timer
+ timer:
+ delay: 5
+ type: oneshot
+ actions:
+ - name: set_speed_on_missing_owner
+ speed:
+ value: 10500
+ type: uint64_t
+ - name: high_speed_on_occ1_service_fail
+ zone_conditions:
+ - name: air_cooled_chassis
+ zones:
+ - 0
+ - name: water_and_air_cooled_chassis
+ zones:
+ - 0
+ group: occ1_object
+ interface: org.open_power.OCC.Status
+ property:
+ name: OccActive
+ type: bool
+ matches:
+ - name: nameOwnerChanged
+ actions:
+ - name: call_actions_based_on_timer
+ timer:
+ delay: 5
+ type: oneshot
+ actions:
+ - name: set_speed_on_missing_owner
+ speed:
+ value: 10500
+ type: uint64_t
- name: missing_before_high_speed_air
zone_conditions:
- name: air_cooled_chassis