summaryrefslogtreecommitdiff
diff options
-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 00000000..172f20a8
--- /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 36e31c2a..a84f0045 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 bb782c10..8391bca5 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 2b5b236c..3247941e 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 407a2734..6de8e710 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