Matt Spinler | 1432184 | 2017-04-28 15:27:43 -0500 | [diff] [blame] | 1 | #Example fan monitor definitions for phosphor-fan-monitor |
| 2 | |
| 3 | #List the fans that need to be monitored, along with some |
| 4 | #properties that define how much slack is allowed in the actual |
| 5 | #tach value as compared to the target tach value. |
| 6 | |
Matt Spinler | 956a0a5 | 2017-09-28 12:44:06 -0500 | [diff] [blame] | 7 | #fans: |
| 8 | # - inventory: |
Matt Spinler | 1432184 | 2017-04-28 15:27:43 -0500 | [diff] [blame] | 9 | # [The system inventory location for the fan] |
Matthew Barth | 9396bcc | 2018-02-19 14:13:20 -0600 | [diff] [blame] | 10 | # functional_delay: |
| 11 | # [Delay (in secs) before a fan is marked functional after returning |
| 12 | # within the allowed deviation] |
Matt Spinler | 1432184 | 2017-04-28 15:27:43 -0500 | [diff] [blame] | 13 | # allowed_out_of_range_time: |
| 14 | # [Time (in secs) actual speed can be outside of deviation of |
| 15 | # target speed] |
| 16 | # deviation: |
| 17 | # [Percentage that actual speed must be within target speed] |
| 18 | # num_sensors_nonfunc_for_fan_nonfunc: |
| 19 | # [How many sensors on the fan must be faulted before fan |
| 20 | # will be considered faulted] |
| 21 | # sensors: [array of speed sensors for the fan] |
| 22 | # - name [The name of the fan sensor] |
| 23 | # has_target [true|false If this sensor has a Target property for |
| 24 | # setting a fan speed (otherwise just for reads)] |
Lei YU | 80f271b | 2018-01-31 15:24:46 +0800 | [diff] [blame] | 25 | # target_interface [The fan target interface used by the sensor. |
| 26 | # Default is "xyz.openbmc_project.Control.FanSpeed"] |
Lei YU | 8e5d197 | 2018-01-26 17:14:00 +0800 | [diff] [blame] | 27 | # factor [The factor to multiply with target to calculate the expected |
| 28 | # fan speed. Default is 1 for fan speed target; |
| 29 | # Customized value for pwm target] |
| 30 | # offset [The offset to add to calculate the expected fan speed. |
| 31 | # Default is 0 for fan speed target; |
| 32 | # Customized value for pwm target] |
Matthew Barth | 33618bc | 2018-05-03 10:55:11 -0500 | [diff] [blame] | 33 | # condition: [optional condition function to create fan functional monitoring] |
| 34 | # name: [The name of an available condition function] |
| 35 | # properties: [The properties used in the condition function] |
| 36 | # - object: [Object path of property to use] |
| 37 | # interface: [Interface of property to use] |
| 38 | # property: |
| 39 | # name: [Property name] |
| 40 | # type: [Property data type] |
| 41 | # value: [Property value to check condition against] |
Matt Spinler | 956a0a5 | 2017-09-28 12:44:06 -0500 | [diff] [blame] | 42 | # |
| 43 | #sensor_trust_groups: |
| 44 | # - class: [Group class name |
| 45 | # Available classes: |
| 46 | # * NonzeroSpeed - Only trust if at least one sensor in the group |
| 47 | # has a nonzero speed.] |
Matthew Barth | c63ef39 | 2018-02-16 13:06:36 -0600 | [diff] [blame] | 48 | # group: |
Matt Spinler | 956a0a5 | 2017-09-28 12:44:06 -0500 | [diff] [blame] | 49 | # - name [The name of the fan sensor in this group] |
Matthew Barth | c63ef39 | 2018-02-16 13:06:36 -0600 | [diff] [blame] | 50 | # in_trust: [true|false] (optional) |
| 51 | # [Include in trust determination or not. Default = true] |
Matt Spinler | 1432184 | 2017-04-28 15:27:43 -0500 | [diff] [blame] | 52 | |
| 53 | #The code uses these parameters as follows: |
| 54 | # After a speed reading of a sensor is outside of the allowed deviation of |
| 55 | # the target speed for the allowed out of range time, if at least |
| 56 | # num_sensors_nonfunc_for_fan_nonfunc sensors meet this condition, |
| 57 | # the fan will be set to nonfunctional in the inventory. |
Matt Spinler | 956a0a5 | 2017-09-28 12:44:06 -0500 | [diff] [blame] | 58 | # |
| 59 | # Sensor trust groups are used to specify that the speed values for the |
| 60 | # sensors in a group cannot be trusted based on some condition, where |
| 61 | # the condition is based on the class used to implement the group. All |
Matthew Barth | c63ef39 | 2018-02-16 13:06:36 -0600 | [diff] [blame] | 62 | # sensors in the group go in and out of trust based on those defined |
| 63 | # to be part of determining the trust. This section is optional. |
Matt Spinler | 1432184 | 2017-04-28 15:27:43 -0500 | [diff] [blame] | 64 | |
| 65 | #Example entries for 1 fan system: |
Matt Spinler | 956a0a5 | 2017-09-28 12:44:06 -0500 | [diff] [blame] | 66 | #fans: |
Matt Spinler | 1432184 | 2017-04-28 15:27:43 -0500 | [diff] [blame] | 67 | # - inventory: /system/chassis/motherboard/fan0 |
Matthew Barth | 9396bcc | 2018-02-19 14:13:20 -0600 | [diff] [blame] | 68 | # functional_delay: 5 |
Matt Spinler | 1432184 | 2017-04-28 15:27:43 -0500 | [diff] [blame] | 69 | # allowed_out_of_range_time: 15 |
| 70 | # deviation: 15 |
| 71 | # num_sensors_nonfunc_for_fan_nonfunc: 1 |
| 72 | # sensors: |
| 73 | # - name: fan0 |
| 74 | # has_target: true |
Matthew Barth | 33618bc | 2018-05-03 10:55:11 -0500 | [diff] [blame] | 75 | # # Only create fan functional properties and monitor on air cooled |
| 76 | # condition: |
| 77 | # name: propertiesMatch |
| 78 | # properties: |
| 79 | # - object: /xyz/openbmc_project/inventory/system/chassis |
| 80 | # interface: xyz.openbmc_project.Inventory.Decorator.CoolingType |
| 81 | # property: |
| 82 | # name: WaterCooled |
| 83 | # type: bool |
| 84 | # value: false |
Matt Spinler | 956a0a5 | 2017-09-28 12:44:06 -0500 | [diff] [blame] | 85 | #sensor_trust_groups: |
| 86 | # - class: NonzeroSpeed |
Matthew Barth | c63ef39 | 2018-02-16 13:06:36 -0600 | [diff] [blame] | 87 | # group: |
Matt Spinler | 956a0a5 | 2017-09-28 12:44:06 -0500 | [diff] [blame] | 88 | # - name: fan0_0 |
Matthew Barth | c63ef39 | 2018-02-16 13:06:36 -0600 | [diff] [blame] | 89 | # in_trust: false |
| 90 | # - name: fan0_1 |