xref: /openbmc/phosphor-fan-presence/monitor/example/monitor.yaml (revision c63ef39f17b9dab2ca565091aa076bf219085d7f)
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#      target_interface [The fan target interface used by the sensor.
23#                        Default is "xyz.openbmc_project.Control.FanSpeed"]
24#      factor [The factor to multiply with target to calculate the expected
25#              fan speed. Default is 1 for fan speed target;
26#              Customized value for pwm target]
27#      offset [The offset to add to calculate the expected fan speed.
28#              Default is 0 for fan speed target;
29#              Customized value for pwm target]
30#
31#sensor_trust_groups:
32# - class: [Group class name
33#           Available classes:
34#           * NonzeroSpeed - Only trust if at least one sensor in the group
35#                            has a nonzero speed.]
36#   group:
37#     - name [The name of the fan sensor in this group]
38#       in_trust: [true|false] (optional)
39#         [Include in trust determination or not. Default = true]
40
41#The code uses these parameters as follows:
42#  After a speed reading of a sensor is outside of the allowed deviation of
43#  the target speed for the allowed out of range time, if at least
44#  num_sensors_nonfunc_for_fan_nonfunc sensors meet this condition,
45#  the fan will be set to nonfunctional in the inventory.
46#
47#  Sensor trust groups are used to specify that the speed values for the
48#  sensors in a group cannot be trusted based on some condition, where
49#  the condition is based on the class used to implement the group.  All
50#  sensors in the group go in and out of trust based on those defined
51#  to be part of determining the trust.  This section is optional.
52
53#Example entries for 1 fan system:
54#fans:
55#  - inventory: /system/chassis/motherboard/fan0
56#    allowed_out_of_range_time: 15
57#    deviation: 15
58#    num_sensors_nonfunc_for_fan_nonfunc: 1
59#    sensors:
60#      - name: fan0
61#        has_target: true
62#sensor_trust_groups:
63# - class: NonzeroSpeed
64#    group:
65#      - name: fan0_0
66#        in_trust: false
67#      - name: fan0_1
68