* [PATCH 1/7] oeqa/runtime/cases/parselogs.py: extend common_errors list
2018-06-13 7:58 [PATCH 0/7] Fix failures discoved by parselogs and systemd test cases Chen Qi
@ 2018-06-13 7:58 ` Chen Qi
2018-06-13 7:58 ` [PATCH 2/7] watchdog: remove the useless watchdog-conf.patch Chen Qi
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Chen Qi @ 2018-06-13 7:58 UTC (permalink / raw)
To: openembedded-core
Add the following line to common_errors list.
Failed to read /var/lib/nfs/statd/state: Success
This message is not harmful, it does not result in rpc.statd starting
failure.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
meta/lib/oeqa/runtime/cases/parselogs.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta/lib/oeqa/runtime/cases/parselogs.py b/meta/lib/oeqa/runtime/cases/parselogs.py
index 1f36c61..bfebb38 100644
--- a/meta/lib/oeqa/runtime/cases/parselogs.py
+++ b/meta/lib/oeqa/runtime/cases/parselogs.py
@@ -49,6 +49,7 @@ common_errors = [
"error: couldn\'t mount because of unsupported optional features",
"GPT: Use GNU Parted to correct GPT errors",
"Cannot set xattr user.Librepo.DownloadInProgress",
+ "Failed to read /var/lib/nfs/statd/state: Success",
]
video_related = [
--
1.9.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH 2/7] watchdog: remove the useless watchdog-conf.patch
2018-06-13 7:58 [PATCH 0/7] Fix failures discoved by parselogs and systemd test cases Chen Qi
2018-06-13 7:58 ` [PATCH 1/7] oeqa/runtime/cases/parselogs.py: extend common_errors list Chen Qi
@ 2018-06-13 7:58 ` Chen Qi
2018-06-13 7:58 ` [PATCH 3/7] watchdog: disable systemd services by default Chen Qi
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Chen Qi @ 2018-06-13 7:58 UTC (permalink / raw)
To: openembedded-core
This patch modifies watchdog.conf file. But this file is deliberately
deleted in do_install. The current mechanism in OE is to use another
recipe watchdog-conf to handle watchdog configuration. So the patch
is really useless.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
.../watchdog/watchdog/watchdog-conf.patch | 16 ----------------
meta/recipes-extended/watchdog/watchdog_5.15.bb | 1 -
2 files changed, 17 deletions(-)
delete mode 100644 meta/recipes-extended/watchdog/watchdog/watchdog-conf.patch
diff --git a/meta/recipes-extended/watchdog/watchdog/watchdog-conf.patch b/meta/recipes-extended/watchdog/watchdog/watchdog-conf.patch
deleted file mode 100644
index ec44c80..0000000
--- a/meta/recipes-extended/watchdog/watchdog/watchdog-conf.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Signed-off-by: Diego Rondini <diego.ml@zoho.com>
-Upstream-Status: Inappropriate
-
-Index: watchdog-5.15/watchdog.conf
-===================================================================
---- watchdog-5.15.orig/watchdog.conf
-+++ watchdog-5.15/watchdog.conf
-@@ -28,7 +28,7 @@
- #retry-timeout = 60
- #repair-maximum = 1
-
--#watchdog-device = /dev/watchdog
-+watchdog-device = /dev/watchdog
-
- # Defaults compiled into the binary
- #temperature-sensor =
diff --git a/meta/recipes-extended/watchdog/watchdog_5.15.bb b/meta/recipes-extended/watchdog/watchdog_5.15.bb
index 24791c4..d3f0353 100644
--- a/meta/recipes-extended/watchdog/watchdog_5.15.bb
+++ b/meta/recipes-extended/watchdog/watchdog_5.15.bb
@@ -12,7 +12,6 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/watchdog/watchdog-${PV}.tar.gz \
file://0001-Include-linux-param.h-for-EXEC_PAGESIZE-definition.patch \
file://0001-watchdog-remove-interdependencies-of-watchdog-and-wd.patch \
file://watchdog-init.patch \
- file://watchdog-conf.patch \
file://wd_keepalive.init \
"
--
1.9.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH 3/7] watchdog: disable systemd services by default
2018-06-13 7:58 [PATCH 0/7] Fix failures discoved by parselogs and systemd test cases Chen Qi
2018-06-13 7:58 ` [PATCH 1/7] oeqa/runtime/cases/parselogs.py: extend common_errors list Chen Qi
2018-06-13 7:58 ` [PATCH 2/7] watchdog: remove the useless watchdog-conf.patch Chen Qi
@ 2018-06-13 7:58 ` Chen Qi
2018-06-13 7:58 ` [PATCH 4/7] watchdog: make init script start after syslog Chen Qi
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Chen Qi @ 2018-06-13 7:58 UTC (permalink / raw)
To: openembedded-core
systemd has internal support for watchdog. See the RuntimeWatchdogSec
in /etc/systemd/system.conf.
We'd better just disable this service by default. If users want to use
watchdog, consider using the systemd one.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
meta/recipes-extended/watchdog/watchdog_5.15.bb | 3 +++
1 file changed, 3 insertions(+)
diff --git a/meta/recipes-extended/watchdog/watchdog_5.15.bb b/meta/recipes-extended/watchdog/watchdog_5.15.bb
index d3f0353..bfaed9a 100644
--- a/meta/recipes-extended/watchdog/watchdog_5.15.bb
+++ b/meta/recipes-extended/watchdog/watchdog_5.15.bb
@@ -40,6 +40,9 @@ INITSCRIPT_PARAMS_${PN}-keepalive = "start 15 1 2 3 4 5 . stop 85 0 6 ."
SYSTEMD_PACKAGES = "${PN} ${PN}-keepalive"
SYSTEMD_SERVICE_${PN} = "watchdog.service"
SYSTEMD_SERVICE_${PN}-keepalive = "wd_keepalive.service"
+# When using systemd, consider making use of internal watchdog support of systemd.
+# See RuntimeWatchdogSec in /etc/systemd/system.conf.
+SYSTEMD_AUTO_ENABLE = "disable"
do_install_append() {
install -d ${D}${systemd_system_unitdir}
--
1.9.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH 4/7] watchdog: make init script start after syslog
2018-06-13 7:58 [PATCH 0/7] Fix failures discoved by parselogs and systemd test cases Chen Qi
` (2 preceding siblings ...)
2018-06-13 7:58 ` [PATCH 3/7] watchdog: disable systemd services by default Chen Qi
@ 2018-06-13 7:58 ` Chen Qi
2018-06-13 7:58 ` [PATCH 5/7] watchdog: fix init script for sysvinit Chen Qi
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Chen Qi @ 2018-06-13 7:58 UTC (permalink / raw)
To: openembedded-core
We need to make sure logs are not lost. As long as there's no
strong and vaild reason, we should make daemons start after syslog.
As a side effect, we could check the logs to see if there are
some potential problem. In OE, the 'parselogs' test case could
do it automatically.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
meta/recipes-extended/watchdog/watchdog_5.15.bb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meta/recipes-extended/watchdog/watchdog_5.15.bb b/meta/recipes-extended/watchdog/watchdog_5.15.bb
index bfaed9a..8353ec0 100644
--- a/meta/recipes-extended/watchdog/watchdog_5.15.bb
+++ b/meta/recipes-extended/watchdog/watchdog_5.15.bb
@@ -32,10 +32,10 @@ EXTRA_OECONF += " --disable-nfs "
INITSCRIPT_PACKAGES = "${PN} ${PN}-keepalive"
INITSCRIPT_NAME_${PN} = "watchdog.sh"
-INITSCRIPT_PARAMS_${PN} = "start 15 1 2 3 4 5 . stop 85 0 6 ."
+INITSCRIPT_PARAMS_${PN} = "start 25 1 2 3 4 5 . stop 85 0 6 ."
INITSCRIPT_NAME_${PN}-keepalive = "wd_keepalive"
-INITSCRIPT_PARAMS_${PN}-keepalive = "start 15 1 2 3 4 5 . stop 85 0 6 ."
+INITSCRIPT_PARAMS_${PN}-keepalive = "start 25 1 2 3 4 5 . stop 85 0 6 ."
SYSTEMD_PACKAGES = "${PN} ${PN}-keepalive"
SYSTEMD_SERVICE_${PN} = "watchdog.service"
--
1.9.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH 5/7] watchdog: fix init script for sysvinit
2018-06-13 7:58 [PATCH 0/7] Fix failures discoved by parselogs and systemd test cases Chen Qi
` (3 preceding siblings ...)
2018-06-13 7:58 ` [PATCH 4/7] watchdog: make init script start after syslog Chen Qi
@ 2018-06-13 7:58 ` Chen Qi
2018-06-13 7:58 ` [PATCH 6/7] oeqa/runtime/cases/parselogs.py: ignore a message from watchdog Chen Qi
2018-06-13 7:58 ` [PATCH 7/7] dnf: default to disable systemd units Chen Qi
6 siblings, 0 replies; 8+ messages in thread
From: Chen Qi @ 2018-06-13 7:58 UTC (permalink / raw)
To: openembedded-core
The current init script is installed from source with redhat style.
It does not get configuration from /etc/default/watchdog. We should use
debian style init script.
Write our own script just like what wd_keepalive does.
Also, in the init script, we check the existence of /dev/watchdog to
determine whether to start the daemon or not.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
.../watchdog/watchdog/watchdog-init.patch | 56 -----------
.../watchdog/watchdog/watchdog.init | 110 +++++++++++++++++++++
meta/recipes-extended/watchdog/watchdog_5.15.bb | 6 +-
3 files changed, 113 insertions(+), 59 deletions(-)
delete mode 100644 meta/recipes-extended/watchdog/watchdog/watchdog-init.patch
create mode 100644 meta/recipes-extended/watchdog/watchdog/watchdog.init
diff --git a/meta/recipes-extended/watchdog/watchdog/watchdog-init.patch b/meta/recipes-extended/watchdog/watchdog/watchdog-init.patch
deleted file mode 100644
index b2765f1..0000000
--- a/meta/recipes-extended/watchdog/watchdog/watchdog-init.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-Signed-off-by: Diego Rondini <diego.ml@zoho.com>
-Upstream-Status: Inappropriate
-
---- watchdog-5.13.orig/redhat/watchdog.init 2014-11-12 17:18:39.125943000 +0100
-+++ watchdog-5.13/redhat/watchdog.init 2014-11-12 18:27:36.189943000 +0100
-@@ -7,7 +7,7 @@
- # Henning P. Schmiedehausen <hps@tanstaafl.de>
-
- # Source function library.
--. /etc/rc.d/init.d/functions
-+. /etc/init.d/functions
-
- [ -x /usr/sbin/watchdog -a -e /etc/watchdog.conf ] || exit 0
-
-@@ -23,22 +23,22 @@
-
- start() {
-
-- echo -n $"Starting $prog: "
-+ echo -n "Starting $prog: "
- if [ -n "$(pidofproc $prog)" ]; then
-- echo -n $"$prog: already running"
-- echo_failure
-+ echo -n "$prog: already running "
-+ failure
- echo
- return 1
- fi
- if [ "$VERBOSE" = "yes" ]; then
-- daemon /usr/sbin/${prog} -v
-+ /usr/sbin/${prog} -v
- else
-- daemon /usr/sbin/${prog}
-+ /usr/sbin/${prog}
- fi
- RETVAL=$?
- [ $RETVAL -eq 0 ] && touch $lockfile
-- [ $RETVAL -eq 0 ] && echo_success
-- [ $RETVAL -ne 0 ] && echo_failure
-+ [ $RETVAL -eq 0 ] && success
-+ [ $RETVAL -ne 0 ] && failure
- echo
- return $RETVAL
- }
-@@ -50,8 +50,10 @@
- # and reboot the box.
- killproc $prog -TERM
- RETVAL=$?
-- echo
- [ $RETVAL -eq 0 ] && rm -f $lockfile $pidfile
-+ [ $RETVAL -eq 0 ] && success
-+ [ $RETVAL -ne 0 ] && failure
-+ echo
- return $RETVAL
- }
-
diff --git a/meta/recipes-extended/watchdog/watchdog/watchdog.init b/meta/recipes-extended/watchdog/watchdog/watchdog.init
new file mode 100644
index 0000000..d37107c
--- /dev/null
+++ b/meta/recipes-extended/watchdog/watchdog/watchdog.init
@@ -0,0 +1,110 @@
+#!/bin/sh
+#/etc/init.d/watchdog: start watchdog daemon.
+
+### BEGIN INIT INFO
+# Provides: watchdog
+# Short-Description: Start software watchdog daemon
+# Required-Start: $all
+# Required-Stop: $all
+# Should-Start:
+# Should-Stop:
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+### END INIT INFO
+
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+
+test -x /usr/sbin/watchdog || exit 0
+
+# For configuration of the init script use the file
+# /etc/default/watchdog, do not edit this init script.
+
+# Set run_watchdog to 1 to start watchdog or 0 to disable it.
+run_watchdog=0
+
+# Specify additional watchdog options here (see manpage).
+watchdog_options=""
+
+# Specify module to load
+watchdog_module="none"
+
+[ -e /etc/default/watchdog ] && . /etc/default/watchdog
+
+NAME=watchdog
+DAEMON=/usr/sbin/watchdog
+
+STOP_RETRY_SCHEDULE='TERM/10/forever/KILL/1'
+
+. /etc/init.d/functions
+
+# Mock Debian stuff
+log_begin_msg() {
+ echo -n $*
+}
+
+log_end_msg() {
+ if [ "$1" = "0" ]; then
+ echo 'done'
+ else
+ echo 'error'
+ fi
+}
+
+log_daemon_msg() {
+ echo $*
+}
+
+log_progress_msg() {
+ echo $*
+}
+
+case "$1" in
+ start)
+ if [ $run_watchdog = 1 ]
+ then
+ # do we have to load a module?
+ [ "${watchdog_module:-none}" != "none" ] && /sbin/modprobe $watchdog_module
+
+ # Check /dev/watchdog here because if it does not exist after module loading,
+ # it makes no sense to start the daemon
+ test -e /dev/watchdog || { log_daemon_msg "daemon not start due to lack of /dev/watchdog"; exit 0; }
+
+ log_begin_msg "Starting watchdog daemon..."
+ start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
+ --exec $DAEMON -- $watchdog_options
+ log_end_msg $?
+ fi
+ ;;
+
+ stop)
+ if [ $run_watchdog = 1 ]
+ then
+ log_begin_msg "Stopping watchdog daemon..."
+ start-stop-daemon --stop --quiet --retry $STOP_RETRY_SCHEDULE \
+ --pidfile /var/run/$NAME.pid
+
+ fi
+ ;;
+
+ restart)
+ $0 force-reload
+ ;;
+
+ force-reload)
+ if [ $run_watchdog = 0 ]; then exit 0; fi
+ log_daemon_msg "Restarting $NAME"
+ $0 stop
+ $0 start
+ ;;
+
+ status)
+ status "$DAEMON"
+ ;;
+
+ *)
+ echo "Usage: /etc/init.d/watchdog {start|stop|restart|force-reload|status}"
+ exit 1
+
+esac
+
+exit 0
diff --git a/meta/recipes-extended/watchdog/watchdog_5.15.bb b/meta/recipes-extended/watchdog/watchdog_5.15.bb
index 8353ec0..1acab2e 100644
--- a/meta/recipes-extended/watchdog/watchdog_5.15.bb
+++ b/meta/recipes-extended/watchdog/watchdog_5.15.bb
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=ecc0551bf54ad97f6b541720f84d6569"
SRC_URI = "${SOURCEFORGE_MIRROR}/watchdog/watchdog-${PV}.tar.gz \
file://0001-Include-linux-param.h-for-EXEC_PAGESIZE-definition.patch \
file://0001-watchdog-remove-interdependencies-of-watchdog-and-wd.patch \
- file://watchdog-init.patch \
+ file://watchdog.init \
file://wd_keepalive.init \
"
@@ -31,7 +31,7 @@ EXTRA_OECONF += " --disable-nfs "
INITSCRIPT_PACKAGES = "${PN} ${PN}-keepalive"
-INITSCRIPT_NAME_${PN} = "watchdog.sh"
+INITSCRIPT_NAME_${PN} = "watchdog"
INITSCRIPT_PARAMS_${PN} = "start 25 1 2 3 4 5 . stop 85 0 6 ."
INITSCRIPT_NAME_${PN}-keepalive = "wd_keepalive"
@@ -49,7 +49,7 @@ do_install_append() {
install -m 0644 ${S}/debian/watchdog.service ${D}${systemd_system_unitdir}
install -m 0644 ${S}/debian/wd_keepalive.service ${D}${systemd_system_unitdir}
- install -D ${S}/redhat/watchdog.init ${D}/${sysconfdir}/init.d/watchdog.sh
+ install -Dm 0755 ${WORKDIR}/watchdog.init ${D}/${sysconfdir}/init.d/watchdog
install -Dm 0755 ${WORKDIR}/wd_keepalive.init ${D}${sysconfdir}/init.d/wd_keepalive
# watchdog.conf is provided by the watchdog-config recipe
--
1.9.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH 6/7] oeqa/runtime/cases/parselogs.py: ignore a message from watchdog
2018-06-13 7:58 [PATCH 0/7] Fix failures discoved by parselogs and systemd test cases Chen Qi
` (4 preceding siblings ...)
2018-06-13 7:58 ` [PATCH 5/7] watchdog: fix init script for sysvinit Chen Qi
@ 2018-06-13 7:58 ` Chen Qi
2018-06-13 7:58 ` [PATCH 7/7] dnf: default to disable systemd units Chen Qi
6 siblings, 0 replies; 8+ messages in thread
From: Chen Qi @ 2018-06-13 7:58 UTC (permalink / raw)
To: openembedded-core
The following message from watchdog is not an error.
"error retry time-out = 60 seconds"
Checking watchdog's source codes, we have:
src/watchdog.c: log_message(LOG_INFO, "error retry time-out = %d seconds", retry_timeout);
It's clear this is an info message, so parselogs should ignore it.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
meta/lib/oeqa/runtime/cases/parselogs.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta/lib/oeqa/runtime/cases/parselogs.py b/meta/lib/oeqa/runtime/cases/parselogs.py
index bfebb38..1cdea58 100644
--- a/meta/lib/oeqa/runtime/cases/parselogs.py
+++ b/meta/lib/oeqa/runtime/cases/parselogs.py
@@ -50,6 +50,7 @@ common_errors = [
"GPT: Use GNU Parted to correct GPT errors",
"Cannot set xattr user.Librepo.DownloadInProgress",
"Failed to read /var/lib/nfs/statd/state: Success",
+ "error retry time-out =",
]
video_related = [
--
1.9.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH 7/7] dnf: default to disable systemd units
2018-06-13 7:58 [PATCH 0/7] Fix failures discoved by parselogs and systemd test cases Chen Qi
` (5 preceding siblings ...)
2018-06-13 7:58 ` [PATCH 6/7] oeqa/runtime/cases/parselogs.py: ignore a message from watchdog Chen Qi
@ 2018-06-13 7:58 ` Chen Qi
6 siblings, 0 replies; 8+ messages in thread
From: Chen Qi @ 2018-06-13 7:58 UTC (permalink / raw)
To: openembedded-core
The services and timers are not useful if a repo is not configured.
In OE, we default to have no repo configured. So we default to disable
these units.
The problem was found by the test_systemd_failed runtime test case.
dnf-makecache.service is found to fail. This is due to lack of repo.
Note that as this service is started by the dnf-makecache.timer, it's
possible that test_systemd_failed passes in case the timer is not started
yet.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
meta/recipes-devtools/dnf/dnf_2.7.5.bb | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta/recipes-devtools/dnf/dnf_2.7.5.bb b/meta/recipes-devtools/dnf/dnf_2.7.5.bb
index b88ddb4..df60d73 100644
--- a/meta/recipes-devtools/dnf/dnf_2.7.5.bb
+++ b/meta/recipes-devtools/dnf/dnf_2.7.5.bb
@@ -72,3 +72,4 @@ SYSTEMD_SERVICE_${PN} = "dnf-makecache.service dnf-makecache.timer \
dnf-automatic-install.service dnf-automatic-install.timer \
dnf-automatic-notifyonly.service dnf-automatic-notifyonly.timer \
"
+SYSTEMD_AUTO_ENABLE ?= "disable"
--
1.9.1
^ permalink raw reply related [flat|nested] 8+ messages in thread