| #Example fan monitor definitions for phosphor-fan-monitor |
| |
| #List the fans that need to be monitored, along with some |
| #properties that define how much slack is allowed in the actual |
| #tach value as compared to the target tach value. |
| |
| #fans: |
| # - inventory: |
| # [The system inventory location for the fan] |
| # method: [timebased|count](optional) |
| # [Available methods: |
| # * timebased - use a percentage based deviation |
| # * count - run up/down count fault detection] |
| # functional_delay: |
| # [Delay (in secs) before a fan is marked functional after returning |
| # within the allowed deviation] |
| # allowed_out_of_range_time: (required for method timebased) |
| # [Time (in secs) actual speed can be outside of deviation of |
| # target speed] |
| # deviation: |
| # [Percentage that actual speed must be within target speed] |
| # num_sensors_nonfunc_for_fan_nonfunc: |
| # [How many sensors on the fan must be faulted before fan |
| # will be considered faulted] |
| # sensors: [array of speed sensors for the fan] |
| # - name [The name of the fan sensor] |
| # has_target [true|false If this sensor has a Target property for |
| # setting a fan speed (otherwise just for reads)] |
| # target_interface [The fan target interface used by the sensor. |
| # Default is "xyz.openbmc_project.Control.FanSpeed"] |
| # target_path [The full target path, which implements |
| # xyz.openbmc_project.Control.FanSpeed or |
| # xyz.openbmc_project.Control.FanPwm interface. |
| # Default is /xyz/openbmc_project/sensors/fan_tach/*"] |
| # factor [The factor to multiply with target to calculate the expected |
| # fan speed. Default is 1 for fan speed target; |
| # Customized value for pwm target] |
| # offset [The offset to add to calculate the expected fan speed. |
| # Default is 0 for fan speed target; |
| # Customized value for pwm target] |
| # condition: [optional condition function to create fan functional monitoring] |
| # name: [The name of an available condition function] |
| # properties: [The properties used in the condition function] |
| # - object: [Object path of property to use] |
| # interface: [Interface of property to use] |
| # property: |
| # name: [Property name] |
| # type: [Property data type] |
| # value: [Property value to check condition against] |
| # |
| #sensor_trust_groups: |
| # - class: [Group class name |
| # Available classes: |
| # * NonzeroSpeed - Only trust if at least one sensor in the group |
| # has a nonzero speed.] |
| # group: |
| # - name [The name of the fan sensor in this group] |
| # in_trust: [true|false] (optional) |
| # [Include in trust determination or not. Default = true] |
| |
| #The code uses these parameters as follows: |
| # After a speed reading of a sensor is outside of the allowed deviation of |
| # the target speed for the allowed out of range time, if at least |
| # num_sensors_nonfunc_for_fan_nonfunc sensors meet this condition, |
| # the fan will be set to nonfunctional in the inventory. |
| # |
| # Sensor trust groups are used to specify that the speed values for the |
| # sensors in a group cannot be trusted based on some condition, where |
| # the condition is based on the class used to implement the group. All |
| # sensors in the group go in and out of trust based on those defined |
| # to be part of determining the trust. This section is optional. |
| |
| #Example entries for 1 fan system: |
| #fans: |
| # - inventory: /system/chassis/motherboard/fan0 |
| # functional_delay: 5 |
| # allowed_out_of_range_time: 15 |
| # deviation: 15 |
| # num_sensors_nonfunc_for_fan_nonfunc: 1 |
| # sensors: |
| # - name: fan0 |
| # has_target: true |
| # # Only create fan functional properties and monitor on air cooled |
| # condition: |
| # name: propertiesMatch |
| # properties: |
| # - object: /xyz/openbmc_project/inventory/system/chassis |
| # interface: xyz.openbmc_project.Inventory.Decorator.CoolingType |
| # property: |
| # name: WaterCooled |
| # type: bool |
| # value: false |
| #sensor_trust_groups: |
| # - class: NonzeroSpeed |
| # group: |
| # - name: fan0_0 |
| # in_trust: false |
| # - name: fan0_1 |
| |
| #Example entries for count method fan system: |
| #fans: |
| # - inventory: /system/chassis/motherboard/fan2 |
| # method: count |
| # functional_delay: 5 |
| # deviation: 15 |
| # num_sensors_nonfunc_for_fan_nonfunc: 1 |
| # sensors: |
| # - name: fan2 |
| # has_target: true |
| # # Only create fan functional properties and monitor on air cooled |
| # condition: |
| # name: propertiesMatch |
| # properties: |
| # - object: /xyz/openbmc_project/inventory/system/chassis |
| # interface: xyz.openbmc_project.Inventory.Decorator.CoolingType |
| # property: |
| # name: WaterCooled |
| # type: bool |
| # value: false |