summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Spinler <spinler@us.ibm.com>2017-04-27 12:27:17 -0500
committerMatt Spinler <spinler@us.ibm.com>2017-05-11 13:52:49 -0500
commite567dd24a8d943b4655ed2db74ce3639b05652bc (patch)
tree050bc3ed3a96cacaed0c1a54f80a4f110aa95093
parent59c29c79ec29dc29f3a32daabe299a80d0c8a49e (diff)
downloadphosphor-fan-presence-e567dd24a8d943b4655ed2db74ce3639b05652bc.tar.gz
phosphor-fan-presence-e567dd24a8d943b4655ed2db74ce3639b05652bc.zip
phosphor-fan-monitor framework
This application will monitor the actual speeds of fans (via their sensors) and compare them to their expected speeds. If a fan is too slow for too long, it will have its Functional property in the inventory set to false. If it starts working again, the property will be set back to true. It will use configuration data to say which fans to check and which values to use for various timeout and deviation parameters. Change-Id: Ic61613018a758727835b70f2df0ecd1bf12e8256 Signed-off-by: Matt Spinler <spinler@us.ibm.com>
-rw-r--r--.gitignore2
-rw-r--r--Makefile.am3
-rw-r--r--configure.ac4
-rw-r--r--monitor/Makefile.am17
-rw-r--r--monitor/main.cpp21
5 files changed, 47 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index b49549b..8766eea 100644
--- a/.gitignore
+++ b/.gitignore
@@ -21,3 +21,5 @@ fan_detect_defs.cpp
phosphor-fan-presence-tach
phosphor-fan-control
fan_zone_defs.cpp
+phosphor-fan-monitor
+phosphor-cooling-type
diff --git a/Makefile.am b/Makefile.am
index e118816..443dab7 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -21,3 +21,6 @@ endif
if WANT_COOLING_TYPE
SUBDIRS += chassis-cooling-type
endif
+if WANT_MONITOR
+SUBDIRS += monitor
+endif
diff --git a/configure.ac b/configure.ac
index 1b6df27..eb6e086 100644
--- a/configure.ac
+++ b/configure.ac
@@ -61,6 +61,7 @@ AC_ARG_ENABLE([cooling-type],
AM_CONDITIONAL([WANT_PRESENCE], [test "x$enable_presence" != "xno"])
AM_CONDITIONAL([WANT_CONTROL], [test "x$enable_control" != "xno"])
AM_CONDITIONAL([WANT_COOLING_TYPE], [test "x$enable_cooling-type" != "xno"])
+AM_CONDITIONAL([WANT_MONITOR], [test "x$enable_monitor" != "xno"])
# Package specific checks.
AS_IF([test "x$enable_presence" != "xno"], [
@@ -113,6 +114,9 @@ AS_IF([test "x$enable_cooling-type" != "xno"], [
[AC_MSG_ERROR([The libevdev package is required])])
AC_CONFIG_FILES([chassis-cooling-type/Makefile])
])
+AS_IF([test "x$enable_monitor" != "xno"], [
+ AC_CONFIG_FILES([monitor/Makefile])
+])
# Create configured output
AC_CONFIG_FILES([Makefile test/Makefile])
diff --git a/monitor/Makefile.am b/monitor/Makefile.am
new file mode 100644
index 0000000..44458bd
--- /dev/null
+++ b/monitor/Makefile.am
@@ -0,0 +1,17 @@
+AM_DEFAULT_SOURCE_EXT = .cpp
+AM_CPPFLAGS = -iquote ${top_srcdir}
+
+sbin_PROGRAMS = \
+ phosphor-fan-monitor
+
+phosphor_fan_monitor_SOURCES = \
+ main.cpp
+
+phosphor_fan_monitor_LDADD = \
+ $(SDBUSPLUS_LIBS) \
+ $(PHOSPHOR_LOGGING_LIBS)
+
+phosphor_fan_monitor_CXXFLAGS = \
+ $(SDBUSPLUS_CFLAGS) \
+ $(PHOSPHOR_LOGGING_CFLAGS)
+
diff --git a/monitor/main.cpp b/monitor/main.cpp
new file mode 100644
index 0000000..e468bac
--- /dev/null
+++ b/monitor/main.cpp
@@ -0,0 +1,21 @@
+/**
+ * Copyright © 2017 IBM Corporation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+int main()
+{
+ return 0;
+}
OpenPOWER on IntegriCloud