Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pmon] move platform monitor docker to stretch #2680

Merged
merged 1 commit into from
Mar 22, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ src/libteam/*
src/lldpd/*
!src/lldpd/Makefile
!src/lldpd/patch/
src/lm-sensors/*
!src/lm-sensors/Makefile
src/mpdecimal/*
!src/mpdecimal/Makefile
src/python-click/*
Expand Down
7 changes: 2 additions & 5 deletions dockers/docker-platform-monitor/Dockerfile.j2
Original file line number Diff line number Diff line change
@@ -1,16 +1,13 @@
FROM docker-config-engine
FROM docker-config-engine-stretch

ARG docker_container_name
RUN [ -f /etc/rsyslog.conf ] && sed -ri "s/%syslogtag%/$docker_container_name#%syslogtag%/;" /etc/rsyslog.conf

# Make apt-get non-interactive
ENV DEBIAN_FRONTEND=noninteractive

# Update apt's cache of available packages
RUN apt-get update

# Install required packages
RUN apt-get install -y python-pip libpython2.7 sensord fancontrol ipmitool
RUN apt-get update && apt-get install -y python-pip libpython2.7 ipmitool librrd8 librrd-dev rrdtool

{% if docker_platform_monitor_debs.strip() -%}
# Copy locally-built Debian package dependencies
Expand Down
5 changes: 3 additions & 2 deletions rules/docker-platform-monitor.mk
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,14 @@

DOCKER_PLATFORM_MONITOR = docker-platform-monitor.gz
$(DOCKER_PLATFORM_MONITOR)_PATH = $(DOCKERS_PATH)/docker-platform-monitor
$(DOCKER_PLATFORM_MONITOR)_DEPENDS += $(LIBSWSSCOMMON) $(PYTHON_SWSSCOMMON)
$(DOCKER_PLATFORM_MONITOR)_DEPENDS += $(LM_SENSORS) $(LIBSWSSCOMMON) $(PYTHON_SWSSCOMMON)
$(DOCKER_PLATFORM_MONITOR)_PYTHON_DEBS += $(SONIC_LEDD) $(SONIC_XCVRD) $(SONIC_PSUD)
$(DOCKER_PLATFORM_MONITOR)_PYTHON_WHEELS += $(SONIC_PLATFORM_COMMON_PY2)
$(DOCKER_PLATFORM_MONITOR)_PYTHON_WHEELS += $(SWSSSDK_PY2)
$(DOCKER_PLATFORM_MONITOR)_PYTHON_WHEELS += $(SONIC_PLATFORM_API_PY2)
$(DOCKER_PLATFORM_MONITOR)_PYTHON_WHEELS += $(SONIC_DAEMON_BASE_PY2)
$(DOCKER_PLATFORM_MONITOR)_LOAD_DOCKERS = $(DOCKER_CONFIG_ENGINE)
$(DOCKER_PLATFORM_MONITOR)_LOAD_DOCKERS = $(DOCKER_CONFIG_ENGINE_STRETCH)
SONIC_STRETCH_DOCKERS += $(DOCKER_PLATFORM_MONITOR)

SONIC_DOCKER_IMAGES += $(DOCKER_PLATFORM_MONITOR)
SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_PLATFORM_MONITOR)
Expand Down
26 changes: 26 additions & 0 deletions rules/lm-sensors.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# lm-senensors package

LM_SENSORS_VERSION=3.4.0
LM_SENSORS_VERSION_FULL=$(LM_SENSORS_VERSION)-4

LM_SENSORS = lm-sensors_$(LM_SENSORS_VERSION_FULL)_amd64.deb
$(LM_SENSORS)_SRC_PATH = $(SRC_PATH)/lm-sensors

FANCONTROL = fancontrol_$(LM_SENSORS_VERSION_FULL)_all.deb
$(eval $(call add_derived_package,$(LM_SENSORS),$(FANCONTROL)))

LIBSENSORS = libsensors4_$(LM_SENSORS_VERSION_FULL)_amd64.deb
$(eval $(call add_derived_package,$(LM_SENSORS),$(LIBSENSORS)))

SENSORD = sensord_$(LM_SENSORS_VERSION_FULL)_amd64.deb
$(eval $(call add_derived_package,$(LM_SENSORS),$(SENSORD)))
$(SENSORD)_DEPENDS += $(LIBSENSORS) $(LM_SENSORS)

SONIC_MAKE_DEBS += $(LM_SENSORS)

export LM_SENSORS
export FANCONTROL
export LIBSENSORS
export SENSORD
export LM_SENSORS_VERSION
export LM_SENSORS_VERSION_FULL
6 changes: 5 additions & 1 deletion sonic-slave-stretch/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,11 @@ RUN apt-get update && apt-get install -y \
python3-pytest \
python3-colorama \
# For initramfs
bash-completion
bash-completion \
# For lm-sensors
librrd8 \
librrd-dev \
rrdtool

# For linux build
RUN apt-get -y build-dep linux
Expand Down
257 changes: 257 additions & 0 deletions src/lm-sensors/0001-patch-the-debian-package-info-to-get-sensord.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,257 @@
From a8047116d3724bf77cb4306f0440ea62f0a453ca Mon Sep 17 00:00:00 2001
From: Mykola Faryma <mykolaf@mellanox.com>
Date: Tue, 19 Mar 2019 14:41:15 +0000
Subject: [PATCH] patch the debian package info to get sensord

Signed-off-by: Mykola Faryma <mykolaf@mellanox.com>
---
.../lm-sensors-3.4.0/debian/sensord.NEWS | 12 ++++
.../lm-sensors-3.4.0/debian/sensord.README.Debian | 23 ++++++++
.../lm-sensors-3.4.0/debian/sensord.default | 20 +++++++
.../lm-sensors-3.4.0/debian/sensord.dirs | 3 +
.../lm-sensors-3.4.0/debian/sensord.init | 64 ++++++++++++++++++++++
.../lm-sensors-3.4.0/debian/sensord.install | 2 +
.../lm-sensors-3.4.0/debian/sensord.maintscript | 2 +
.../lm-sensors-3.4.0/debian/sensord.postinst | 23 ++++++++
.../lm-sensors-3.4.0/debian/sensord.substvars | 2 +
src/lm-sensors/lm-sensors_3.4.0-4.dsc | 3 +-
10 files changed, 153 insertions(+), 1 deletion(-)
create mode 100644 src/lm-sensors/lm-sensors-3.4.0/debian/sensord.NEWS
create mode 100644 src/lm-sensors/lm-sensors-3.4.0/debian/sensord.README.Debian
create mode 100644 src/lm-sensors/lm-sensors-3.4.0/debian/sensord.default
create mode 100644 src/lm-sensors/lm-sensors-3.4.0/debian/sensord.dirs
create mode 100644 src/lm-sensors/lm-sensors-3.4.0/debian/sensord.init
create mode 100644 src/lm-sensors/lm-sensors-3.4.0/debian/sensord.install
create mode 100644 src/lm-sensors/lm-sensors-3.4.0/debian/sensord.maintscript
create mode 100644 src/lm-sensors/lm-sensors-3.4.0/debian/sensord.postinst
create mode 100644 src/lm-sensors/lm-sensors-3.4.0/debian/sensord.substvars

diff --git a/src/lm-sensors/lm-sensors-3.4.0/debian/sensord.NEWS b/src/lm-sensors/lm-sensors-3.4.0/debian/sensord.NEWS
new file mode 100644
index 0000000..4bcfdb9
--- /dev/null
+++ b/src/lm-sensors/lm-sensors-3.4.0/debian/sensord.NEWS
@@ -0,0 +1,12 @@
+lm-sensors (1:2.9.0-7) unstable; urgency=low
+
+ Since version 2.9.0 sensord doesn't scale the loadavg itself (* 10) as
+ RRDs work with floating-point values and thus do very well with
+ non-integer values even < 1.
+
+ They can even be scaled later at display time by rrdtool itself using:
+ DEF:load=sensord.rrd:loadavg:AVERAGE
+ CDEF:load10=load,10,*
+
+ -- Aurelien Jarno <aurel32@debian.org> Tue, 11 Jan 2005 22:41:34 +0100
+
diff --git a/src/lm-sensors/lm-sensors-3.4.0/debian/sensord.README.Debian b/src/lm-sensors/lm-sensors-3.4.0/debian/sensord.README.Debian
new file mode 100644
index 0000000..9159fbc
--- /dev/null
+++ b/src/lm-sensors/lm-sensors-3.4.0/debian/sensord.README.Debian
@@ -0,0 +1,23 @@
+This is the Debian packaging of sensord, the sensord logging daemon.
+
+The file /etc/default/sensord specifies the configuration parameters
+used to start the daemon. In particular, the syslog facility is set
+to `daemon' and not `local4'.
+
+You must load the appropriate lm-sensors modules during system boot in
+order for the daemon to function correctly.
+
+The file /etc/modules is a useful place to list these modules; for
+example, you might list i2c-amd756 (an I2C/SMBUS module) and w83781d
+(a sensor chip module).
+
+The daemon does not setup the sensors limits from /etc/sensors3.conf,
+this is the job of sensors, when called with -s. Note that 'sensors -s'
+is called at boot time from /etc/init.d/lm-sensors, so that the sensors
+limits should be the right ones in normal use. Don't forget to run
+sensors -s again if you changed the limits in /etc/sensors3.conf.
+
+For full documentation on setting up lm-sensors on your system,
+see /usr/share/doc/lm-sensors.
+
+-- David Z. Maze <dmaze@debian.org>
diff --git a/src/lm-sensors/lm-sensors-3.4.0/debian/sensord.default b/src/lm-sensors/lm-sensors-3.4.0/debian/sensord.default
new file mode 100644
index 0000000..589b94c
--- /dev/null
+++ b/src/lm-sensors/lm-sensors-3.4.0/debian/sensord.default
@@ -0,0 +1,20 @@
+# Interval between scanning for alarms; e.g., 30s, 1m, 1h
+# ALARM_INTERVAL=1m
+# Interval between logging sensor measurements; e.g., 30s, 1m, 1h
+# LOG_INTERVAL=30m
+# Syslog facility to use
+SYSLOG_FACILITY=daemon
+# Libsensors config file to use
+# CONFIG_FILE=/etc/sensors3.conf
+# Chips to scan
+# SCAN_CHIPS=...
+
+# Uncomment this to enable a 7-day round-robin database of sensor
+# readings. See the ROUND ROBIN DATABASES section of the sensord
+# manual page for details.
+# RRD_FILE=/var/log/sensord.rrd
+# Interval between RRD readings; e.g. 30s, 5m (default), 1h
+# RRD_INTERVAL=5m
+# Include the load average in the RRD file. If you enable this you
+# must remove your old RRD file and rebuild your CGI script.
+# RRD_LOADAVG=yes
diff --git a/src/lm-sensors/lm-sensors-3.4.0/debian/sensord.dirs b/src/lm-sensors/lm-sensors-3.4.0/debian/sensord.dirs
new file mode 100644
index 0000000..b9cd814
--- /dev/null
+++ b/src/lm-sensors/lm-sensors-3.4.0/debian/sensord.dirs
@@ -0,0 +1,3 @@
+usr/sbin
+usr/share/man/man8
+etc/default
diff --git a/src/lm-sensors/lm-sensors-3.4.0/debian/sensord.init b/src/lm-sensors/lm-sensors-3.4.0/debian/sensord.init
new file mode 100644
index 0000000..4d70d43
--- /dev/null
+++ b/src/lm-sensors/lm-sensors-3.4.0/debian/sensord.init
@@ -0,0 +1,64 @@
+#!/bin/sh
+
+### BEGIN INIT INFO
+# Provides: sensord
+# Required-Start: $remote_fs $syslog lm-sensors
+# Required-Stop: $remote_fs $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop:
+# Short-Description: lm-sensors daemon
+# Description: hardware sensor information logging daemon
+### END INIT INFO
+
+. /lib/lsb/init-functions
+
+[ -f /etc/default/rcS ] && . /etc/default/rcS
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+DAEMON=/usr/sbin/sensord
+DESC="sensor daemon"
+NAME="sensord"
+PIDFILE=/var/run/sensord.pid
+CONFIG=/etc/default/sensord
+
+test -x $DAEMON || exit 0
+
+if [ -f $CONFIG ]; then . $CONFIG; fi
+
+if [ -n "$ALARM_INTERVAL" ]; then ALARM_INTERVAL="-i $ALARM_INTERVAL"; fi
+if [ -n "$LOG_INTERVAL" ]; then LOG_INTERVAL="-l $LOG_INTERVAL"; fi
+if [ -n "$SYSLOG_FACILITY" ]; then SYSLOG_FACILITY="-f $SYSLOG_FACILITY"; fi
+if [ -n "$CONFIG_FILE" ]; then CONFIG_FILE="-c $CONFIG_FILE"; fi
+if [ -n "$RRD_FILE" ]; then RRD_FILE="-r $RRD_FILE"; fi
+if [ -n "$RRD_INTERVAL" ]; then RRD_INTERVAL="-t $RRD_INTERVAL"; fi
+if [ -n "$RRD_LOADAVG" ]; then RRD_LOADAVG="-a"; fi
+
+case "$1" in
+ start)
+ log_daemon_msg "Starting $DESC" "$NAME"
+ /sbin/start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- $ALARM_INTERVAL $LOG_INTERVAL $SYSLOG_FACILITY $RRD_INTERVAL $RRD_FILE $RRD_LOADAVG $CONFIG_FILE $SCAN_CHIPS
+ log_end_msg $?
+ ;;
+ stop)
+ log_daemon_msg "Stopping $DESC" "$NAME"
+ start-stop-daemon --stop --quiet --pidfile $PIDFILE --oknodo --exec $DAEMON
+ log_end_msg $?
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ force-reload)
+ if start-stop-daemon --stop --test --quiet --pidfile $PIDFILE --exec $DAEMON ; then
+ $0 restart
+ fi
+ ;;
+ status)
+ status_of_proc $DAEMON $NAME && exit 0 || exit $?
+ ;;
+ *)
+ echo "Usage: /etc/init.d/sensord {start|stop|restart|force-reload|status}"
+ exit 1
+esac
+
+exit 0
diff --git a/src/lm-sensors/lm-sensors-3.4.0/debian/sensord.install b/src/lm-sensors/lm-sensors-3.4.0/debian/sensord.install
new file mode 100644
index 0000000..9713fee
--- /dev/null
+++ b/src/lm-sensors/lm-sensors-3.4.0/debian/sensord.install
@@ -0,0 +1,2 @@
+usr/sbin/sensord
+usr/share/man/man8/sensord.8
diff --git a/src/lm-sensors/lm-sensors-3.4.0/debian/sensord.maintscript b/src/lm-sensors/lm-sensors-3.4.0/debian/sensord.maintscript
new file mode 100644
index 0000000..0e0ff03
--- /dev/null
+++ b/src/lm-sensors/lm-sensors-3.4.0/debian/sensord.maintscript
@@ -0,0 +1,2 @@
+# Remove old logcheck ignore file
+rm_conffile /etc/logcheck/ignore.d.server/sensord 1:3.3.5-1~
diff --git a/src/lm-sensors/lm-sensors-3.4.0/debian/sensord.postinst b/src/lm-sensors/lm-sensors-3.4.0/debian/sensord.postinst
new file mode 100644
index 0000000..3418fa6
--- /dev/null
+++ b/src/lm-sensors/lm-sensors-3.4.0/debian/sensord.postinst
@@ -0,0 +1,23 @@
+#!/bin/sh
+# postinst script for sensord
+#
+# see: dh_installdeb(1)
+set -e
+
+case "$1" in
+ configure)
+ # Remove shutdown and reboot links; this init script does not need them.
+ if dpkg --compare-versions "$2" lt "1:3.1.1-5"; then
+ rm -f /etc/rc0.d/K[0-9][0-9]sensord /etc/rc1.d/K[0-9][0-9]sensord /etc/rc6.d/K[0-9][0-9]sensord
+ fi
+ ;;
+ abort-upgrade|abort-remove|abort-deconfigure)
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+#DEBHELPER#
diff --git a/src/lm-sensors/lm-sensors-3.4.0/debian/sensord.substvars b/src/lm-sensors/lm-sensors-3.4.0/debian/sensord.substvars
new file mode 100644
index 0000000..978fc8b
--- /dev/null
+++ b/src/lm-sensors/lm-sensors-3.4.0/debian/sensord.substvars
@@ -0,0 +1,2 @@
+misc:Depends=
+misc:Pre-Depends=
diff --git a/src/lm-sensors/lm-sensors_3.4.0-4.dsc b/src/lm-sensors/lm-sensors_3.4.0-4.dsc
index 6674f1c..2aeab21 100644
--- a/src/lm-sensors/lm-sensors_3.4.0-4.dsc
+++ b/src/lm-sensors/lm-sensors_3.4.0-4.dsc
@@ -3,7 +3,7 @@ Hash: SHA512

Format: 3.0 (quilt)
Source: lm-sensors
-Binary: lm-sensors, libsensors4, libsensors4-dev, fancontrol
+Binary: lm-sensors, libsensors4, libsensors4-dev, fancontrol, sensord
Architecture: any all
Version: 1:3.4.0-4
Maintainer: Aurelien Jarno <aurel32@debian.org>
@@ -15,6 +15,7 @@ Package-List:
libsensors4 deb libs optional arch=any
libsensors4-dev deb libdevel extra arch=any
lm-sensors deb utils extra arch=linux-any
+ sensord deb utils extra arch=any
Checksums-Sha1:
3e245b61a69756ea94f9c8a7c7614ec543970b8c 175802 lm-sensors_3.4.0.orig.tar.bz2
bc5f40b504a908d825ca22da461e673dc8f7c026 26436 lm-sensors_3.4.0-4.debian.tar.xz
--
1.9.1

21 changes: 21 additions & 0 deletions src/lm-sensors/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
SHELL = /bin/bash
.ONESHELL:
.SHELLFLAGS += -e


MAIN_TARGET = $(LM_SENSORS)
DERIVED_TARGETS = fancontrol_$(LM_SENSORS_VERSION_FULL)_all.deb \
libsensors4_$(LM_SENSORS_VERSION_FULL)_amd64.deb \
sensord_$(LM_SENSORS_VERSION_FULL)_amd64.deb

$(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% :
rm -rf lm-sensors-$(LM_SENSORS_VERSION)
dget -u http://deb.debian.org/debian/pool/main/l/lm-sensors/lm-sensors_3.4.0-4.dsc
git am *.patch
pushd lm-sensors-$(LM_SENSORS_VERSION)
DEB_BUILD_OPTIONS=nocheck PROG_EXTRA=sensord dpkg-buildpackage -us -uc -b -j$(SONIC_CONFIG_MAKE_JOBS)
popd

mv $* $(DEST)/

$(addprefix $(DEST)/, $(DERIVED_TARGETS)): $(DEST)/% : $(DEST)/$(MAIN_TARGET)