summaryrefslogtreecommitdiff
path: root/units/miscellanea
diff options
authorSylvain Pineau <sylvain.pineau@canonical.com>2017-09-18 20:56:16 +0200
committerSylvain Pineau <sylvain.pineau@canonical.com>2017-09-18 20:56:16 +0200
commit06ebc0457992bddfca74c3decc554d70ffdd310d (patch)
treeddc2038690c7e0bbd7146b3375681b919e91ab95 /units/miscellanea
parenta2cbc59e55ed21f755f45a5db2df5695a2220315 (diff)
Move all jobs definition files into pxu units
Diffstat (limited to 'units/miscellanea')
-rw-r--r--units/miscellanea/jobs.pxu378
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