diff options
author | Sylvain Pineau <sylvain.pineau@canonical.com> | 2017-09-18 20:56:16 +0200 |
---|---|---|
committer | Sylvain Pineau <sylvain.pineau@canonical.com> | 2017-09-18 20:56:16 +0200 |
commit | 06ebc0457992bddfca74c3decc554d70ffdd310d (patch) | |
tree | ddc2038690c7e0bbd7146b3375681b919e91ab95 /units/miscellanea | |
parent | a2cbc59e55ed21f755f45a5db2df5695a2220315 (diff) |
Move all jobs definition files into pxu units
Diffstat (limited to 'units/miscellanea')
-rw-r--r-- | units/miscellanea/jobs.pxu | 378 |
1 files changed, 378 insertions, 0 deletions
diff --git a/units/miscellanea/jobs.pxu b/units/miscellanea/jobs.pxu new file mode 100644 index 00000000..a162dce8 --- /dev/null +++ b/units/miscellanea/jobs.pxu @@ -0,0 +1,378 @@ +plugin: shell +category_id: com.canonical.plainbox::miscellanea +id: miscellanea/submission-resources +depends: + cpuinfo + dmi + dpkg + lsb + package + snap + requirements + uname + dmi_attachment + lsblk_attachment + sysfs_attachment + udev_attachment + dkms_info_json + udev_json + raw_devices_dmi_json + modprobe_json + lspci_standard_config_json + dell_bto_xml_attachment_json + recovery_info_attachment_json +estimated_duration: 1.0 +command: true +_summary: + Check that data for a complete result are present +_description: + A meta-job that verifies the data necessary for a complete result + submission are present. Failure indicates that the results are incomplete + and may be rejected. + +plugin: manual +category_id: com.canonical.plainbox::miscellanea +id: miscellanea/tester-info +_description: + PURPOSE: + Keep tester related information in the report + STEPS: + 1. Tester Information + 2. Please enter the following information in the comments field: + a. Name + b. Email Address + c. Reason for this test run + VERIFICATION: + Nothing to verify for this test + +plugin: user-interact-verify +category_id: com.canonical.plainbox::miscellanea +id: miscellanea/chvt +requires: + package.name == 'kbd' +user: root +command: cycle_vts +_description: + PURPOSE: + This test will check that the system can switch to a virtual terminal and back to X + STEPS: + 1. Click "Test" to switch to another virtual terminal and then back to X + VERIFICATION: + Did your screen change temporarily to a text console and then switch back to your current session? + +plugin: shell +category_id: com.canonical.plainbox::miscellanea +id: miscellanea/fwts_test +estimated_duration: 1.2 +requires: + package.name == 'fwts' +user: root +_description: + Run Firmware Test Suite (fwts) automated tests. +environ: PLAINBOX_SESSION_SHARE +command: + checkbox-support-fwts_test -l $PLAINBOX_SESSION_SHARE/fwts_results.log + +plugin: shell +category_id: com.canonical.plainbox::miscellanea +id: miscellanea/fwupdate +estimated_duration: 1.0 +depends: miscellanea/efi_boot_mode +requires: + cpuinfo.platform in ("i386", "x86_64", "aarch64", "armhf") + package.name == 'fwupdate' or executable.name == 'fwupdate' +_description: + Determine if EFI firmware supports update from OS. +_summary: + Check for firmware update support. +command: fwupdate -s + +plugin: attachment +category_id: com.canonical.plainbox::miscellanea +id: miscellanea/fwts_results.log +requires: + package.name == 'fwts' +command: + [[ -e ${PLAINBOX_SESSION_SHARE}/fwts_results.log ]] && xz -c ${PLAINBOX_SESSION_SHARE}/fwts_results.log | base64 +_description: Attaches the miscellanes/fwts_test results log to the submission. + +plugin: attachment +category_id: com.canonical.plainbox::miscellanea +estimated_duration: 0.5 +id: miscellanea/fwts_results_hwe.log.gz +requires: + package.name == 'fwts' +command: + [ -f $PLAINBOX_SESSION_SHARE/fwts_results_hwe.log ] && gzip -c $PLAINBOX_SESSION_SHARE/fwts_results_hwe.log | base64 +_description: Attaches the FWTS results log to the submission (to HWE) +_summary: Attach FWTS log to submission (to HWE) + +plugin: shell +category_id: com.canonical.plainbox::miscellanea +id: miscellanea/ipmi_test +requires: + package.name == 'ipmitool' or executable.name == 'ipmitool' + cpuinfo.platform != 's390x' +user: root +command: ipmi_test +_summary: + Test IPMI in-band communications +_description: + This will run some basic commands in-band against a BMC, verifying that IPMI + works. Use of MAAS to deploy the system implicitly tests out-of-band BMC + control. + +plugin: shell +category_id: com.canonical.plainbox::miscellanea +estimated_duration: 0.5 +id: miscellanea/efi_boot_mode +requires: + cpuinfo.platform in ("i386", "x86_64", "aarch64") +_summary: Test that system booted in EFI mode +_description: + Test to verify that the system booted in EFI mode with Secure Boot active. +command: boot_mode_test efi + +plugin: shell +category_id: com.canonical.plainbox::miscellanea +estimated_duration: 0.5 +id: miscellanea/secure_boot_mode +requires: + cpuinfo.platform in ("i386", "x86_64", "aarch64") +depends: miscellanea/efi_boot_mode +_summary: Test that system booted with Secure Boot active +_description: + Test to verify that the system booted in Secure Boot active. +command: boot_mode_test secureboot + +plugin: shell +category_id: com.canonical.plainbox::miscellanea +estimated_duration: 0.5 +user: root +id: miscellanea/efi_pxeboot +requires: + cpuinfo.platform in ("i386", "x86_64", "aarch64") +depends: miscellanea/efi_boot_mode +_summary: Test that system booted from the network +_description: + Test to verify that the system booted from the network. + Works only on EFI-based systems. +command: efi-pxeboot + +plugin: shell +category_id: com.canonical.plainbox::miscellanea +id: miscellanea/bmc_info +requires: + package.name == 'ipmitool' or executable.name == 'ipmitool' + cpuinfo.platform != 's390x' +estimated_duration: 0.5 +user: root +command: bmc_info +_description: + This will gather some info about the BMC itself for diagnostic purposes. This + will not works on non-IPMI systems like AMT and blade/sled type systems. +_summary: + Gather BMC identification info + +plugin: shell +category_id: com.canonical.plainbox::miscellanea +id: miscellanea/cpus_are_not_samples +requires: + package.name == 'dmidecode' or executable.name == 'dmidecode' + dmi_present.state == 'supported' +estimated_duration: 0.5 +user: root +command: dmitest cpu-check +_description: + Sanity check of CPU information; fails if CPU is an engineering sample +_summary: + Test DMI data for CPUs + +plugin: shell +category_id: com.canonical.plainbox::miscellanea +id: miscellanea/dmitest_server +requires: + package.name == 'dmidecode' or executable.name == 'dmidecode' + dmi_present.state == 'supported' +estimated_duration: 0.5 +user: root +command: dmitest --test_versions server +_description: + Sanity check of DMI system identification data (for servers) +_summary: + Test DMI identification data (servers) + +plugin: shell +category_id: com.canonical.plainbox::miscellanea +id: miscellanea/dmitest_client +requires: + package.name == 'dmidecode' + dmi_present.state == 'supported' +estimated_duration: 0.5 +user: root +command: dmitest --test_versions --test_serials desktop +_description: + Sanity check of DMI system identification data (for desktops & laptops) +_summary: + DMI ID sanity check (desktops/laptops) + +plugin: shell +category_id: com.canonical.plainbox::miscellanea +id: miscellanea/is_laptop +user: root +_description: + Determine if we need to run tests specific to portable computers that may not apply to desktops. +command: check_is_laptop + +plugin: shell +category_id: com.canonical.plainbox::miscellanea +id: miscellanea/apport-directory +requires: package.name == 'apport' +command: if [ -d /var/crash ]; then if [ $(find /var/crash -type f | grep -v .lock | wc -l) -eq 0 ]; then echo "/var/crash is empty"; else echo `ls /var/crash`; false; fi; else echo "/var/crash does not exist"; fi +_description: + Test that the /var/crash directory doesn't contain anything. Lists the files contained within if it does, or echoes the status of the directory (doesn't exist/is empty) + +plugin: shell +category_id: com.canonical.plainbox::miscellanea +id: miscellanea/sources-list +command: sources_test $SOURCES_LIST "$REPOSITORIES" +_description: Checks that a specified sources list file contains the requested repositories + +unit: template +template-resource: device +template-filter: device.category == 'NETWORK' +plugin: manual +category_id: com.canonical.plainbox::miscellanea +id: miscellanea/pxe_boot_device{__index__}_{interface} +_summary: PXE verification test of device {__index__} ({interface}) +estimated_duration: 30.0 +_purpose: + This test will verify that you have attempted to PXE boot this machine from + the network device {__index__} ({interface}). +_steps: + 1. Prior to running this test, you should have attempted to boot this system via PXE on every Network Port available. +_verification: + 1. Select Yes if you successfully used PXE to boot this system using the NIC {interface} + 2. Select No if you attempted to PXE boot via {interface} and it failed for some reason. + 3. Select Skip if you did not attempt to PXE boot this system using the NIC {interface} + +unit: template +template-resource: device +template-filter: device.category == 'NETWORK' +plugin: manual +category_id: com.canonical.plainbox::miscellanea +id: miscellanea/remote_shared_ipmi_device{__index__}_{interface} +_summary: Remote Shared IPMI verification test for device {__index__} ({interface}) +estimated_duration: 30.0 +_purpose: + This test will verify that you have attempted IPMI control of this machine from the network device {__index__} ({interface}). +_steps: + 1. Prior to running this test, you should have configured and used IPMI to power this machine off and on using every Network Port available. +_verification: + 1. Select Yes if you successfully used IPMI to remotely power this system off and on using the NIC {interface} + 2. Select No if you did not attempt to use IPMI to remotely power this sytem off and on via the NIC {interface} + 3. Select No if you attempted to use IPMI to remotely power off/on this system via {interface} and it failed for some reason. + +plugin: manual +category_id: com.canonical.plainbox::miscellanea +id: miscellanea/remote_dedicated_ipmi +_description: + PURPOSE: + Some systems do not share IPMI over all NICs but instead have a dedicated management port directly connected to the BMC. This test verifies that you have used that port for remote IPMI connections and actions. + STEPS: + 1. Prior to running the test, you should have configured and used the Dedicated Management Port to remotely power off/on this sytem. + VERIFICATION: + Skip this test if this system ONLY uses shared management/ethernet ports OR if this system does not have a Management Controller. + 1. Select Yes if you successfully used IPMI to remotely power this system off and on using the dedicated management port. + 2. Select No if you attempted to use the dedicated management port to remotely power this system off/on and it failed for some reason. + +plugin:shell +id: miscellanea/oops +estimated_duration: 10.0 +requires: + package.name == 'fwts' +user: root +_description: + Run Firmware Test Suite (fwts) oops tests. +environ: PLAINBOX_SESSION_SHARE +command: + checkbox-support-fwts_test -l $PLAINBOX_SESSION_SHARE/fwts_oops_results.log -t oops + +plugin: attachment +category_id: com.canonical.plainbox::miscellanea +estimated_duration: 0.5 +id: miscellanea/oops_results.log +command: + [ -e ${PLAINBOX_SESSION_SHARE}/fwts_oops_results.log ] && xz -c ${PLAINBOX_SESSION_SHARE}/fwts_oops_results.log | base64 +_description: Attaches the FWTS oops results log to the submission + +plugin: shell +category_id: com.canonical.plainbox::miscellanea +estimated_duration: 0.1 +id: miscellanea/get_maas_version +command: maas-version-check +_description: If system was installed via MAAS from a cert server, the MAAS version used should be contained in /etc/installed-by-maas +_summary: Verify MAAS version used to deploy the SUT + +plugin: shell +category_id: com.canonical.plainbox::miscellanea +estimated_duration: 30.0 +id: miscellanea/get_make_and_model +user: root +command: get_make_and_model +requires: + dmi_present.state == 'supported' +_description: Retrieve the computer's make and model for easier access than digging through the dmidecode output. +_summary: Gather info on the SUT's make and model + +plugin: user-interact-verify +category_id: com.canonical.plainbox::miscellanea +estimated_duration: 5.0 +id: miscellanea/device_check +command: udev_resource -l VIDEO NETWORK WIRELESS DISK ACCELEROMETER | tee >([[ $DISPLAY ]] && zenity --text-info --title="Device report") +_summary: Device Check +_purpose: + Device check +_steps: + 1. Commence the test + 2. Compare items on System Manifest to the devices known to udev +_verification: + Do the devices reported by udev match the devices on the Manifest? + +plugin: shell +category_id: com.canonical.plainbox::miscellanea +estimated_duration: 20.0 +id: miscellanea/sosreport +user: root +requires: executable.name == 'sosreport' +command: sosreport --batch --tmp-dir $PLAINBOX_SESSION_SHARE +_summary: Generate baseline sosreport +_description: Generates a baseline sosreport of logs and system data + +plugin: attachment +category_id: com.canonical.plainbox::miscellanea +estimated_duration: 5.0 +id: miscellanea/sosreport_attachment +depends: miscellanea/sosreport +user: root +command: + SOSFILE=`ls -t $PLAINBOX_SESSION_SHARE/sosreport*xz | head -1`; [ -e ${SOSFILE} ] && base64 $SOSFILE +_summary: Attach the baseline sosreport file + +plugin: shell +category_id: com.canonical.plainbox::miscellanea +estimated_duration: 0.5 +id: miscellanea/call-trace-check +command: if [ -n "$(grep "Call Trace:" /var/log/syslog)" ]; then echo "Call Trace detected in syslog"; false; else true; fi +_summary: Check syslog for call traces +_description: Checks syslog for call traces after testing is complete. +flags: preserve-locale + +plugin: attachment +category_id: com.canonical.plainbox::miscellanea +estimated_duration: 0.5 +id: miscellanea/attach-syslog +command: if [ -n "$(grep "Call Trace:" /var/log/syslog)" ]; then cat /var/log/syslog; fi +_summary: Attach syslog if Call Trace appears +_description: Attaches a copy of syslog if call traces are present after testing is complete. +flags: preserve-locale |