summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Barth <msbarth@us.ibm.com>2018-02-16 13:06:36 -0600
committerMatthew Barth <msbarth@us.ibm.com>2018-03-01 09:34:09 -0600
commitc63ef39f17b9dab2ca565091aa076bf219085d7f (patch)
treeebac95eb69bbc7e5f495482ecc330f76bcb09ce5
parenta1c88322b837b2b752494e91427d3950e1cd5ccc (diff)
downloadphosphor-fan-presence-c63ef39f17b9dab2ca565091aa076bf219085d7f.tar.gz
phosphor-fan-presence-c63ef39f17b9dab2ca565091aa076bf219085d7f.zip
NonzeroSpeed: Check trust determination sensors
Only include defined trust determination sensors in checking the group trust. Tested: Current trust group associations & reactions are unchanged Combination of sensors included and excluded in trust determination Change-Id: I0f610b2910ffda849871a9ac9be95f2c056d8248 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
-rw-r--r--monitor/example/monitor.yaml12
-rw-r--r--monitor/nonzero_speed_trust.hpp5
2 files changed, 11 insertions, 6 deletions
diff --git a/monitor/example/monitor.yaml b/monitor/example/monitor.yaml
index fc6ca5e..4819d12 100644
--- a/monitor/example/monitor.yaml
+++ b/monitor/example/monitor.yaml
@@ -33,8 +33,10 @@
# Available classes:
# * NonzeroSpeed - Only trust if at least one sensor in the group
# has a nonzero speed.]
-# sensors:
+# 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
@@ -45,8 +47,8 @@
# 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 together. This section
-# is optional.
+# 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:
@@ -59,5 +61,7 @@
# has_target: true
#sensor_trust_groups:
# - class: NonzeroSpeed
-# sensors:
+# group:
# - name: fan0_0
+# in_trust: false
+# - name: fan0_1
diff --git a/monitor/nonzero_speed_trust.hpp b/monitor/nonzero_speed_trust.hpp
index 7e6a85a..c5b67fd 100644
--- a/monitor/nonzero_speed_trust.hpp
+++ b/monitor/nonzero_speed_trust.hpp
@@ -42,7 +42,8 @@ class NonzeroSpeed : public Group
/**
* Determines if the group is trusted by checking
- * if any sensor has a nonzero speed. If all speeds
+ * if any sensor included in the trust determination
+ * has a nonzero speed. If all the speeds of these sensors
* are zero, then no sensors in the group are trusted.
*
* @return bool - if group is trusted or not
@@ -54,7 +55,7 @@ class NonzeroSpeed : public Group
_sensors.end(),
[](const auto& s)
{
- return s.sensor->getInput() != 0;
+ return s.inTrust && s.sensor->getInput() != 0;
});
}
};
OpenPOWER on IntegriCloud