summaryrefslogtreecommitdiff
diff options
authorPMR <pmr@pmr-lander>2020-04-20 09:00:56 +0000
committerPMR <pmr@pmr-lander>2020-04-20 09:00:56 +0000
commit2c9a28977a4aa15e179ee171746c485d221753fe (patch)
tree084968abe98b0997b43b65427db092a35f2d0a32
parent6e6c7fc9b96d92d58ec0d24fe9040fcb6acb881c (diff)
parent4786f91acae8f0a32505311bfb7687f5af23b2cd (diff)
Merge #382445 from ~jocave/plainbox-provider-checkbox:failed-service-checks
-rwxr-xr-xbin/failed_service_check.sh11
-rw-r--r--units/power-management/jobs.pxu20
-rw-r--r--units/power-management/test-plan.pxu2
-rw-r--r--units/watchdog/jobs.pxu10
-rw-r--r--units/watchdog/test-plan.pxu1
5 files changed, 44 insertions, 0 deletions
diff --git a/bin/failed_service_check.sh b/bin/failed_service_check.sh
new file mode 100755
index 0000000..172f20a
--- /dev/null
+++ b/bin/failed_service_check.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+COUNT=$(systemctl --system --no-ask-password --no-pager --no-legend list-units --state=failed | wc -l)
+printf "Found %s failed units\n" "$COUNT"
+if [ "$COUNT" -eq 0 ]; then
+ exit 0
+else
+ printf "\nFailed units:\n"
+ systemctl --system --no-ask-password --no-pager list-units --state=failed
+fi
+exit 1
diff --git a/units/power-management/jobs.pxu b/units/power-management/jobs.pxu
index 36e31c2..a84f004 100644
--- a/units/power-management/jobs.pxu
+++ b/units/power-management/jobs.pxu
@@ -290,6 +290,16 @@ user: root
flags: preserve-locale noreturn autorestart
estimated_duration: 180.0
+id: power-management/post-warm-reboot
+after: power-management/warm-reboot
+category_id: com.canonical.plainbox::power-management
+_summary: Post warm reboot service check
+_description: Check there are no failed services after the warm reboot
+unit: job
+plugin: shell
+command: failed_service_check.sh
+estimated_duration: 1.0
+
id: power-management/cold-reboot
category_id: com.canonical.plainbox::power-management
_summary: Cold reboot
@@ -307,6 +317,16 @@ user: root
flags: preserve-locale noreturn autorestart
estimated_duration: 300
+id: power-management/post-cold-reboot
+after: power-management/cold-reboot
+category_id: com.canonical.plainbox::power-management
+_summary: Post cold reboot service check
+_description: Check there are no failed services after the cold reboot
+unit: job
+plugin: shell
+command: failed_service_check.sh
+estimated_duration: 1.0
+
unit: template
template-resource: model_assertion
template-unit: job
diff --git a/units/power-management/test-plan.pxu b/units/power-management/test-plan.pxu
index bb782c1..8391bca 100644
--- a/units/power-management/test-plan.pxu
+++ b/units/power-management/test-plan.pxu
@@ -75,7 +75,9 @@ _name: Automated power tests
_description: Automated power tests for Snappy Ubuntu Core devices
include:
power-management/warm-reboot
+ power-management/post-warm-reboot
power-management/cold-reboot
+ power-management/post-cold-reboot
id: power-manual
unit: test plan
diff --git a/units/watchdog/jobs.pxu b/units/watchdog/jobs.pxu
index 2b5b236..3247941 100644
--- a/units/watchdog/jobs.pxu
+++ b/units/watchdog/jobs.pxu
@@ -65,3 +65,13 @@ user: root
plugin: shell
category_id: com.canonical.plainbox::power-management
estimated_duration: 60
+
+id: watchdog/post-trigger-system-reset-auto
+after: watchdog/trigger-system-reset-auto
+category_id: com.canonical.plainbox::power-management
+_summary: Post watchdog reset service check
+_description: Check there are no failed services after the watchdog triggered
+unit: job
+plugin: shell
+command: failed_service_check.sh
+estimated_duration: 1.0
diff --git a/units/watchdog/test-plan.pxu b/units/watchdog/test-plan.pxu
index 407a273..6de8e71 100644
--- a/units/watchdog/test-plan.pxu
+++ b/units/watchdog/test-plan.pxu
@@ -25,3 +25,4 @@ estimated_duration: 1s
include:
watchdog/systemd-config
watchdog/trigger-system-reset-auto
+ watchdog/post-trigger-system-reset-auto