xref: /openbmc/phosphor-fan-presence/monitor/example/monitor.yaml (revision 8e5d197b840d4498dcb714b60cc1d38202a7a7a7)
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
7#fans:
8# - inventory:
9#    [The system inventory location for the fan]
10#  allowed_out_of_range_time:
11#    [Time (in secs) actual speed can be outside of deviation of
12#     target speed]
13#  deviation:
14#    [Percentage that actual speed must be within target speed]
15#  num_sensors_nonfunc_for_fan_nonfunc:
16#    [How many sensors on the fan must be faulted before fan
17#     will be considered faulted]
18#  sensors: [array of speed sensors for the fan]
19#    - name [The name of the fan sensor]
20#      has_target [true|false  If this sensor has a Target property for
21#                  setting a fan speed (otherwise just for reads)]
22#      factor [The factor to multiply with target to calculate the expected
23#              fan speed. Default is 1 for fan speed target;
24#              Customized value for pwm target]
25#      offset [The offset to add to calculate the expected fan speed.
26#              Default is 0 for fan speed target;
27#              Customized value for pwm target]
28#
29#sensor_trust_groups:
30# - class: [Group class name
31#           Available classes:
32#           * NonzeroSpeed - Only trust if at least one sensor in the group
33#                            has a nonzero speed.]
34#   sensors:
35#     - name [The name of the fan sensor in this group]
36
37#The code uses these parameters as follows:
38#  After a speed reading of a sensor is outside of the allowed deviation of
39#  the target speed for the allowed out of range time, if at least
40#  num_sensors_nonfunc_for_fan_nonfunc sensors meet this condition,
41#  the fan will be set to nonfunctional in the inventory.
42#
43#  Sensor trust groups are used to specify that the speed values for the
44#  sensors in a group cannot be trusted based on some condition, where
45#  the condition is based on the class used to implement the group.  All
46#  sensors in the group go in and out of trust together.  This section
47#  is optional.
48
49#Example entries for 1 fan system:
50#fans:
51#  - inventory: /system/chassis/motherboard/fan0
52#    allowed_out_of_range_time: 15
53#    deviation: 15
54#    num_sensors_nonfunc_for_fan_nonfunc: 1
55#    sensors:
56#      - name: fan0
57#        has_target: true
58#sensor_trust_groups:
59# - class: NonzeroSpeed
60#    sensors:
61#      - name: fan0_0
62