diff --git a/providers/base/units/audio/jobs.pxu b/providers/base/units/audio/jobs.pxu index 1f1c9c7f10..dbfb82aa14 100644 --- a/providers/base/units/audio/jobs.pxu +++ b/providers/base/units/audio/jobs.pxu @@ -73,6 +73,7 @@ template-filter: graphics_card.prime_gpu_offload == 'Off' plugin: user-interact-verify category_id: com.canonical.plainbox::audio id: audio/{index}_playback_hdmi_{product_slug} +template-id: audio/index_playback_hdmi_product_slug estimated_duration: 30.0 imports: from com.canonical.plainbox import manifest requires: @@ -109,6 +110,7 @@ template-filter: graphics_card.prime_gpu_offload == 'Off' plugin: user-interact-verify category_id: com.canonical.plainbox::audio id: audio/{index}_playback_displayport_{product_slug} +template-id: audio/index_playback_displayport_product_slug estimated_duration: 30.0 imports: from com.canonical.plainbox import manifest requires: @@ -145,6 +147,7 @@ template-filter: graphics_card.prime_gpu_offload == 'Off' plugin: user-interact-verify category_id: com.canonical.plainbox::audio id: audio/{index}_playback_thunderbolt_{product_slug} +template-id: audio/index_playback_thunderbolt_product_slug imports: from com.canonical.plainbox import manifest estimated_duration: 30.0 requires: @@ -181,6 +184,7 @@ template-filter: graphics_card.prime_gpu_offload == 'Off' plugin: user-interact-verify category_id: com.canonical.plainbox::audio id: audio/{index}_playback_thunderbolt3_{product_slug} +template-id: audio/index_playback_thunderbolt3_product_slug imports: from com.canonical.plainbox import manifest estimated_duration: 30.0 requires: @@ -217,6 +221,7 @@ template-filter: graphics_card.prime_gpu_offload == 'Off' plugin: user-interact-verify category_id: com.canonical.plainbox::audio id: audio/{index}_playback_type-c_displayport_{product_slug} +template-id: audio/index_playback_type-c_displayport_product_slug imports: from com.canonical.plainbox import manifest estimated_duration: 30.0 requires: @@ -253,6 +258,7 @@ template-filter: graphics_card.prime_gpu_offload == 'Off' plugin: user-interact-verify category_id: com.canonical.plainbox::audio id: audio/{index}_playback_type-c_hdmi_{product_slug} +template-id: audio/index_playback_type-c_hdmi_product_slug imports: from com.canonical.plainbox import manifest estimated_duration: 30.0 requires: diff --git a/providers/base/units/benchmarks/jobs.pxu b/providers/base/units/benchmarks/jobs.pxu index 6d8afde981..0233576cf4 100644 --- a/providers/base/units/benchmarks/jobs.pxu +++ b/providers/base/units/benchmarks/jobs.pxu @@ -4,6 +4,7 @@ template-filter: device.category == 'DISK' plugin: shell category_id: com.canonical.plainbox::benchmarks id: benchmarks/disk/hdparm-read_{name} +template-id: benchmarks/disk/hdparm-read_name flags: also-after-suspend estimated_duration: 15.0 user: root @@ -17,6 +18,7 @@ template-filter: device.category == 'DISK' plugin: shell category_id: com.canonical.plainbox::benchmarks id: benchmarks/disk/hdparm-cache-read_{name} +template-id: benchmarks/disk/hdparm-cache-read_name flags: also-after-suspend estimated_duration: 10.0 user: root diff --git a/providers/base/units/bluetooth/jobs.pxu b/providers/base/units/bluetooth/jobs.pxu index 5dc06b0265..148e8bb04c 100644 --- a/providers/base/units/bluetooth/jobs.pxu +++ b/providers/base/units/bluetooth/jobs.pxu @@ -248,6 +248,7 @@ template-filter: device.category == 'BLUETOOTH' template-engine: jinja2 template-unit: job id: bluetooth4/beacon_notification_{{ path }} +template-id: bluetooth4/beacon_notification_path _summary: Test system can get beacon notifications on the {{ path.split('/')[-1] }} adapter environ: ADV_SVC_UUID SVC_UUID MSRMT_UUID command: @@ -267,6 +268,7 @@ template-resource: device template-filter: device.category == 'BLUETOOTH' template-unit: job id: bluetooth4/beacon_eddystone_url_{interface} +template-id: bluetooth4/beacon_eddystone_url_interface _summary: Test system can get beacon EddyStone URL advertisements on the {interface} adapter command: checkbox-support-eddystone_scanner -D {interface} @@ -280,6 +282,7 @@ unit: template template-resource: bluez-internal-rfcomm-tests template-unit: job id: bluetooth/bluez-internal-rfcomm-tests_{bluez-internal-rfcomm-test} +template-id: bluetooth/bluez-internal-rfcomm-tests_bluez-internal-rfcomm-test category_id: bluetooth_bluez5_selftests _summary: BlueZ-{bluez-internal-rfcomm-test} _description: @@ -296,6 +299,7 @@ unit: template template-resource: bluez-internal-hci-tests template-unit: job id: bluetooth/bluez-internal-hci-tests_{bluez-internal-hci-test} +template-id: bluetooth/bluez-internal-hci-tests_bluez-internal-hci-test category_id: bluetooth_bluez5_selftests _summary: BlueZ-{bluez-internal-hci-test} _description: @@ -312,6 +316,7 @@ unit: template template-resource: bluez-internal-mgmt-tests template-unit: job id: bluetooth/bluez-internal-mgmt-tests_{bluez-internal-mgmt-test} +template-id: bluetooth/bluez-internal-mgmt-tests_bluez-internal-mgmt-test category_id: bluetooth_bluez5_selftests _summary: BlueZ-{bluez-internal-mgmt-test} _description: @@ -328,6 +333,7 @@ unit: template template-resource: bluez-internal-uc-tests template-unit: job id: bluetooth/bluez-internal-uc-tests_{bluez-internal-uc-test} +template-id: bluetooth/bluez-internal-uc-tests_bluez-internal-uc-test category_id: bluetooth_bluez5_selftests _summary: BlueZ-{bluez-internal-uc-test} _description: @@ -344,6 +350,7 @@ unit: template template-resource: bluez-internal-bnep-tests template-unit: job id: bluetooth/bluez-internal-bnep-tests_{bluez-internal-bnep-test} +template-id: bluetooth/bluez-internal-bnep-tests_bluez-internal-bnep-test category_id: bluetooth_bluez5_selftests _summary: BlueZ-{bluez-internal-bnep-test} _description: diff --git a/providers/base/units/camera/jobs.pxu b/providers/base/units/camera/jobs.pxu index a247450edd..dd9c923a60 100644 --- a/providers/base/units/camera/jobs.pxu +++ b/providers/base/units/camera/jobs.pxu @@ -29,6 +29,7 @@ template-unit: job plugin: user-interact-verify category_id: com.canonical.plainbox::camera id: camera/display_{name} +template-id: camera/display_name flags: also-after-suspend _summary: Webcam video display test for {product_slug} estimated_duration: 120.0 @@ -50,6 +51,7 @@ template-unit: job plugin: user-interact-verify category_id: com.canonical.plainbox::camera id: camera/led_{name} +template-id: camera/led_name _summary: Webcam LED test for {product_slug} estimated_duration: 120.0 depends: camera/detect @@ -72,6 +74,7 @@ template-unit: job plugin: user-interact-verify category_id: com.canonical.plainbox::camera id: camera/still_{name} +template-id: camera/still_name flags: also-after-suspend _summary: Webcam still image capture test for {product_slug} estimated_duration: 120.0 @@ -93,6 +96,7 @@ template-unit: job plugin: shell category_id: com.canonical.plainbox::camera id: camera/multiple-resolution-images_{name} +template-id: camera/multiple-resolution-images_name flags: also-after-suspend _summary: Webcam multiple resolution capture test for {product_slug} estimated_duration: 1.2 @@ -110,6 +114,7 @@ template-unit: job plugin: shell category_id: com.canonical.plainbox::camera id: camera/camera-quality_{name} +template-id: camera/camera-quality_name flags: also-after-suspend _summary: Webcam brisque score for {product_slug} estimated_duration: 20s @@ -145,6 +150,7 @@ template-unit: job plugin: shell category_id: com.canonical.plainbox::camera id: camera/multiple-resolution-images-rpi_{name} +template-id: camera/multiple-resolution-images-rpi_name _summary: Webcam multiple resolution capture test for Pi Camera estimated_duration: 16.0 depends: camera/detect-rpi @@ -164,6 +170,7 @@ template-unit: job plugin: shell category_id: com.canonical.plainbox::camera id: camera/roundtrip-qrcode_{{ name }} +template-id: camera/roundtrip-qrcode_name _summary: Test video output and camera {{ name }} by displaying and reading a qrcode estimated_duration: 5.0 depends: diff --git a/providers/base/units/cpu/jobs.pxu b/providers/base/units/cpu/jobs.pxu index 6e560970ce..5148020eb3 100644 --- a/providers/base/units/cpu/jobs.pxu +++ b/providers/base/units/cpu/jobs.pxu @@ -177,6 +177,7 @@ template-unit: job plugin: shell category_id: com.canonical.plainbox::cpu id: cpu/armhf_vfp_support_{platform} +template-id: cpu/armhf_vfp_support_platform estimated_duration: 1.0 user: root command: @@ -193,6 +194,7 @@ template-unit: job plugin: shell category_id: com.canonical.plainbox::cpu id: cpu/arm64_vfp_support_{platform} +template-id: cpu/arm64_vfp_support_platform estimated_duration: 1.0 user: root command: diff --git a/providers/base/units/disk/jobs.pxu b/providers/base/units/disk/jobs.pxu index 00c76da33f..508b7db472 100644 --- a/providers/base/units/disk/jobs.pxu +++ b/providers/base/units/disk/jobs.pxu @@ -18,6 +18,7 @@ template-unit: job plugin: shell category_id: com.canonical.plainbox::disk id: disk/stats_{name} +template-id: disk/stats_name flags: deprecated also-after-suspend user: root estimated_duration: 10.0 @@ -40,6 +41,7 @@ template-filter: device.category == 'DISK' plugin: shell category_id: com.canonical.plainbox::disk id: disk/smart_{name} +template-id: disk/smart_name estimated_duration: 180.0 requires: executable.name == 'smartctl' @@ -57,6 +59,7 @@ template-filter: device.category == 'DISK' plugin: shell category_id: com.canonical.plainbox::disk id: disk/read_performance_{name} +template-id: disk/read_performance_name flags: also-after-suspend estimated_duration: 65.0 requires: @@ -72,6 +75,7 @@ template-filter: device.category == 'DISK' plugin: shell category_id: com.canonical.plainbox::disk id: disk/storage_device_{name} +template-id: disk/storage_device_name flags: also-after-suspend estimated_duration: 375.0 user: root @@ -86,6 +90,7 @@ template-filter: device.category == 'DISK' plugin: shell category_id: com.canonical.plainbox::disk id: disk/fstrim_{name} +template-id: disk/fstrim_name estimated_duration: 1.0 user: root requires: @@ -100,6 +105,7 @@ template-filter: device.category == 'DISK' plugin: shell category_id: com.canonical.plainbox::disk id: disk/disk_stress_ng_{name} +template-id: disk/disk_stress_ng_name estimated_duration: 4560.0 user: root requires: @@ -123,6 +129,7 @@ template-filter: device.category == 'DISK' plugin: shell category_id: com.canonical.plainbox::disk id: disk/disk_cpu_load_{name} +template-id: disk/disk_cpu_load_name estimated_duration: 15 user: root requires: @@ -160,6 +167,7 @@ template-filter: device.driver == 'nvme' and device.category == 'OTHER' plugin: shell category_id: com.canonical.plainbox::disk id: disk/apste_support_on_{name} +template-id: disk/apste_support_on_name flags: also-after-suspend estimated_duration: 1.0 user: root diff --git a/providers/base/units/ethernet/jobs.pxu b/providers/base/units/ethernet/jobs.pxu index ec15fbc5ec..afe391ab9f 100644 --- a/providers/base/units/ethernet/jobs.pxu +++ b/providers/base/units/ethernet/jobs.pxu @@ -60,6 +60,7 @@ template-filter: device.category == 'NETWORK' plugin: shell category_id: com.canonical.plainbox::ethernet id: ethernet/multi_nic_device{__index__}_{interface} +template-id: ethernet/multi_nic_device__index___interface _summary: Multi-NIC Iperf stress testing for NIC {interface} estimated_duration: 7400.0 requires: @@ -79,6 +80,7 @@ template-filter: device.category == 'NETWORK' and device.interface != 'UNKNOWN' plugin: shell category_id: com.canonical.plainbox::ethernet id: ethernet/multi_iperf3_nic_device{__index__}_{interface} +template-id: ethernet/multi_iperf3_nic_device__index___interface _summary: Multi-NIC Iperf3 stress testing for NIC {interface} estimated_duration: 7400.0 requires: @@ -98,6 +100,7 @@ template-filter: device.category == 'NETWORK' and device.interface != 'UNKNOWN' plugin: shell category_id: com.canonical.plainbox::ethernet id: ethernet/sru_iperf3_stress_device-{__index__}_{interface} +template-id: ethernet/sru_iperf3_stress_device-__index___interface _summary: Multi-NIC Iperf3 SRU testing for NIC {interface} estimated_duration: 1200.0 requires: @@ -118,6 +121,7 @@ template-filter: device.category == 'NETWORK' and device.interface != 'UNKNOWN' plugin: shell category_id: com.canonical.plainbox::ethernet id: ethernet/multi_iperf3_nic_underspeed_device{__index__}_{interface} +template-id: ethernet/multi_iperf3_nic_underspeed_device__index___interface _summary: Underspeed Enabled Multi-NIC Iperf3 stress testing for NIC {interface} estimated_duration: 7400.0 requires: @@ -137,6 +141,7 @@ template-filter: device.category == 'NETWORK' and device.interface != 'UNKNOWN' plugin: shell category_id: com.canonical.plainbox::ethernet id: ethernet/ethertool_check_device{__index__}_{interface} +template-id: ethernet/ethertool_check_device__index___interface _summary: ethtool check for NIC {interface} estimated_duration: 330.0 requires: @@ -152,6 +157,7 @@ template-filter: device.category == 'NETWORK' and device.interface != 'UNKNOWN' plugin: shell category_id: com.canonical.plainbox::ethernet id: ethernet/ethertool_eee_check_device_{interface} +template-id: ethernet/ethertool_eee_check_device_interface _summary: Check ethtool EEE status for NIC {interface} estimated_duration: 330.0 requires: @@ -167,6 +173,7 @@ template-filter: device.category == 'NETWORK' and device.interface != 'UNKNOWN' plugin: user-interact-verify category_id: com.canonical.plainbox::ethernet id: ethernet/maximum_bandwidth_device{__index__}_{interface} +template-id: ethernet/maximum_bandwidth_device__index___interface _summary: Maximum bandwidth test of device {__index__} ({interface}) estimated_duration: 330.0 requires: @@ -190,6 +197,7 @@ template-filter: device.category == 'NETWORK' and device.interface != 'UNKNOWN' plugin: shell category_id: com.canonical.plainbox::ethernet id: ethernet/stress_performance_device{__index__}_{interface} +template-id: ethernet/stress_performance_device__index___interface _summary: Stress and performance test of ethernet device {__index__} ({interface}) estimated_duration: 330.0 requires: @@ -202,6 +210,7 @@ unit: template template-resource: device template-filter: device.category == 'NETWORK' and device.interface != 'UNKNOWN' id: ethernet/ping_{interface} +template-id: ethernet/ping_interface _summary: Can ping another machine over Ethernet port {interface} _description: Check Ethernet works by pinging another machine plugin: shell @@ -230,6 +239,7 @@ unit: template template-resource: device template-filter: device.category == 'NETWORK' and device.mac != 'UNKNOWN' id: ethernet/wol_S5_{interface} +template-id: ethernet/wol_S5_interface _summary: Wake on LAN (WOL) test from S5 - {interface} _purpose: Check that another system can wake up from S5 the SUT using ethernet port {interface} WOL function. @@ -254,6 +264,7 @@ unit: template template-resource: device template-filter: device.category == 'NETWORK' and device.mac != 'UNKNOWN' id: ethernet/wol_S4_{interface} +template-id: ethernet/wol_S4_interface _summary: Wake on LAN (WOL) test from S4 - {interface} _purpose: Check that another system can wake up from S4 the SUT using ethernet port {interface} WOL function. @@ -279,6 +290,7 @@ unit: template template-resource: device template-filter: device.category == 'NETWORK' and device.mac != 'UNKNOWN' and device.interface != 'UNKNOWN' id: ethernet/wol_S3_{interface} +template-id: ethernet/wol_S3_interface _summary: Wake on LAN (WOL) test from S3 - {interface} _purpose: Check that another system can wake up from S3 the SUT using ethernet port {interface} WOL function. @@ -305,6 +317,7 @@ template-resource: device template-filter: device.category == 'NETWORK' and device.interface != 'UNKNOWN' template-engine: jinja2 id: ethernet/hotplug-{{ interface }} +template-id: ethernet/hotplug-interface _summary: Ensure hotplugging works on port {{ interface }} _purpose: Check that hotplugging works on port {{ interface }} @@ -324,6 +337,7 @@ template-resource: device template-filter: device.category == 'NETWORK' and device.interface != 'UNKNOWN' template-unit: job id: ethernet/iperf3_{interface} +template-id: ethernet/iperf3_interface plugin: shell _summary: Iperf3 stress testing for {interface} category_id: com.canonical.plainbox::ethernet @@ -342,6 +356,7 @@ template-resource: device template-filter: device.category == 'NETWORK' and device.interface != 'UNKNOWN' template-unit: job id: ethernet/iperf3_reverse_{interface} +template-id: ethernet/iperf3_reverse_interface plugin: shell _summary: Iperf3 stress testing for {interface} (reverse) category_id: com.canonical.plainbox::ethernet @@ -361,6 +376,7 @@ template-filter: device.category == 'NETWORK' and device.interface != 'UNKNOWN' template-engine: jinja2 template-unit: job id: ethernet/check-{{ interface }}-static-configuration +template-id: ethernet/check-interface-static-configuration _summary: Check that {{ interface }} has a static configuration _description: This job is intended to be used on particular devices where an interface has @@ -387,6 +403,7 @@ template-filter: device.category == 'NETWORK' and device.interface != 'UNKNOWN' template-engine: jinja2 template-unit: job id: ethernet/check-{{ interface }}-static-configuration-np +template-id: ethernet/check-interface-static-configuration-np _summary: Check that {{ interface }} has a static configuration _description: This job is intended to be used on particular devices where an interface has diff --git a/providers/base/units/firmware/jobs.pxu b/providers/base/units/firmware/jobs.pxu index e03648d69f..88b5d3b07a 100644 --- a/providers/base/units/firmware/jobs.pxu +++ b/providers/base/units/firmware/jobs.pxu @@ -3,6 +3,7 @@ template-resource: fwts plugin: shell category_id: com.canonical.plainbox::firmware id: firmware/fwts_{name} +template-id: firmware/fwts_name estimated_duration: 1.2 requires: executable.name == 'fwts' user: root @@ -15,6 +16,7 @@ template-resource: fwts plugin: attachment category_id: com.canonical.plainbox::firmware id: firmware/fwts_{name}.log +template-id: firmware/fwts_name.log estimated_duration: 1.2 requires: executable.name == 'fwts' user: root diff --git a/providers/base/units/gpio/jobs.pxu b/providers/base/units/gpio/jobs.pxu index 07def1e390..17a5c8f7f4 100644 --- a/providers/base/units/gpio/jobs.pxu +++ b/providers/base/units/gpio/jobs.pxu @@ -6,6 +6,7 @@ template-resource: com.canonical.certification::model_assertion template-filter: model_assertion.model in ("pi2", "pi3", "ubuntu-core-18-pi2", "ubuntu-core-18-pi3") template-unit: job id: gpio/sysfs_loopback_pairs_{model} +template-id: gpio/sysfs_loopback_pairs_model _summary: Test GPIO lines exposed on headers can be controlled via sysfs plugin: shell user: root @@ -25,6 +26,7 @@ template-resource: com.canonical.certification::model_assertion template-filter: model_assertion.model in ("pi2", "pi3", "ubuntu-core-18-pi2", "ubuntu-core-18-pi3") template-unit: job id: gpio/gpiomem_loopback_pairs_{model} +template-id: gpio/gpiomem_loopback_pairs_model _summary: Test GPIO lines exposed on headers can be controlled via /dev/gpiomem plugin: shell user: root diff --git a/providers/base/units/gpio/vendor-aaeon.pxu b/providers/base/units/gpio/vendor-aaeon.pxu index cdf5f2d600..2e8970ea31 100644 --- a/providers/base/units/gpio/vendor-aaeon.pxu +++ b/providers/base/units/gpio/vendor-aaeon.pxu @@ -4,6 +4,7 @@ template-resource: dmi template-filter: dmi.category == 'SYSTEM' and dmi.vendor == 'AAEON' and dmi.product in ('UPX-TGL01', 'UPN-EHL01') template-unit: job id: gpio/sysfs_loopback_pairs_{vendor}_{product} +template-id: gpio/sysfs_loopback_pairs_vendor_product _summary: Test GPIO lines exposed on headers can be controlled via sysfs plugin: shell user: root diff --git a/providers/base/units/graphics/jobs.pxu b/providers/base/units/graphics/jobs.pxu index 1ded351b20..a3677c3b6a 100644 --- a/providers/base/units/graphics/jobs.pxu +++ b/providers/base/units/graphics/jobs.pxu @@ -4,6 +4,7 @@ template-filter: graphics_card.prime_gpu_offload == 'Off' plugin: shell category_id: com.canonical.plainbox::graphics id: graphics/{index}_driver_version_{product_slug} +template-id: graphics/index_driver_version_product_slug flags: also-after-suspend command: # shellcheck disable=SC1091 @@ -44,6 +45,7 @@ template-resource: graphics_card plugin: manual category_id: com.canonical.plainbox::graphics id: graphics/{index}_resolution-change_{product_slug} +template-id: graphics/index_resolution-change_product_slug _summary: Test changing resolution for {vendor} {product} _description: PURPOSE: @@ -72,6 +74,7 @@ template-resource: graphics_card plugin: user-interact-verify category_id: com.canonical.plainbox::graphics id: graphics/{index}_resolution_{product_slug} +template-id: graphics/index_resolution_product_slug requires: device.category == 'VIDEO' command: resolution_test.py @@ -91,6 +94,7 @@ template-resource: graphics_card plugin: user-interact-verify category_id: com.canonical.plainbox::graphics id: graphics/{index}_screen_resolution_{product_slug} +template-id: graphics/index_screen_resolution_product_slug requires: device.category == 'VIDEO' executable.name == 'qmlscene' @@ -111,6 +115,7 @@ template-filter: graphics_card.prime_gpu_offload == 'Off' plugin: shell category_id: com.canonical.plainbox::graphics id: graphics/{index}_minimum_resolution_{product_slug} +template-id: graphics/index_minimum_resolution_product_slug flags: also-after-suspend requires: device.category == 'VIDEO' @@ -129,6 +134,7 @@ unit: template template-resource: graphics_card template-filter: graphics_card.prime_gpu_offload == 'Off' id: graphics/{index}_maximum_resolution_{product_slug} +template-id: graphics/index_maximum_resolution_product_slug flags: also-after-suspend plugin: user-interact-verify category_id: com.canonical.plainbox::graphics @@ -151,6 +157,7 @@ _description: unit: template template-resource: graphics_card id: graphics/{index}_color_depth_{product_slug} +template-id: graphics/index_color_depth_product_slug plugin: shell category_id: com.canonical.plainbox::graphics command: color_depth_info.py @@ -161,6 +168,7 @@ _summary: Test color depth info for {vendor} {product} unit: template template-resource: graphics_card id: graphics/{index}_fresh_rate_{product_slug} +template-id: graphics/index_fresh_rate_product_slug plugin: shell category_id: com.canonical.plainbox::graphics command: fresh_rate_info.py @@ -170,6 +178,7 @@ _summary: Test refresh rate for {vendor} {product} unit: template template-resource: graphics_card id: graphics/{index}_graphic_memory_{product_slug} +template-id: graphics/index_graphic_memory_product_slug plugin: shell category_id: com.canonical.plainbox::graphics command: graphic_memory_info.py @@ -179,6 +188,7 @@ _summary: Test graphic memory info for {vendor} {product}. unit: template template-resource: graphics_card id: graphics/{index}_video_{product_slug} +template-id: graphics/index_video_product_slug flags: also-after-suspend plugin: user-interact-verify category_id: com.canonical.plainbox::graphics @@ -213,6 +223,7 @@ template-filter: graphics_card.prime_gpu_offload == 'Off' plugin: user-interact-verify category_id: com.canonical.plainbox::graphics id: graphics/{index}_cycle_resolution_{product_slug} +template-id: graphics/index_cycle_resolution_product_slug flags: also-after-suspend requires: package.name == 'xorg' depends: graphics/VESA_drivers_not_in_use @@ -241,6 +252,7 @@ template-filter: graphics_card.prime_gpu_offload == 'Off' plugin: user-interact-verify category_id: com.canonical.plainbox::graphics id: graphics/{index}_rotation_{product_slug} +template-id: graphics/index_rotation_product_slug flags: also-after-suspend command: # shellcheck disable=SC1091 @@ -263,6 +275,7 @@ template-resource: graphics_card plugin: shell category_id: com.canonical.plainbox::graphics id: graphics/{index}_gl_support_{product_slug} +template-id: graphics/index_gl_support_product_slug flags: also-after-suspend command: "$CHECKBOX_RUNTIME"/usr/lib/nux/unity_support_test -p 2>&1 | sed -e "s/\x1b\[[0-9;]*m//g" @@ -278,6 +291,7 @@ template-filter: graphics_card.driver in ['nvidia', 'pcieport', 'amdgpu', 'amdgp plugin: shell category_id: com.canonical.plainbox::graphics id: graphics/{index}_valid_opengl_renderer_{product_slug} +template-id: graphics/index_valid_opengl_renderer_product_slug requires: executable.name == 'glxinfo' command: # shellcheck disable=SC1091 @@ -295,6 +309,7 @@ template-resource: graphics_card plugin: user-interact-verify category_id: com.canonical.plainbox::graphics id: graphics/{index}_glxgears_{product_slug} +template-id: graphics/index_glxgears_product_slug flags: also-after-suspend requires: executable.name == 'glxgears' command: @@ -318,6 +333,7 @@ template-resource: graphics_card plugin: user-interact-verify category_id: com.canonical.plainbox::graphics id: graphics/{index}_glxgears_fullscreen_{product_slug} +template-id: graphics/index_glxgears_fullscreen_product_slug flags: also-after-suspend requires: executable.name == 'glxgears' command: @@ -341,6 +357,7 @@ template-resource: graphics_card plugin: shell category_id: com.canonical.plainbox::graphics id: graphics/{index}_3d_window_open_close_{product_slug} +template-id: graphics/index_3d_window_open_close_product_slug requires: executable.name == 'glxgears' command: window_test.py -t open-close -i 10 estimated_duration: 60.525 @@ -352,6 +369,7 @@ template-resource: graphics_card plugin: shell category_id: com.canonical.plainbox::graphics id: graphics/{index}_3d_window_suspend_resume_{product_slug} +template-id: graphics/index_3d_window_suspend_resume_product_slug requires: executable.name == 'glxgears' command: window_test.py -t suspend-resume -i 10 estimated_duration: 121.00 @@ -363,6 +381,7 @@ template-resource: graphics_card plugin: shell category_id: com.canonical.plainbox::graphics id: graphics/{index}_multi_3d_windows_open_close_{product_slug} +template-id: graphics/index_multi_3d_windows_open_close_product_slug requires: executable.name == 'glxgears' command: window_test.py -t open-close-multi -i 10 -w 4 estimated_duration: 60.000 @@ -374,6 +393,7 @@ template-resource: graphics_card plugin: shell category_id: com.canonical.plainbox::graphics id: graphics/{index}_3d_window_move_{product_slug} +template-id: graphics/index_3d_window_move_product_slug requires: executable.name == 'glxgears' executable.name == 'wmctrl' @@ -387,6 +407,7 @@ template-resource: graphics_card plugin: manual category_id: com.canonical.plainbox::graphics id: graphics/{index}_switch_card_{product_slug} +template-id: graphics/index_switch_card_product_slug _summary: Test GPU switching for {vendor} {product} _description: _purpose: @@ -406,6 +427,7 @@ template-filter: graphics_card.prime_gpu_offload == 'Off' plugin: manual category_id: com.canonical.plainbox::graphics id: graphics/{index}_switch_card_{product_slug}_xenial +template-id: graphics/index_switch_card_product_slug_xenial requires: graphics_card.driver in ['nouveau', 'nvidia', 'amdgpu-pro', 'pcieport'] lsb.codename == 'xenial' @@ -449,6 +471,7 @@ template-resource: graphics_card plugin: shell category_id: com.canonical.plainbox::graphics id: graphics/{index}_screen-capture-internal_{product_slug} +template-id: graphics/index_screen-capture-internal_product_slug _summary: Obtains a simple screen capture of {vendor} {product} estimated_duration: 1.0 requires: package.name == 'gnome-screenshot' @@ -460,6 +483,7 @@ template-resource: graphics_card plugin: attachment category_id: com.canonical.plainbox::graphics id: graphics/{index}_screen-capture-internal_{product_slug}.png +template-id: graphics/index_screen-capture-internal_product_slug.png depends: graphics/{index}_screen-capture-internal_{product_slug} _summary: Attaches a simple screen capture of {vendor} {product} estimated_duration: 1.0 @@ -470,6 +494,7 @@ unit: template template-resource: graphics_card category_id: com.canonical.plainbox::graphics id: graphics/{index}_auto_switch_card_{product_slug} +template-id: graphics/index_auto_switch_card_product_slug requires: graphics_card.driver in ['nvidia', 'amdgpu-pro', 'pcieport'] graphics_card.driver != 'amdgpu-pro' and lsb.release < '22.04' @@ -500,6 +525,7 @@ template-resource: graphics_card plugin: user-interact-verify category_id: com.canonical.plainbox::graphics id: graphics/{index}_glmark2-es2_{product_slug} +template-id: graphics/index_glmark2-es2_product_slug requires: executable.name == 'glmark2-es2' 'classic' in environment.SNAP_NAME diff --git a/providers/base/units/hibernate/jobs.pxu b/providers/base/units/hibernate/jobs.pxu index 3aedfe19f5..a1c7c1edc6 100644 --- a/providers/base/units/hibernate/jobs.pxu +++ b/providers/base/units/hibernate/jobs.pxu @@ -48,6 +48,7 @@ requires: plugin: user-interact-verify category_id: com.canonical.plainbox::hibernate id: power-management/{index}_hibernate_advanced_{vendor_slug}_{product_slug} +template-id: power-management/index_hibernate_advanced_vendor_slug_product_slug user: root environ: PLAINBOX_SESSION_SHARE estimated_duration: 300.00 @@ -90,6 +91,7 @@ template-filter: graphics_card.prime_gpu_offload == 'Off' plugin: attachment category_id: com.canonical.plainbox::hibernate id: power-management/{index}_hibernate-single-log-attach_{product_slug} +template-id: power-management/index_hibernate-single-log-attach_product_slug depends: power-management/{index}_hibernate_advanced_{vendor_slug}_{product_slug} estimated_duration: 0.5 command: [ -e "$PLAINBOX_SESSION_SHARE"/{index}_hibernate-single.log ] && cat "$PLAINBOX_SESSION_SHARE"/{index}_hibernate-single.log diff --git a/providers/base/units/info/jobs.pxu b/providers/base/units/info/jobs.pxu index 730a257349..44ff2997a8 100644 --- a/providers/base/units/info/jobs.pxu +++ b/providers/base/units/info/jobs.pxu @@ -255,6 +255,7 @@ template-filter: device.category == 'DISK' plugin: attachment category_id: com.canonical.plainbox::info id: info/hdparm_{name}.txt +template-id: info/hdparm_name.txt estimated_duration: 1.0 requires: executable.name == 'hdparm' diff --git a/providers/base/units/input/jobs.pxu b/providers/base/units/input/jobs.pxu index 7232b547c9..40622448fc 100644 --- a/providers/base/units/input/jobs.pxu +++ b/providers/base/units/input/jobs.pxu @@ -4,6 +4,7 @@ template-filter: device.category == 'MOUSE' or device.category == 'TOUCHPAD' or plugin: manual category_id: com.canonical.plainbox::input id: input/pointing_{product_slug}_{category}_{__index__} +template-id: input/pointing_product_slug_category___index__ flags: also-after-suspend estimated_duration: 30.0 _summary: Check pointing functionality for {product} @@ -67,6 +68,7 @@ template-filter: device.category == 'MOUSE' or device.category == 'TOUCHPAD' plugin: manual category_id: com.canonical.plainbox::input id: input/clicking_{product_slug}_{category}_{__index__} +template-id: input/clicking_product_slug_category___index__ estimated_duration: 30.0 _summary: Check button functionality for {product} _purpose: @@ -86,6 +88,7 @@ plugin: shell category_id: com.canonical.plainbox::input estimated_duration: 2 id: input/fixed_screen_orientation_on_{product}_{__index__} +template-id: input/fixed_screen_orientation_on_product___index__ flags: also-after-suspend user: root requires: diff --git a/providers/base/units/kernel-snap/jobs.pxu b/providers/base/units/kernel-snap/jobs.pxu index b03d6a8d03..3313c4e8f0 100644 --- a/providers/base/units/kernel-snap/jobs.pxu +++ b/providers/base/units/kernel-snap/jobs.pxu @@ -18,6 +18,7 @@ unit: template template-resource: bootloader template-filter: bootloader.booted_kernel_path != 'unknown' id: kernel-snap/booted-kernel-matches-current-{name} +template-id: kernel-snap/booted-kernel-matches-current-name category_id: kernel-snap _summary: The booted kernel image matches image in current kernel snap _description: @@ -38,6 +39,7 @@ unit: template template-resource: bootloader template-filter: bootloader.name == 'uboot' id: kernel-snap/booted-dtbs-match-current-{name} +template-id: kernel-snap/booted-dtbs-match-current-name requires: lsb.description == 'Ubuntu Core 18' snap.name == 'snapd' and int(snap.revision) >= 11841 diff --git a/providers/base/units/led/jobs.pxu b/providers/base/units/led/jobs.pxu index 1ede08616b..626a1b0020 100644 --- a/providers/base/units/led/jobs.pxu +++ b/providers/base/units/led/jobs.pxu @@ -289,6 +289,7 @@ template-resource: led-indicator/gpio-leds template-unit: job category_id: led id: led-indicator/gpio-leds-{name} +template-id: led-indicator/gpio-leds-name estimated_duration: 10 plugin: user-interact-verify user: root @@ -332,6 +333,7 @@ unit: template template-resource: led-indicator/sysfs-leds template-unit: job id: led-indicator/sysfs-leds-{name} +template-id: led-indicator/sysfs-leds-name category_id: led _summary: Check control of {name} LED. _description: @@ -367,6 +369,7 @@ template-resource: led-indicator/gpio-controller-leds template-unit: job category_id: led id: led-indicator/gpio-controller-leds-{name} +template-id: led-indicator/gpio-controller-leds-name estimated_duration: 10 plugin: user-interact-verify user: root diff --git a/providers/base/units/led/vendor-aaeon.pxu b/providers/base/units/led/vendor-aaeon.pxu index d4ed7cd7fc..2d9cb95968 100644 --- a/providers/base/units/led/vendor-aaeon.pxu +++ b/providers/base/units/led/vendor-aaeon.pxu @@ -4,6 +4,7 @@ template-resource: dmi template-filter: dmi.category == 'SYSTEM' and dmi.vendor == 'AAEON' and dmi.product in ('UPX-TGL01') template-unit: job id: led/sysfs_led_brightness_on_{vendor}_{product} +template-id: led/sysfs_led_brightness_on_vendor_product plugin: user-interact-verify category_id: led estimated_duration: 30.0 @@ -23,6 +24,7 @@ template-resource: dmi template-filter: dmi.category == 'SYSTEM' and dmi.vendor == 'AAEON' and dmi.product in ('UPX-TGL01') template-unit: job id: led/sysfs_led_brightness_off_{vendor}_{product} +template-id: led/sysfs_led_brightness_off_vendor_product plugin: user-interact-verify category_id: led estimated_duration: 30.0 diff --git a/providers/base/units/mediacard/jobs.pxu b/providers/base/units/mediacard/jobs.pxu index 89cc7382f5..586d12a5dd 100644 --- a/providers/base/units/mediacard/jobs.pxu +++ b/providers/base/units/mediacard/jobs.pxu @@ -586,6 +586,7 @@ template-unit: job plugin: shell category_id: com.canonical.plainbox::mediacard id: mediacard/storage-preinserted-{symlink_uuid} +template-id: mediacard/storage-preinserted-symlink_uuid user: root estimated_duration: 45.0 flags: also-after-suspend reset-locale diff --git a/providers/base/units/miscellanea/jobs.pxu b/providers/base/units/miscellanea/jobs.pxu index 8f8c8bafa6..d381bae324 100644 --- a/providers/base/units/miscellanea/jobs.pxu +++ b/providers/base/units/miscellanea/jobs.pxu @@ -156,6 +156,7 @@ template-unit: job requires: executable.name == 'dumpimage' or executable.name == 'mokutil' id: miscellanea/secure_boot_mode_{gadget} +template-id: miscellanea/secure_boot_mode_gadget _summary: Test that {gadget} Ubuntu Core system booted with Secure Boot active _description: Test to verify that the system booted with Secure Boot active. @@ -284,6 +285,7 @@ template-filter: device.category == 'NETWORK' plugin: manual category_id: com.canonical.plainbox::miscellanea id: miscellanea/pxe_boot_device{__index__}_{interface} +template-id: miscellanea/pxe_boot_device__index___interface _summary: PXE verification test of device {__index__} ({interface}) estimated_duration: 30.0 _purpose: @@ -302,6 +304,7 @@ template-filter: device.category == 'NETWORK' plugin: manual category_id: com.canonical.plainbox::miscellanea id: miscellanea/remote_shared_ipmi_device{__index__}_{interface} +template-id: miscellanea/remote_shared_ipmi_device__index___interface _summary: Remote Shared IPMI verification test for device {__index__} ({interface}) estimated_duration: 30.0 _purpose: diff --git a/providers/base/units/miscellanea/snap-auto-connection.pxu b/providers/base/units/miscellanea/snap-auto-connection.pxu index 1dee3f3f63..7e1d2dc0d1 100644 --- a/providers/base/units/miscellanea/snap-auto-connection.pxu +++ b/providers/base/units/miscellanea/snap-auto-connection.pxu @@ -7,6 +7,7 @@ template-engine: jinja2 template-resource: interface template-filter: interface.type == 'plug' id: miscellanea/check-plug_{{ snap }}_{{ name }} +template-id: miscellanea/check-plug_snap_name _summary: Ensure the {{ snap }} snap's {{ name }} plug is connected plugin: shell command: diff --git a/providers/base/units/mobilebroadband/jobs.pxu b/providers/base/units/mobilebroadband/jobs.pxu index 5a0f8cbec0..cad244e829 100644 --- a/providers/base/units/mobilebroadband/jobs.pxu +++ b/providers/base/units/mobilebroadband/jobs.pxu @@ -67,6 +67,7 @@ template-filter: device.category == 'NETWORK' plugin: user-interact-verify category_id: com.canonical.plainbox::mobilebroadband id: mobilebroadband/maximum_bandwidth_gsm_device{__index__}_{interface} +template-id: mobilebroadband/maximum_bandwidth_gsm_device__index___interface depends: mobilebroadband/gsm_connection estimated_duration: 330.0 requires: @@ -90,6 +91,7 @@ template-filter: device.category == 'NETWORK' plugin: user-interact-verify category_id: com.canonical.plainbox::mobilebroadband id: mobilebroadband/maximum_bandwidth_cdma_device{__index__}_{interface} +template-id: mobilebroadband/maximum_bandwidth_cdma_device__index___interface depends: mobilebroadband/cdma_connection estimated_duration: 330.0 requires: diff --git a/providers/base/units/monitor/jobs.pxu b/providers/base/units/monitor/jobs.pxu index d982237869..50ceed39d7 100644 --- a/providers/base/units/monitor/jobs.pxu +++ b/providers/base/units/monitor/jobs.pxu @@ -2,6 +2,7 @@ unit: template template-resource: graphics_card template-filter: graphics_card.prime_gpu_offload == 'Off' id: monitor/{index}_vga_{product_slug} +template-id: monitor/index_vga_product_slug imports: from com.canonical.plainbox import manifest requires: manifest.has_vga == 'True' flags: also-after-suspend @@ -21,6 +22,7 @@ unit: template template-resource: graphics_card template-filter: graphics_card.prime_gpu_offload == 'Off' id: monitor/{index}_dvi_{product_slug} +template-id: monitor/index_dvi_product_slug imports: from com.canonical.plainbox import manifest requires: manifest.has_dvi == 'True' flags: also-after-suspend @@ -40,6 +42,7 @@ unit: template template-resource: graphics_card template-filter: graphics_card.prime_gpu_offload == 'Off' id: monitor/{index}_displayport_{product_slug} +template-id: monitor/index_displayport_product_slug imports: from com.canonical.plainbox import manifest requires: manifest.has_dp == 'True' flags: also-after-suspend @@ -59,6 +62,7 @@ unit: template template-resource: graphics_card template-filter: graphics_card.prime_gpu_offload == 'Off' id: monitor/{index}_hdmi_{product_slug} +template-id: monitor/index_hdmi_product_slug imports: from com.canonical.plainbox import manifest requires: manifest.has_hdmi == 'True' flags: also-after-suspend @@ -78,6 +82,7 @@ unit: template template-resource: graphics_card template-filter: graphics_card.prime_gpu_offload == 'Off' id: monitor/{index}_svideo_{product_slug} +template-id: monitor/index_svideo_product_slug plugin: manual category_id: com.canonical.plainbox::monitor _purpose: @@ -95,6 +100,7 @@ unit: template template-resource: graphics_card template-filter: graphics_card.prime_gpu_offload == 'Off' id: monitor/{index}_rca_{product_slug} +template-id: monitor/index_rca_product_slug plugin: manual category_id: com.canonical.plainbox::monitor _purpose: @@ -112,6 +118,7 @@ unit: template template-resource: graphics_card template-filter: graphics_card.prime_gpu_offload == 'Off' id: monitor/{index}_multi-head_{product_slug} +template-id: monitor/index_multi-head_product_slug requires: dmi.product in ['Desktop','Low Profile Desktop','Tower','Mini Tower', 'Space-saving', 'Mini PC'] flags: also-after-suspend plugin: manual @@ -132,6 +139,7 @@ template-resource: graphics_card template-filter: graphics_card.prime_gpu_offload == 'Off' flags: also-after-suspend id: monitor/{index}_powersaving_{product_slug} +template-id: monitor/index_powersaving_product_slug plugin: user-interact-verify category_id: com.canonical.plainbox::monitor command: @@ -149,6 +157,7 @@ unit: template template-resource: graphics_card template-filter: graphics_card.prime_gpu_offload == 'Off' id: monitor/{index}_dim_brightness_{product_slug} +template-id: monitor/index_dim_brightness_product_slug requires: dmi.product in ['Notebook','Laptop','Portable','All In One','All-In-One','AIO','Convertible'] plugin: user-interact-verify category_id: com.canonical.plainbox::monitor @@ -169,6 +178,7 @@ unit: template template-resource: graphics_card template-filter: graphics_card.prime_gpu_offload == 'Off' id: monitor/{index}_thunderbolt_{product_slug} +template-id: monitor/index_thunderbolt_product_slug imports: from com.canonical.plainbox import manifest requires: manifest.has_thunderbolt == 'True' flags: also-after-suspend @@ -191,6 +201,7 @@ unit: template template-resource: graphics_card template-filter: graphics_card.prime_gpu_offload == 'Off' id: monitor/{index}_thunderbolt3_{product_slug} +template-id: monitor/index_thunderbolt3_product_slug imports: from com.canonical.plainbox import manifest requires: manifest.has_thunderbolt3 == 'True' flags: also-after-suspend @@ -212,6 +223,7 @@ _verification: unit: template template-resource: graphics_card id: monitor/{index}_type-c_displayport_{product_slug} +template-id: monitor/index_type-c_displayport_product_slug template-filter: graphics_card.prime_gpu_offload == 'Off' imports: from com.canonical.plainbox import manifest requires: @@ -235,6 +247,7 @@ _verification: unit: template template-resource: graphics_card id: monitor/{index}_type-c_hdmi_{product_slug} +template-id: monitor/index_type-c_hdmi_product_slug template-filter: graphics_card.prime_gpu_offload == 'Off' imports: from com.canonical.plainbox import manifest requires: @@ -258,6 +271,7 @@ _verification: unit: template template-resource: graphics_card id: monitor/{index}_type-c_vga_{product_slug} +template-id: monitor/index_type-c_vga_product_slug template-filter: graphics_card.prime_gpu_offload == 'Off' imports: from com.canonical.plainbox import manifest requires: diff --git a/providers/base/units/networking/ipv6.pxu b/providers/base/units/networking/ipv6.pxu index 69c3ba1c15..d19f1029d4 100644 --- a/providers/base/units/networking/ipv6.pxu +++ b/providers/base/units/networking/ipv6.pxu @@ -18,6 +18,7 @@ template-filter: device.category == 'NETWORK' and device.interface != 'UNKNOWN' template-unit: job depends: ipv6_detect id: ipv6_link_local_address_{interface} +template-id: ipv6_link_local_address_interface _summary: Test that {interface} has an IPv6 link local address plugin: shell category_id: com.canonical.plainbox::networking diff --git a/providers/base/units/networking/jobs.pxu b/providers/base/units/networking/jobs.pxu index 30ea187b98..b7cf8fdad6 100644 --- a/providers/base/units/networking/jobs.pxu +++ b/providers/base/units/networking/jobs.pxu @@ -14,6 +14,7 @@ template-filter: device.category == 'NETWORK' plugin: user-interact-verify category_id: com.canonical.plainbox::networking id: networking/info_device{__index__}_{interface} +template-id: networking/info_device__index___interface flags: also-after-suspend _summary: Network Information of device {__index__} ({interface}) estimated_duration: 1.0 diff --git a/providers/base/units/optical/jobs.pxu b/providers/base/units/optical/jobs.pxu index e38a9989e8..0c9b4e993a 100644 --- a/providers/base/units/optical/jobs.pxu +++ b/providers/base/units/optical/jobs.pxu @@ -13,6 +13,7 @@ template-filter: device.category == 'CDROM' plugin: user-interact-verify category_id: com.canonical.plainbox::optical id: optical/read_{name} +template-id: optical/read_name estimated_duration: 120.0 user: root command: optical_read_test.py /dev/{name} @@ -33,6 +34,7 @@ template-filter: device.category == 'CDROM' plugin: shell category_id: com.canonical.plainbox::optical id: optical/read-automated_{name} +template-id: optical/read-automated_name estimated_duration: 120.0 user: root command: optical_read_test.py /dev/{name} @@ -47,6 +49,7 @@ template-filter: device.category == 'CDROM' plugin: user-interact-verify category_id: com.canonical.plainbox::optical id: optical/cdrom-write_{name} +template-id: optical/cdrom-write_name estimated_duration: 120.0 requires: optical_drive_{name}.cd_write == 'supported' @@ -69,6 +72,7 @@ template-filter: device.category == 'CDROM' plugin: shell category_id: com.canonical.plainbox::optical id: optical/cdrom-write-automated_{name} +template-id: optical/cdrom-write-automated_name estimated_duration: 120.0 requires: optical_drive_{name}.cd_write == 'supported' @@ -83,6 +87,7 @@ template-filter: device.category == 'CDROM' plugin: manual category_id: com.canonical.plainbox::optical id: optical/cdrom-audio-playback_{name} +template-id: optical/cdrom-audio-playback_name depends: optical/read_{name} estimated_duration: 120.0 _description: @@ -107,6 +112,7 @@ template-filter: device.category == 'CDROM' plugin: user-interact-verify category_id: com.canonical.plainbox::optical id: optical/dvd-write_{name} +template-id: optical/dvd-write_name requires: optical_drive_{name}.dvd_write == 'supported' estimated_duration: 120.0 @@ -129,6 +135,7 @@ template-filter: device.category == 'CDROM' plugin: shell category_id: com.canonical.plainbox::optical id: optical/dvd-write-automated_{name} +template-id: optical/dvd-write-automated_name estimated_duration: 120.0 requires: optical_drive_{name}.dvd_write == 'supported' @@ -160,6 +167,7 @@ template-filter: device.category == 'CDROM' plugin: user-interact category_id: com.canonical.plainbox::optical id: optical/bluray-read_{name} +template-id: optical/bluray-read_name estimated_duration: 120.0 requires: optical_drive_{name}.bd_read == "supported" @@ -182,6 +190,7 @@ template-filter: device.category == 'CDROM' plugin: user-interact category_id: com.canonical.plainbox::optical id: optical/bluray-write_{name} +template-id: optical/bluray-write_name requires: optical_drive_{name}.bd_write == "supported" package.name == "growisofs" diff --git a/providers/base/units/power-management/jobs.pxu b/providers/base/units/power-management/jobs.pxu index fcd09d1607..9f828c1635 100644 --- a/providers/base/units/power-management/jobs.pxu +++ b/providers/base/units/power-management/jobs.pxu @@ -483,6 +483,7 @@ template-unit: job plugin: shell category_id: com.canonical.plainbox::power-management id: power-management/tickless_idle_{kernel} +template-id: power-management/tickless_idle_kernel estimated_duration: 1.0 requires: cpuinfo.platform in ('i386', 'x86_64', 'ppc64el', 'pSeries') _description: Check to see if CONFIG_NO_HZ is set in the kernel (this is just a simple regression check) diff --git a/providers/base/units/qep/jobs.pxu b/providers/base/units/qep/jobs.pxu index 6623f1d5ff..577f1ad0a7 100644 --- a/providers/base/units/qep/jobs.pxu +++ b/providers/base/units/qep/jobs.pxu @@ -15,6 +15,7 @@ unit: template template-resource: qep/qep-devices template-unit: job id: qep/qep-device-driver-for-{qep-device} +template-id: qep/qep-device-driver-for-qep-device category_id: qep _summary: Verify PCI Device {qep-device} is using the correct driver _description: @@ -32,6 +33,7 @@ unit: template template-resource: qep/qep-devices template-unit: job id: qep/qep-device-node-for-{qep-device} +template-id: qep/qep-device-node-for-qep-device category_id: qep _summary: Verify device directory exists for {qep-device} _description: diff --git a/providers/base/units/rtc/jobs.pxu b/providers/base/units/rtc/jobs.pxu index 0cefb7ed8f..4729294075 100644 --- a/providers/base/units/rtc/jobs.pxu +++ b/providers/base/units/rtc/jobs.pxu @@ -59,6 +59,7 @@ unit: template template-resource: rtc_list template-unit: job id: rtc/rtc_alarm_{rtc} +template-id: rtc/rtc_alarm_rtc _summary: Check that RTC alarm of {rtc} works plugin: shell user: root @@ -77,6 +78,7 @@ unit: template template-resource: rtc_list template-unit: job id: rtc/rtc_clock_{rtc} +template-id: rtc/rtc_clock_rtc _summary: Check that {rtc} clock is synchronized with system clock plugin: shell user: root diff --git a/providers/base/units/self/jobs.pxu b/providers/base/units/self/jobs.pxu index f085a590bc..5f5d6c926c 100644 --- a/providers/base/units/self/jobs.pxu +++ b/providers/base/units/self/jobs.pxu @@ -4,6 +4,7 @@ template-engine: jinja2 template-resource: interface template-filter: interface.interface == 'content' and interface.type == 'plug' and interface.snap == '{{ __system_env__["SNAP_NAME"] }}' id: self/content-plug-connected-{{ name }} +template-id: self/content-plug-connected-name _summary: Ensure the content interface plug {{ name }} is connected plugin: shell command: diff --git a/providers/base/units/serial/jobs.pxu b/providers/base/units/serial/jobs.pxu index 1a82448c43..9b2c6b67d4 100644 --- a/providers/base/units/serial/jobs.pxu +++ b/providers/base/units/serial/jobs.pxu @@ -23,6 +23,7 @@ unit: template template-resource: serial_ports_static template-unit: job id: serial/loopback-{dev} +template-id: serial/loopback-dev _summary: Serial loopback test of {dev} _purpose: Check if serial port is working hardwired plugin: shell diff --git a/providers/base/units/snapd/jobs.pxu b/providers/base/units/snapd/jobs.pxu index b21360925f..a1feafea9d 100644 --- a/providers/base/units/snapd/jobs.pxu +++ b/providers/base/units/snapd/jobs.pxu @@ -11,6 +11,7 @@ unit: template template-resource: snap_revision_info template-unit: job id: snapd/snap-refresh-{type}-{name}-to-stable-rev +template-id: snapd/snap-refresh-type-name-to-stable-rev _summary: Refresh {name} snap to latest revision in stable channel _description: This test is currently for SUV process, the snap to be tested is on the beta @@ -35,6 +36,7 @@ unit: template template-resource: snap_revision_info template-unit: job id: snapd/reboot-after-snap-refresh-{type}-{name}-to-stable-rev +template-id: snapd/reboot-after-snap-refresh-type-name-to-stable-rev _summary: Reboot after {name} snap refresh to latest revision in stable channel plugin: shell flags: noreturn autorestart @@ -51,6 +53,7 @@ unit: template template-resource: snap_revision_info template-unit: job id: snapd/snap-verify-after-refresh-{type}-{name}-to-stable-rev +template-id: snapd/snap-verify-after-refresh-type-name-to-stable-rev _summary: Verify {name} snap revision after refreshing to latest revision in stable channel plugin: shell estimated_duration: 30s @@ -65,6 +68,7 @@ unit: template template-resource: snap_revision_info template-unit: job id: snapd/snap-revert-{type}-{name}-from-stable-rev +template-id: snapd/snap-revert-type-name-from-stable-rev _summary: Revert {name} snap to original revision from stable channel plugin: shell estimated_duration: 3m @@ -79,6 +83,7 @@ unit: template template-resource: snap_revision_info template-unit: job id: snapd/reboot-after-snap-revert-{type}-{name}-from-stable-rev +template-id: snapd/reboot-after-snap-revert-type-name-from-stable-rev _summary: Reboot after {name} snap reverting to latest revision in stable channel plugin: shell flags: noreturn autorestart @@ -95,6 +100,7 @@ unit: template template-resource: snap_revision_info template-unit: job id: snapd/snap-verify-after-revert-{type}-{name}-from-stable-rev +template-id: snapd/snap-verify-after-revert-type-name-from-stable-rev _summary: Verify {name} snap revision after reverting from stable revision plugin: shell estimated_duration: 3s @@ -109,6 +115,7 @@ unit: template template-resource: snap_revision_info template-unit: job id: snapd/snap-refresh-{type}-{name}-to-base-rev +template-id: snapd/snap-refresh-type-name-to-base-rev _summary: Refresh {name} snap to its base revision _description: This test is currently for SUV process, the snap to be tested is on the beta @@ -136,6 +143,7 @@ unit: template template-resource: snap_revision_info template-unit: job id: snapd/reboot-after-snap-refresh-{type}-{name}-to-base-rev +template-id: snapd/reboot-after-snap-refresh-type-name-to-base-rev _summary: Reboot after {name} snap refresh to base revision plugin: shell flags: noreturn autorestart @@ -152,6 +160,7 @@ unit: template template-resource: snap_revision_info template-unit: job id: snapd/snap-verify-after-refresh-{type}-{name}-to-base-rev +template-id: snapd/snap-verify-after-refresh-type-name-to-base-rev _summary: Verify {name} snap revision after refreshing to base revision plugin: shell estimated_duration: 30s @@ -166,6 +175,7 @@ unit: template template-resource: snap_revision_info template-unit: job id: snapd/snap-revert-{type}-{name}-from-base-rev +template-id: snapd/snap-revert-type-name-from-base-rev _summary: Revert {name} snap from base revision to original revision plugin: shell estimated_duration: 3m @@ -180,6 +190,7 @@ unit: template template-resource: snap_revision_info template-unit: job id: snapd/reboot-after-snap-revert-{type}-{name}-from-base-rev +template-id: snapd/reboot-after-snap-revert-type-name-from-base-rev _summary: Reboot after {name} snap revert to base revision plugin: shell flags: noreturn autorestart @@ -196,6 +207,7 @@ unit: template template-resource: snap_revision_info template-unit: job id: snapd/snap-verify-after-revert-{type}-{name}-from-base-rev +template-id: snapd/snap-verify-after-revert-type-name-from-base-rev _summary: Verify {name} snap revision after reverting from base revision plugin: shell estimated_duration: 3s diff --git a/providers/base/units/snapd/snapd.pxu b/providers/base/units/snapd/snapd.pxu index 49e03c5c86..96f75ea81c 100644 --- a/providers/base/units/snapd/snapd.pxu +++ b/providers/base/units/snapd/snapd.pxu @@ -257,6 +257,7 @@ unit: template template-resource: com.canonical.certification::model_assertion template-unit: job id: snappy/test-store-config-{store} +template-id: snappy/test-store-config-store _summary: Test that image is using the correct snappy store configuration. _purpose: The image can be tied to using a particular store for the OEM. This diff --git a/providers/base/units/socketcan/jobs.pxu b/providers/base/units/socketcan/jobs.pxu index fded1adc2a..e5c9223f91 100644 --- a/providers/base/units/socketcan/jobs.pxu +++ b/providers/base/units/socketcan/jobs.pxu @@ -85,6 +85,7 @@ unit: template template-resource: device template-filter: device.category == 'SOCKETCAN' id: socketcan/send_packet_local_sff_{interface} +template-id: socketcan/send_packet_local_sff_interface _summary: CAN device support test {interface} (Raw, Local) _description: Test a CAN device by sending packets using a raw socket, this is only a @@ -110,6 +111,7 @@ unit: template template-resource: device template-filter: device.category == 'SOCKETCAN' id: socketcan/send_packet_local_eff_{interface} +template-id: socketcan/send_packet_local_eff_interface _summary: CAN device support test {interface} (Raw, Local, EFF) _description: Test a CAN device by sending packets using a raw socket, this is only a @@ -135,6 +137,7 @@ unit: template template-resource: device template-filter: device.category == 'SOCKETCAN' id: socketcan/send_packet_local_fd_{interface} +template-id: socketcan/send_packet_local_fd_interface _summary: CAN device support test {interface} (Raw, Local, FD) _description: Test a CAN device by sending packets using a raw socket, this is only a @@ -161,6 +164,7 @@ unit: template template-resource: device template-filter: device.category == 'SOCKETCAN' id: socketcan/send_packet_remote_sff_{interface} +template-id: socketcan/send_packet_remote_sff_interface _summary: CAN device support test {interface} (Raw, Remote) _description: Test a CAN device by sending packets using a raw socket to a remote device. @@ -189,6 +193,7 @@ unit: template template-resource: device template-filter: device.category == 'SOCKETCAN' id: socketcan/send_packet_remote_eff_{interface} +template-id: socketcan/send_packet_remote_eff_interface _summary: CAN device support test {interface} (Raw, Remote, EFF) _description: Test a CAN device by sending packets using a raw socket to a remote device. @@ -217,6 +222,7 @@ unit: template template-resource: device template-filter: device.category == 'SOCKETCAN' id: socketcan/send_packet_remote_fd_{interface} +template-id: socketcan/send_packet_remote_fd_interface _summary: CAN device support test {interface} (Raw, Remote, FD) _description: Test a CAN device by sending packets using a raw socket to a remote device. diff --git a/providers/base/units/stress/boot.pxu b/providers/base/units/stress/boot.pxu index 803fae3a29..8200c54779 100644 --- a/providers/base/units/stress/boot.pxu +++ b/providers/base/units/stress/boot.pxu @@ -67,6 +67,7 @@ estimated_duration: 180.0 depends: init-boot-loop-data id: cold-boot-loop-reboot{reboot_id} +template-id: cold-boot-loop-rebootreboot_id category_id: stress-tests/cold-boot _summary: Perform cold reboot {reboot_id} _description: Enter sleep mode after a configurable delay. @@ -99,6 +100,7 @@ estimated_duration: 1.0 depends: cold-boot-loop-reboot1 id: cold-boot-loop-test{reboot_id} +template-id: cold-boot-loop-testreboot_id category_id: stress-tests/cold-boot _summary: Cold boot system configuration test {reboot_id} _description: Compare the data after waking up the system with the base data set @@ -131,6 +133,7 @@ estimated_duration: 60s depends: init-boot-loop-data id: warm-boot-loop-reboot{reboot_id} +template-id: warm-boot-loop-rebootreboot_id category_id: stress-tests/warm-boot _summary: Perform warm reboot {reboot_id} _description: Perform warm reboot after a configurable delay. @@ -163,6 +166,7 @@ estimated_duration: 1.0 depends: warm-boot-loop-reboot1 id: warm-boot-loop-test{reboot_id} +template-id: warm-boot-loop-testreboot_id category_id: stress-tests/warm-boot _summary: Warm boot system configuration test {reboot_id} _description: Compare data after warm boot with baseline data set diff --git a/providers/base/units/stress/s3s4.pxu b/providers/base/units/stress/s3s4.pxu index df451060e5..1677238b4b 100644 --- a/providers/base/units/stress/s3s4.pxu +++ b/providers/base/units/stress/s3s4.pxu @@ -46,6 +46,7 @@ plugin: shell flags: preserve-locale category_id: stress-tests/suspend id: stress-tests/suspend_{{ s3_iterations }}_cycles +template-id: stress-tests/suspend_s3_iterations_cycles imports: from com.canonical.certification import sleep from com.canonical.certification import rtc @@ -77,6 +78,7 @@ plugin: shell flags: preserve-locale category_id: stress-tests/suspend id: stress-tests/suspend-{s3_iterations}-cycles-log-check +template-id: stress-tests/suspend-s3_iterations-cycles-log-check after: stress-tests/suspend_{s3_iterations}_cycles requires: cpuinfo.platform in ("i386", "x86_64") estimated_duration: 1.0 @@ -91,6 +93,7 @@ plugin: attachment flags: preserve-locale category_id: stress-tests/suspend id: stress-tests/suspend-{s3_iterations}-cycles-log-attach +template-id: stress-tests/suspend-s3_iterations-cycles-log-attach estimated_duration: 1.0 after: stress-tests/suspend_{s3_iterations}_cycles requires: cpuinfo.platform in ("i386", "x86_64") @@ -107,6 +110,7 @@ plugin: shell flags: preserve-locale category_id: stress-tests/hibernate id: stress-tests/hibernate_{{ s4_iterations }}_cycles +template-id: stress-tests/hibernate_s4_iterations_cycles imports: from com.canonical.certification import sleep from com.canonical.certification import rtc @@ -130,6 +134,7 @@ plugin: shell flags: preserve-locale category_id: stress-tests/hibernate id: stress-tests/hibernate-{s4_iterations}-cycles-log-check +template-id: stress-tests/hibernate-s4_iterations-cycles-log-check after: stress-tests/hibernate_{s4_iterations}_cycles requires: cpuinfo.platform in ("i386", "x86_64") estimated_duration: 1.0 @@ -144,6 +149,7 @@ plugin: attachment flags: preserve-locale category_id: stress-tests/hibernate id: stress-tests/hibernate-{s4_iterations}-cycles-log-attach +template-id: stress-tests/hibernate-s4_iterations-cycles-log-attach estimated_duration: 1.0 after: stress-tests/hibernate_{s4_iterations}_cycles requires: cpuinfo.platform in ("i386", "x86_64") diff --git a/providers/base/units/stress/stress-ng.pxu b/providers/base/units/stress/stress-ng.pxu index 6265bac25e..fb7bf50991 100644 --- a/providers/base/units/stress/stress-ng.pxu +++ b/providers/base/units/stress/stress-ng.pxu @@ -15,6 +15,7 @@ unit: template template-resource: stress-ng-stressors template-unit: job id: stress/stress-ng-test-for-stressor-{stressor} +template-id: stress/stress-ng-test-for-stressor-stressor category_id: stress-tests _summary: Run the stress-ng for stressor {stressor} _description: diff --git a/providers/base/units/stress/suspend_cycles_reboot.pxu b/providers/base/units/stress/suspend_cycles_reboot.pxu index 1353324df6..65dcd90142 100644 --- a/providers/base/units/stress/suspend_cycles_reboot.pxu +++ b/providers/base/units/stress/suspend_cycles_reboot.pxu @@ -87,6 +87,7 @@ template-engine: jinja2 plugin: shell category_id: stress-tests/suspend id: stress-tests/suspend_cycles_1_reboot{{suspend_reboot_id}} +template-id: stress-tests/suspend_cycles_1_rebootsuspend_reboot_id imports: from com.canonical.certification import sleep from com.canonical.certification import rtc @@ -109,6 +110,7 @@ template-engine: jinja2 plugin: shell category_id: stress-tests/suspend id: stress-tests/suspend_cycles_{{suspend_id}}_reboot{{suspend_reboot_id}} +template-id: stress-tests/suspend_cycles_suspend_id_rebootsuspend_reboot_id imports: from com.canonical.certification import sleep from com.canonical.certification import rtc @@ -131,6 +133,7 @@ template-engine: jinja2 plugin: shell category_id: stress-tests/suspend id: stress-tests/suspend_cycles_reboot{{suspend_reboot_id}} +template-id: stress-tests/suspend_cycles_rebootsuspend_reboot_id imports: from com.canonical.certification import sleep from com.canonical.certification import rtc @@ -152,6 +155,7 @@ template-unit: job plugin: shell category_id: stress-tests/suspend id: stress-tests/suspend-{s3_iterations}-cycles-with-reboot-{reboot_iterations}-log-check +template-id: stress-tests/suspend-s3_iterations-cycles-with-reboot-reboot_iterations-log-check requires: cpuinfo.platform in ("i386", "x86_64") estimated_duration: 1.0 command: [ -e "$PLAINBOX_SESSION_SHARE"/suspend_cycles_with_reboot_total.log ] && sleep_test_log_check.py -v --ignore-warning -t all "$PLAINBOX_SESSION_SHARE"/suspend_cycles_with_reboot_total.log @@ -165,6 +169,7 @@ template-unit: job plugin: shell category_id: stress-tests/suspend id: stress-tests/suspend-{s3_iterations}-cycles-with-reboot-{reboot_iterations}-time-check +template-id: stress-tests/suspend-s3_iterations-cycles-with-reboot-reboot_iterations-time-check requires: cpuinfo.platform in ("i386", "x86_64") estimated_duration: 1.0 command: [ -e "$PLAINBOX_SESSION_SHARE"/suspend_cycles_with_reboot_total.log ] && sleep_time_check.py "$PLAINBOX_SESSION_SHARE"/suspend_cycles_with_reboot_total.log --s {sleep_threshold} --r {resume_threshold} @@ -178,6 +183,7 @@ template-unit: job plugin: attachment category_id: stress-tests/suspend id: stress-tests/suspend-{s3_iterations}-cycles-with-reboot-{reboot_iterations}-log-attach +template-id: stress-tests/suspend-s3_iterations-cycles-with-reboot-reboot_iterations-log-attach estimated_duration: 1.0 command: [ -e "$PLAINBOX_SESSION_SHARE"/suspend_cycles_with_reboot_total.log ] && cat "$PLAINBOX_SESSION_SHARE"/suspend_cycles_with_reboot_total.log summary: diff --git a/providers/base/units/suspend/suspend-graphics.pxu b/providers/base/units/suspend/suspend-graphics.pxu index ece173a44f..eb16d6b9b3 100644 --- a/providers/base/units/suspend/suspend-graphics.pxu +++ b/providers/base/units/suspend/suspend-graphics.pxu @@ -4,6 +4,7 @@ template-filter: graphics_card.prime_gpu_offload == 'Off' plugin: shell category_id: com.canonical.plainbox::suspend id: suspend/{index}_resolution_before_suspend_{product_slug}_auto +template-id: suspend/index_resolution_before_suspend_product_slug_auto after: graphics/{index}_auto_switch_card_{product_slug} estimated_duration: 1.2 _description: Record the current resolution before suspending. @@ -18,6 +19,7 @@ template-filter: graphics_card.prime_gpu_offload == 'Off' plugin: shell category_id: com.canonical.plainbox::suspend id: suspend/{index}_suspend_after_switch_to_card_{product_slug}_auto +template-id: suspend/index_suspend_after_switch_to_card_product_slug_auto requires: sleep.mem == 'supported' rtc.state == 'supported' @@ -39,6 +41,7 @@ template-engine: jinja2 plugin: shell category_id: com.canonical.plainbox::suspend id: suspend/{{ index }}_resolution_after_suspend_{{ product_slug }}_auto +template-id: suspend/index_resolution_after_suspend_product_slug_auto estimated_duration: 1.2 depends: suspend/{{ index }}_resolution_before_suspend_{{ product_slug }}_auto @@ -60,6 +63,7 @@ template-engine: jinja2 plugin: manual category_id: com.canonical.plainbox::suspend id: suspend/{{ index }}_display_after_suspend_{{ product_slug }}_graphics +template-id: suspend/index_display_after_suspend_product_slug_graphics depends: {%- if gpu_count > "1" %} suspend/{{ index }}_suspend_after_switch_to_card_{{ product_slug }}_auto @@ -82,6 +86,7 @@ template-engine: jinja2 plugin: user-interact-verify category_id: com.canonical.plainbox::suspend id: suspend/{{ index }}_cycle_resolutions_after_suspend_{{ product_slug }}_graphics +template-id: suspend/index_cycle_resolutions_after_suspend_product_slug_graphics requires: package.name == 'xorg' depends: {%- if gpu_count > "1" %} @@ -113,6 +118,7 @@ template-filter: graphics_card.prime_gpu_offload == 'Off' plugin: attachment category_id: com.canonical.plainbox::suspend id: suspend/{index}_xrandr_screens_after_suspend.tar.gz_auto +template-id: suspend/index_xrandr_screens_after_suspend.tar.gz_auto depends: after-suspend-graphics/{index}_cycle_resolution_{product_slug} command: [ -f "$PLAINBOX_SESSION_SHARE"/xrandr_screens_{index}_after_suspend.tgz ] && cat "$PLAINBOX_SESSION_SHARE"/xrandr_screens_{index}_after_suspend.tgz _description: This attaches screenshots from the suspend/cycle_resolutions_after_suspend test to the results submission. @@ -124,6 +130,7 @@ template-engine: jinja2 plugin: shell category_id: com.canonical.plainbox::suspend id: suspend/{{ index }}_gl_support_after_suspend_{{ product_slug }}_auto +template-id: suspend/index_gl_support_after_suspend_product_slug_auto depends: {%- if gpu_count > "1" %} suspend/{{ index }}_suspend_after_switch_to_card_{{ product_slug }}_auto @@ -145,6 +152,7 @@ template-engine: jinja2 plugin: user-interact-verify category_id: com.canonical.plainbox::suspend id: suspend/{{ index }}_glxgears_after_suspend_{{ product_slug }}_graphics +template-id: suspend/index_glxgears_after_suspend_product_slug_graphics depends: {%- if gpu_count > "1" %} suspend/{{ index }}_suspend_after_switch_to_card_{{ product_slug }}_auto @@ -172,6 +180,7 @@ unit: template template-resource: graphics_card template-engine: jinja2 id: suspend/{{ index }}_video_after_suspend_{{ product_slug }}_graphics +template-id: suspend/index_video_after_suspend_product_slug_graphics depends: {%- if gpu_count > "1" %} suspend/{{ index }}_suspend_after_switch_to_card_{{ product_slug }}_auto @@ -203,6 +212,7 @@ template-engine: jinja2 plugin: shell category_id: com.canonical.plainbox::suspend id: suspend/{{ index }}_driver_version_after_suspend_{{ product_slug }}_auto +template-id: suspend/index_driver_version_after_suspend_product_slug_auto depends: {%- if gpu_count > "1" %} suspend/{{ index }}_suspend_after_switch_to_card_{{ product_slug }}_auto @@ -229,6 +239,7 @@ template-engine: jinja2 plugin: attachment category_id: com.canonical.plainbox::suspend id: suspend/{{ index }}_suspend-single-log-attach_{{ product_slug }}_auto +template-id: suspend/index_suspend-single-log-attach_product_slug_auto depends: {%- if gpu_count > "1" %} suspend/{{ index }}_suspend_after_switch_to_card_{{ product_slug }}_auto @@ -246,6 +257,7 @@ template-engine: jinja2 plugin: shell category_id: com.canonical.plainbox::suspend id: suspend/{{ index }}_suspend-time-check_{{ product_slug }}_auto +template-id: suspend/index_suspend-time-check_product_slug_auto depends: {%- if gpu_count > "1" %} suspend/{{ index }}_suspend_after_switch_to_card_{{ product_slug }}_auto @@ -260,6 +272,7 @@ unit: template template-resource: graphics_card template-filter: graphics_card.prime_gpu_offload == 'Off' id: power-management/{index}_suspend_30_times_on_{product_slug} +template-id: power-management/index_suspend_30_times_on_product_slug plugin: shell category_id: com.canonical.plainbox::stress estimated_duration: 5400.0 @@ -287,6 +300,7 @@ template-engine: jinja2 plugin: user-interact-verify category_id: com.canonical.plainbox::suspend id: suspend/{{ index }}_rotation_after_suspend_{{ product_slug }}_graphics +template-id: suspend/index_rotation_after_suspend_product_slug_graphics depends: {%- if gpu_count > "1" %} suspend/{{ index }}_suspend_after_switch_to_card_{{ product_slug }}_auto diff --git a/providers/base/units/suspend/suspend.pxu b/providers/base/units/suspend/suspend.pxu index 3ac3ff125c..44de42cef3 100644 --- a/providers/base/units/suspend/suspend.pxu +++ b/providers/base/units/suspend/suspend.pxu @@ -20,6 +20,7 @@ template-filter: graphics_card.prime_gpu_offload == 'Off' plugin: shell category_id: com.canonical.plainbox::suspend id: suspend/{index}_resolution_before_suspend_{product_slug} +template-id: suspend/index_resolution_before_suspend_product_slug depends: graphics/{index}_switch_card_{product_slug} estimated_duration: 1.2 _summary: Record the current resolution before suspending. @@ -61,6 +62,7 @@ template-filter: device.category == 'NETWORK' plugin: shell category_id: com.canonical.plainbox::suspend id: suspend/iperf_before_suspend_ether_auto_device{__index__}_{interface} +template-id: suspend/iperf_before_suspend_ether_auto_device__index___interface depends: ethernet/detect estimated_duration: 20.0 requires: @@ -210,6 +212,7 @@ template-filter: graphics_card.prime_gpu_offload == 'Off' plugin: user-interact-verify category_id: com.canonical.plainbox::suspend id: suspend/{index}_suspend_after_switch_to_card_{product_slug} +template-id: suspend/index_suspend_after_switch_to_card_product_slug requires: sleep.mem == 'supported' rtc.state == 'supported' @@ -277,6 +280,7 @@ template-resource: graphics_card plugin: user-interact-verify category_id: com.canonical.plainbox::suspend id: suspend/{index}_hybrid_sleep_{product_slug} +template-id: suspend/index_hybrid_sleep_product_slug user: root command: if [[ -v SNAP ]]; then @@ -317,6 +321,7 @@ template-filter: graphics_card.prime_gpu_offload == 'Off' plugin: attachment category_id: com.canonical.plainbox::suspend id: suspend/{index}_suspend-single-log-attach_{product_slug} +template-id: suspend/index_suspend-single-log-attach_product_slug depends: suspend/{index}_suspend_after_switch_to_card_{product_slug} command: [ -e "$PLAINBOX_SESSION_SHARE"/{index}_suspend_single.log ] && cat "$PLAINBOX_SESSION_SHARE"/{index}_suspend_single.log _summary: Attaches the log from the single suspend/resume test @@ -326,6 +331,7 @@ template-resource: graphics_card plugin: shell category_id: com.canonical.plainbox::suspend id: suspend/{index}_hybrid-sleep-single-log-check +template-id: suspend/index_hybrid-sleep-single-log-check depends: suspend/{index}_hybrid_sleep_{product_slug} estimated_duration: 1.2 command: [ -e "$PLAINBOX_SESSION_SHARE"/{index}_hybrid_sleep_single.log ] && sleep_test_log_check.py -v --ignore-warning -t all "$PLAINBOX_SESSION_SHARE"/{index}_hybrid_sleep_single.log @@ -336,6 +342,7 @@ template-resource: graphics_card plugin: attachment category_id: com.canonical.plainbox::suspend id: suspend/{index}_hybrid-sleep-single-log-attach_{product_slug} +template-id: suspend/index_hybrid-sleep-single-log-attach_product_slug depends: suspend/{index}_hybrid_sleep_{product_slug} command: [ -e "$PLAINBOX_SESSION_SHARE"/{index}_hybrid_sleep_single.log ] && cat "$PLAINBOX_SESSION_SHARE"/{index}_hybrid_sleep_single.log _summary: Attaches the log from the single hybrid sleep/resume test @@ -355,6 +362,7 @@ template-filter: graphics_card.prime_gpu_offload == 'Off' plugin: shell category_id: com.canonical.plainbox::suspend id: suspend/{index}_suspend-time-check_{product_slug} +template-id: suspend/index_suspend-time-check_product_slug depends: suspend/{index}_suspend_after_switch_to_card_{product_slug} estimated_duration: 1.2 command: [ -e "$PLAINBOX_SESSION_SHARE"/{index}_suspend_single_times.log ] && sleep_time_check.py "$PLAINBOX_SESSION_SHARE"/{index}_suspend_single_times.log @@ -427,6 +435,7 @@ template-filter: graphics_card.prime_gpu_offload == 'Off' plugin: shell category_id: com.canonical.plainbox::suspend id: suspend/{index}_resolution_after_suspend_{product_slug} +template-id: suspend/index_resolution_after_suspend_product_slug estimated_duration: 1.2 depends: suspend/{index}_resolution_before_suspend_{product_slug} _description: Test to see that we have the same resolution after resuming as before. @@ -619,6 +628,7 @@ template-filter: graphics_card.prime_gpu_offload == 'Off' plugin: manual category_id: com.canonical.plainbox::suspend id: suspend/{index}_display_after_suspend_{product_slug} +template-id: suspend/index_display_after_suspend_product_slug depends: suspend/{index}_suspend_after_switch_to_card_{product_slug} _summary: Test display function after suspend for {vendor} {product} _description: @@ -635,6 +645,7 @@ template-filter: device.category == 'NETWORK' plugin: shell category_id: com.canonical.plainbox::suspend id: suspend/iperf_after_suspend_ether_auto_device{__index__}_{interface} +template-id: suspend/iperf_after_suspend_ether_auto_device__index___interface depends: suspend/suspend_advanced_auto estimated_duration: 30.0 requires: @@ -651,6 +662,7 @@ template-filter: device.category == 'WIRELESS' plugin: shell category_id: com.canonical.plainbox::suspend id: suspend/iperf_after_suspend_wifi_auto_device{__index__}_{interface} +template-id: suspend/iperf_after_suspend_wifi_auto_device__index___interface depends: suspend/suspend_advanced_auto estimated_duration: 30.0 requires: @@ -1130,6 +1142,7 @@ template-filter: graphics_card.prime_gpu_offload == 'Off' plugin: user-interact-verify category_id: com.canonical.plainbox::suspend id: suspend/{index}_cycle_resolutions_after_suspend_{product_slug} +template-id: suspend/index_cycle_resolutions_after_suspend_product_slug requires: package.name == 'xorg' depends: suspend/{index}_suspend_after_switch_to_card_{product_slug} estimated_duration: 120.0 @@ -1178,6 +1191,7 @@ template-filter: graphics_card.prime_gpu_offload == 'Off' plugin: attachment category_id: com.canonical.plainbox::suspend id: suspend/{index}_xrandr_screens_after_suspend.tar.gz +template-id: suspend/index_xrandr_screens_after_suspend.tar.gz depends: suspend/{index}_cycle_resolutions_after_suspend_{product_slug} command: [ -f "$PLAINBOX_SESSION_SHARE"/{index}_xrandr_screens_after_suspend.tgz ] && cat "$PLAINBOX_SESSION_SHARE"/{index}_xrandr_screens_after_suspend.tgz _description: This attaches screenshots from the suspend/cycle_resolutions_after_suspend test to the results submission. @@ -2050,6 +2064,7 @@ template-filter: device.category == 'MOUSE' or device.category == 'TOUCHPAD' or plugin: manual category_id: com.canonical.plainbox::suspend id: suspend/pointing-after-suspend_{product_slug}_{category}_{__index__} +template-id: suspend/pointing-after-suspend_product_slug_category___index__ depends: suspend/suspend_advanced_auto _description: PURPOSE: @@ -2066,6 +2081,7 @@ plugin: manual category_id: com.canonical.plainbox::suspend estimated_duration: 30.0 id: suspend/clicking-after-suspend_{product_slug}_{category}_{__index__} +template-id: suspend/clicking-after-suspend_product_slug_category___index__ depends: suspend/suspend_advanced_auto _summary: Check post suspend button functionality for {product} _description: @@ -2085,6 +2101,7 @@ template-filter: graphics_card.prime_gpu_offload == 'Off' plugin: shell category_id: com.canonical.plainbox::suspend id: suspend/{index}_gl_support_after_suspend_{product_slug} +template-id: suspend/index_gl_support_after_suspend_product_slug depends: suspend/{index}_suspend_after_switch_to_card_{product_slug} requires: package.name == 'nux-tools' command: /usr/lib/nux/unity_support_test -p 2>&1 @@ -2107,6 +2124,7 @@ template-resource: graphics_card plugin: user-interact-verify category_id: com.canonical.plainbox::suspend id: suspend/{index}_glxgears_after_suspend_{product_slug} +template-id: suspend/index_glxgears_after_suspend_product_slug depends: suspend/{index}_suspend_after_switch_to_card_{product_slug} requires: executable.name == 'glxgears' command: glxgears; true @@ -2143,6 +2161,7 @@ _description: unit: template template-resource: graphics_card id: suspend/{index}_video_after_suspend_{product_slug} +template-id: suspend/index_video_after_suspend_product_slug depends: suspend/{index}_suspend_after_switch_to_card_{product_slug} plugin: user-interact-verify category_id: com.canonical.plainbox::suspend diff --git a/providers/base/units/touchpad/jobs.pxu b/providers/base/units/touchpad/jobs.pxu index 7db0d5d756..cf5f215966 100644 --- a/providers/base/units/touchpad/jobs.pxu +++ b/providers/base/units/touchpad/jobs.pxu @@ -230,6 +230,7 @@ template-unit: job plugin: shell category_id: com.canonical.plainbox::touchpad id: touchpad/palm-rejection-firmware-labeling_{product_slug} +template-id: touchpad/palm-rejection-firmware-labeling_product_slug flags: also-after-suspend estimated_duration: 5.0 imports: from com.canonical.plainbox import manifest diff --git a/providers/base/units/touchscreen/jobs.pxu b/providers/base/units/touchscreen/jobs.pxu index 524f0ca3a5..7605ac7e9b 100644 --- a/providers/base/units/touchscreen/jobs.pxu +++ b/providers/base/units/touchscreen/jobs.pxu @@ -209,6 +209,7 @@ template-unit: job plugin: user-interact category_id: com.canonical.plainbox::touchscreen id: touchscreen/evdev/single-touch-tap-{{ product_slug }} +template-id: touchscreen/evdev/single-touch-tap-product_slug flags: also-after-suspend imports: from com.canonical.plainbox import manifest requires: manifest.has_touchscreen == 'True' @@ -232,6 +233,7 @@ template-unit: job plugin: user-interact category_id: com.canonical.plainbox::touchscreen id: touchscreen/evdev/2-touch-tap-{{ product_slug }} +template-id: touchscreen/evdev/2-touch-tap-product_slug imports: from com.canonical.plainbox import manifest requires: manifest.has_touchscreen == 'True' estimated_duration: 10.0 @@ -256,6 +258,7 @@ template-unit: job plugin: user-interact category_id: com.canonical.plainbox::touchscreen id: touchscreen/evdev/3-touch-tap-{{ product_slug }} +template-id: touchscreen/evdev/3-touch-tap-product_slug imports: from com.canonical.plainbox import manifest requires: manifest.has_touchscreen == 'True' estimated_duration: 10.0 @@ -280,6 +283,7 @@ template-unit: job plugin: user-interact category_id: com.canonical.plainbox::touchscreen id: touchscreen/evdev/4-touch-tap-{{ product_slug }} +template-id: touchscreen/evdev/4-touch-tap-product_slug imports: from com.canonical.plainbox import manifest requires: manifest.has_touchscreen == 'True' estimated_duration: 10.0 diff --git a/providers/base/units/ubuntucore/jobs.pxu b/providers/base/units/ubuntucore/jobs.pxu index 04c30b3a5b..ca3fc953e5 100644 --- a/providers/base/units/ubuntucore/jobs.pxu +++ b/providers/base/units/ubuntucore/jobs.pxu @@ -56,6 +56,7 @@ template-filter: lsb.distributor_id == 'Ubuntu Core' template-engine: jinja2 template-unit: job id: ubuntucore/os-fail-boot-{{description}} +template-id: ubuntucore/os-fail-boot-description _summary: Automatically rollback after failed boot after upgrade _purpose: Check system will rollback to original core snap if failed to boot the updated one @@ -89,6 +90,7 @@ template-filter: lsb.distributor_id == 'Ubuntu Core' template-engine: jinja2 template-unit: job id: ubuntucore/os-fail-boot-with-refresh-control-{{description}} +template-id: ubuntucore/os-fail-boot-with-refresh-control-description _summary: Automatically rollback after failed boot after upgrade _purpose: Check system will rollback to original core snap if failed to boot the updated one @@ -135,6 +137,7 @@ template-resource: model_assertion template-unit: job plugin: manual id: ubuntucore/kernel-failboot-{kernel} +template-id: ubuntucore/kernel-failboot-kernel _summary: Reboot with failboot kernel to verify system rollback function _purpose: Check if system will rollback to previous(functional) kernel diff --git a/providers/base/units/usb/usb.pxu b/providers/base/units/usb/usb.pxu index bac50f7811..ac29207582 100644 --- a/providers/base/units/usb/usb.pxu +++ b/providers/base/units/usb/usb.pxu @@ -327,6 +327,7 @@ template-unit: job plugin: shell category_id: com.canonical.plainbox::usb id: usb/storage-preinserted-{symlink_uuid} +template-id: usb/storage-preinserted-symlink_uuid user: root estimated_duration: 45.0 flags: also-after-suspend reset-locale diff --git a/providers/base/units/wireless/jobs.pxu b/providers/base/units/wireless/jobs.pxu index db307d27eb..3dd3ac08ee 100644 --- a/providers/base/units/wireless/jobs.pxu +++ b/providers/base/units/wireless/jobs.pxu @@ -16,6 +16,7 @@ template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-engine: jinja2 template-unit: job id: wireless/wireless_scanning_{{ interface }} +template-id: wireless/wireless_scanning_interface user: root _summary: Test system can discover Wi-Fi networks on {{ interface }} command: @@ -39,6 +40,7 @@ template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-engine: jinja2 template-unit: job id: wireless/wireless_connection_wpa_bg_nm_{{ interface }} +template-id: wireless/wireless_connection_wpa_bg_nm_interface _summary: Connect to WPA-encrypted 802.11b/g Wi-Fi network on {{ interface }} _purpose: Check system can connect to 802.11b/g AP with wpa security @@ -62,6 +64,7 @@ template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-engine: jinja2 template-unit: job id: wireless/wireless_connection_open_bg_nm_{{ interface }} +template-id: wireless/wireless_connection_open_bg_nm_interface _summary: Connect to unencrypted 802.11b/g Wi-Fi network on {{ interface }} _purpose: Check system can connect to insecure 802.11b/g AP @@ -85,6 +88,7 @@ template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-engine: jinja2 template-unit: job id: wireless/wireless_connection_wpa_n_nm_{{ interface }} +template-id: wireless/wireless_connection_wpa_n_nm_interface _summary: Connect to WPA-encrypted 802.11n Wi-Fi network on {{ interface }} _purpose: Check system can connect to 802.11n AP with wpa security @@ -108,6 +112,7 @@ template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-engine: jinja2 template-unit: job id: wireless/wireless_connection_open_n_nm_{{ interface }} +template-id: wireless/wireless_connection_open_n_nm_interface _summary: Connect to unencrypted 802.11n Wi-Fi network on {{ interface }} _purpose: Check system can connect to insecure 802.11n AP @@ -131,6 +136,7 @@ template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-engine: jinja2 template-unit: job id: wireless/wireless_connection_wpa_ac_nm_{{ interface }} +template-id: wireless/wireless_connection_wpa_ac_nm_interface _summary: Connect to WPA-encrypted 802.11ac Wi-Fi network on {{ interface }} _purpose: Check system can connect to 802.11ac AP with wpa security @@ -155,6 +161,7 @@ template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-engine: jinja2 template-unit: job id: wireless/wireless_connection_open_ac_nm_{{ interface }} +template-id: wireless/wireless_connection_open_ac_nm_interface _summary: Connect to unencrypted 802.11ac Wi-Fi network on {{ interface }} _purpose: Check system can connect to insecure 802.11ac AP @@ -179,6 +186,7 @@ template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-engine: jinja2 template-unit: job id: wireless/wireless_connection_wpa_ax_nm_{{ interface }} +template-id: wireless/wireless_connection_wpa_ax_nm_interface _summary: Connect to WPA-encrypted 802.11ax Wi-Fi network on {{ interface }} _purpose: Check system can connect to 802.11ax AP with wpa security @@ -203,6 +211,7 @@ template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-engine: jinja2 template-unit: job id: wireless/wireless_connection_wpa3_ax_nm_{{ interface }} +template-id: wireless/wireless_connection_wpa3_ax_nm_interface _summary: Connect to WPA3-encrypted 802.11ax Wi-Fi network on {{ interface }} _purpose: Check system can connect to 802.11ax AP with wpa3 security @@ -227,6 +236,7 @@ template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-engine: jinja2 template-unit: job id: wireless/wireless_connection_open_ax_nm_{{ interface }} +template-id: wireless/wireless_connection_open_ax_nm_interface _summary: Connect to unencrypted 802.11ax Wi-Fi network on {{ interface }} _purpose: Check system can connect to insecure 802.11ax AP @@ -554,6 +564,7 @@ unit: template template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' id: wireless/nm_connection_save_{interface} +template-id: wireless/nm_connection_save_interface category_id: com.canonical.plainbox::wireless _summary: Save any NetworkManager 802.11 configurations prior to testing plugin: shell @@ -567,6 +578,7 @@ unit: template template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' id: wireless/nm_connection_restore_{interface} +template-id: wireless/nm_connection_restore_interface category_id: com.canonical.plainbox::wireless _summary: Restore any NetworkManager 802.11 configurations after testing plugin: shell @@ -581,6 +593,7 @@ unit: template template-resource: device template-filter: device.driver == 'iwlwifi' id: wireless/check_iwlwifi_microcode_crash_{interface} +template-id: wireless/check_iwlwifi_microcode_crash_interface _summary: Check there have been no iwlwifi crashes plugin: shell command: check-iwlwifi-microcode-sw-error.sh diff --git a/providers/base/units/wireless/nm-hotspot.pxu b/providers/base/units/wireless/nm-hotspot.pxu index 609c3c0c80..40a1d4bfda 100644 --- a/providers/base/units/wireless/nm-hotspot.pxu +++ b/providers/base/units/wireless/nm-hotspot.pxu @@ -5,6 +5,7 @@ template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-engine: jinja2 template-unit: job id: wireless/nmcli_wifi_ap_bg_{{ interface }} +template-id: wireless/nmcli_wifi_ap_bg_interface _summary: Create 802.11b/g Wi-Fi AP on {{ interface }} using NetworkManager command: net_driver_info.py "$NET_DRIVER_INFO" @@ -28,6 +29,7 @@ template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-engine: jinja2 template-unit: job id: wireless/nmcli_wifi_ap_a_{{ interface }} +template-id: wireless/nmcli_wifi_ap_a_interface _summary: Create 802.11a Wi-Fi AP on {{ interface }} using NetworkManager command: net_driver_info.py "$NET_DRIVER_INFO" diff --git a/providers/base/units/wireless/wifi-ap.pxu b/providers/base/units/wireless/wifi-ap.pxu index ad5dfae206..3be6e888c6 100644 --- a/providers/base/units/wireless/wifi-ap.pxu +++ b/providers/base/units/wireless/wifi-ap.pxu @@ -3,6 +3,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wifi_ap_open_a_no_sta_{interface}_manual +template-id: wireless/wifi_ap_open_a_no_sta_interface_manual category_id: wifi_ap _summary: Create open 802.11a Wi-Fi AP on {interface} with no STA (Manual) plugin: manual @@ -32,6 +33,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wifi_ap_open_a_no_sta_{interface}_auto +template-id: wireless/wifi_ap_open_a_no_sta_interface_auto category_id: wifi_ap _summary: Create open 802.11a Wi-Fi AP on {interface} with no STA plugin: shell @@ -74,6 +76,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wifi_ap_open_b_no_sta_{interface}_manual +template-id: wireless/wifi_ap_open_b_no_sta_interface_manual category_id: wifi_ap _summary: Create open 802.11b Wi-Fi AP on {interface} with no STA (Manual) plugin: manual @@ -103,6 +106,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wifi_ap_open_b_no_sta_{interface}_auto +template-id: wireless/wifi_ap_open_b_no_sta_interface_auto category_id: wifi_ap _summary: Create open 802.11b Wi-Fi AP on {interface} with no STA plugin: shell @@ -145,6 +149,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wifi_ap_open_g_no_sta_{interface}_manual +template-id: wireless/wifi_ap_open_g_no_sta_interface_manual category_id: wifi_ap _summary: Create open 802.11g Wi-Fi AP on {interface} with no STA (Manual) plugin: manual @@ -174,6 +179,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wifi_ap_open_g_no_sta_{interface}_auto +template-id: wireless/wifi_ap_open_g_no_sta_interface_auto category_id: wifi_ap _summary: Create open 802.11g Wi-Fi AP on {interface} with no STA plugin: shell @@ -216,6 +222,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wifi_ap_open_ad_no_sta_{interface}_manual +template-id: wireless/wifi_ap_open_ad_no_sta_interface_manual category_id: wifi_ap _summary: Create open 802.11ad Wi-Fi AP on {interface} with no STA (Manual) plugin: manual @@ -245,6 +252,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wifi_ap_open_ad_no_sta_{interface}_auto +template-id: wireless/wifi_ap_open_ad_no_sta_interface_auto category_id: wifi_ap _summary: Create open 802.11ad Wi-Fi AP on {interface} with no STA plugin: shell @@ -287,6 +295,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wifi_ap_wpa_a_no_sta_{interface}_manual +template-id: wireless/wifi_ap_wpa_a_no_sta_interface_manual category_id: wifi_ap _summary: Create WPA2 802.11a Wi-Fi AP on {interface} with no STA (Manual) plugin: manual @@ -317,6 +326,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wifi_ap_wpa_a_no_sta_{interface}_auto +template-id: wireless/wifi_ap_wpa_a_no_sta_interface_auto category_id: wifi_ap _summary: Create WPA2 802.11a Wi-Fi AP on {interface} with no STA plugin: shell @@ -360,6 +370,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wifi_ap_wpa_b_no_sta_{interface}_manual +template-id: wireless/wifi_ap_wpa_b_no_sta_interface_manual category_id: wifi_ap _summary: Create WPA2 802.11b Wi-Fi AP on {interface} with no STA (Manual) plugin: manual @@ -390,6 +401,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wifi_ap_wpa_b_no_sta_{interface}_auto +template-id: wireless/wifi_ap_wpa_b_no_sta_interface_auto category_id: wifi_ap _summary: Create WPA2 802.11b Wi-Fi AP on {interface} with no STA plugin: shell @@ -433,6 +445,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wifi_ap_wpa_g_no_sta_{interface}_manual +template-id: wireless/wifi_ap_wpa_g_no_sta_interface_manual category_id: wifi_ap _summary: Create WPA2 802.11g Wi-Fi AP on {interface} with no STA (Manual) plugin: manual @@ -463,6 +476,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wifi_ap_wpa_g_no_sta_{interface}_auto +template-id: wireless/wifi_ap_wpa_g_no_sta_interface_auto category_id: wifi_ap _summary: Create WPA2 802.11g Wi-Fi AP on {interface} with no STA plugin: shell @@ -506,6 +520,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wifi_ap_wpa_ad_no_sta_{interface}_manual +template-id: wireless/wifi_ap_wpa_ad_no_sta_interface_manual category_id: wifi_ap _summary: Create WPA2 802.11ad Wi-Fi AP on {interface} with no STA (Manual) plugin: manual @@ -536,6 +551,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wifi_ap_wpa_ad_no_sta_{interface}_auto +template-id: wireless/wifi_ap_wpa_ad_no_sta_interface_auto category_id: wifi_ap _summary: Create WPA2 802.11ad Wi-Fi AP on {interface} with no STA plugin: shell @@ -579,6 +595,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wifi_ap_wpa_a_with_sta_{interface} +template-id: wireless/wifi_ap_wpa_a_with_sta_interface category_id: wifi_ap _summary: Create WPA2 802.11a Wi-Fi AP on {interface} with active STA (Manual) plugin: user-interact-verify @@ -617,6 +634,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wifi_ap_wpa_a_with_sta_{interface}_auto +template-id: wireless/wifi_ap_wpa_a_with_sta_interface_auto category_id: wifi_ap _summary: Create WPA2 802.11a Wi-Fi Access Point on {interface} with active STA plugin: shell @@ -665,6 +683,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wifi_ap_wpa_b_with_sta_{interface} +template-id: wireless/wifi_ap_wpa_b_with_sta_interface category_id: wifi_ap _summary: Create WPA2 802.11b Wi-Fi AP on {interface} with active STA (Manual) plugin: user-interact-verify @@ -703,6 +722,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wifi_ap_wpa_b_with_sta_{interface}_auto +template-id: wireless/wifi_ap_wpa_b_with_sta_interface_auto category_id: wifi_ap _summary: Create WPA2 802.11b Wi-Fi Access Point on {interface} with active STA plugin: shell @@ -751,6 +771,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wifi_ap_wpa_g_with_sta_{interface} +template-id: wireless/wifi_ap_wpa_g_with_sta_interface category_id: wifi_ap _summary: Create WPA2 802.11g Wi-Fi AP on {interface} with active STA (Manual) plugin: user-interact-verify @@ -789,6 +810,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wifi_ap_wpa_g_with_sta_{interface}_auto +template-id: wireless/wifi_ap_wpa_g_with_sta_interface_auto category_id: wifi_ap _summary: Create WPA2 802.11g Wi-Fi Access Point on {interface} with active STA plugin: shell @@ -837,6 +859,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wifi_ap_wpa_ad_with_sta_{interface} +template-id: wireless/wifi_ap_wpa_ad_with_sta_interface category_id: wifi_ap _summary: Create WPA2 802.11ad Wi-Fi AP on {interface} with active STA (Manual) plugin: user-interact-verify @@ -875,6 +898,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wifi_ap_wpa_ad_with_sta_{interface}_auto +template-id: wireless/wifi_ap_wpa_ad_with_sta_interface_auto category_id: wifi_ap _summary: Create WPA2 802.11ad Wi-Fi Access Point on {interface} with active STA plugin: shell @@ -923,6 +947,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wifi_ap_setup_wizard_{interface}_auto +template-id: wireless/wifi_ap_setup_wizard_interface_auto category_id: wifi_ap _summary: Create Access Point on {interface} using wifi-ap.setup-wizard plugin: shell @@ -954,6 +979,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wifi_ap_across_reboot_{interface}_setup +template-id: wireless/wifi_ap_across_reboot_interface_setup category_id: wifi_ap _summary: Create WPA2 802.11g Wi-Fi AP on {interface} and reboot (setup part) plugin: shell @@ -986,6 +1012,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wifi_ap_across_reboot_{interface}_setup_manual +template-id: wireless/wifi_ap_across_reboot_interface_setup_manual category_id: wifi_ap _summary: Create WPA2 AP on {interface} and reboot (setup part, manual resume) plugin: user-interact-verify @@ -1020,6 +1047,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wifi_ap_across_reboot_{interface}_check +template-id: wireless/wifi_ap_across_reboot_interface_check category_id: wifi_ap _summary: Create WPA2 802.11g Wi-Fi AP on {interface} and reboot (after reboot part) plugin: shell @@ -1052,6 +1080,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wifi_ap_across_reboot_{interface}_check_manual +template-id: wireless/wifi_ap_across_reboot_interface_check_manual category_id: wifi_ap _summary: Create WPA2 AP on {interface} (after reboot part, manual resume) plugin: shell diff --git a/providers/base/units/wireless/wireless-connection-manual.pxu b/providers/base/units/wireless/wireless-connection-manual.pxu index bcb75ece0c..854c8b28fd 100644 --- a/providers/base/units/wireless/wireless-connection-manual.pxu +++ b/providers/base/units/wireless/wireless-connection-manual.pxu @@ -3,6 +3,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wireless_connection_open_ax_{interface} +template-id: wireless/wireless_connection_open_ax_interface _summary: Connect to unencrypted 802.11ax Wi-Fi network on {interface} _purpose: Check system can connect to insecure 802.11ax AP @@ -24,6 +25,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wireless_connection_open_ac_{interface} +template-id: wireless/wireless_connection_open_ac_interface _summary: Connect to unencrypted 802.11ac Wi-Fi network on {interface} _purpose: Check system can connect to insecure 802.11ac AP @@ -45,6 +47,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wireless_connection_open_bg_{interface} +template-id: wireless/wireless_connection_open_bg_interface _summary: Connect to unencrypted 802.11b/g Wi-Fi network on {interface} _purpose: Check system can connect to insecure 802.11b/g AP @@ -66,6 +69,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wireless_connection_open_n_{interface} +template-id: wireless/wireless_connection_open_n_interface _summary: Connect to unencrypted 802.11n Wi-Fi network on {interface} _purpose: Check system can connect to insecure 802.11n AP @@ -87,6 +91,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wireless_connection_wpa_ax_{interface} +template-id: wireless/wireless_connection_wpa_ax_interface _summary: Connect to WPA-encrypted 802.11ax Wi-Fi network on {interface} _purpose: Check system can connect to 802.11ax AP with wpa security @@ -108,6 +113,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wireless_connection_wpa3_ax_{interface} +template-id: wireless/wireless_connection_wpa3_ax_interface _summary: Connect to WPA3-encrypted 802.11ax Wi-Fi network on {interface} _purpose: Check system can connect to 802.11ax AP with wpa3 security @@ -129,6 +135,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wireless_connection_wpa_ac_{interface} +template-id: wireless/wireless_connection_wpa_ac_interface _summary: Connect to WPA-encrypted 802.11ac Wi-Fi network on {interface} _purpose: Check system can connect to 802.11ac AP with wpa security @@ -150,6 +157,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wireless_connection_wpa_bg_{interface} +template-id: wireless/wireless_connection_wpa_bg_interface _summary: Connect to WPA-encrypted 802.11b/g Wi-Fi network {interface} _purpose: Check system can connect to 802.11b/g AP with wpa security @@ -171,6 +179,7 @@ template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-unit: job id: wireless/wireless_connection_wpa_n_{interface} +template-id: wireless/wireless_connection_wpa_n_interface _summary: Connect to WPA-encrypted 802.11n Wi-Fi network on {interface} _purpose: Check system can connect to 802.11n AP with wpa security @@ -195,6 +204,7 @@ template-unit: job plugin: shell category_id: com.canonical.plainbox::wireless id: wireless/monitor_wireless_connection_udp_{{ interface }} +template-id: wireless/monitor_wireless_connection_udp_interface requires: connections.slot == 'network-manager:service' and connections.plug == '{{ __system_env__["SNAP_NAME"] }}:network-manager' environ: diff --git a/providers/base/units/wireless/wireless-connection-netplan.pxu b/providers/base/units/wireless/wireless-connection-netplan.pxu index 6c9d57a5e7..400b3cc713 100644 --- a/providers/base/units/wireless/wireless-connection-netplan.pxu +++ b/providers/base/units/wireless/wireless-connection-netplan.pxu @@ -4,6 +4,7 @@ template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-engine: jinja2 template-unit: job id: wireless/wireless_connection_open_ax_np_{{ interface }} +template-id: wireless/wireless_connection_open_ax_np_interface _summary: Connect to unencrypted 802.11ax Wi-Fi network on {{ interface }} - netplan _purpose: @@ -28,6 +29,7 @@ template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-engine: jinja2 template-unit: job id: wireless/wireless_connection_open_ac_np_{{ interface }} +template-id: wireless/wireless_connection_open_ac_np_interface _summary: Connect to unencrypted 802.11ac Wi-Fi network on {{ interface }} - netplan _purpose: @@ -53,6 +55,7 @@ template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-engine: jinja2 template-unit: job id: wireless/wireless_connection_open_bg_np_{{ interface }} +template-id: wireless/wireless_connection_open_bg_np_interface _summary: Connect to unencrypted 802.11b/g Wi-Fi network on {{ interface }} - netplan _purpose: @@ -76,6 +79,7 @@ template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-engine: jinja2 template-unit: job id: wireless/wireless_connection_open_n_np_{{ interface }} +template-id: wireless/wireless_connection_open_n_np_interface _summary: Connect to unencrypted 802.11n Wi-Fi network on {{ interface }} - netplan _purpose: @@ -99,6 +103,7 @@ template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-engine: jinja2 template-unit: job id: wireless/wireless_connection_wpa_ax_np_{{ interface }} +template-id: wireless/wireless_connection_wpa_ax_np_interface _summary: Connect to WPA-encrypted 802.11ax Wi-Fi network on {{ interface }} - netplan _purpose: @@ -123,6 +128,7 @@ template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-engine: jinja2 template-unit: job id: wireless/wireless_connection_wpa3_ax_np_{{ interface }} +template-id: wireless/wireless_connection_wpa3_ax_np_interface _summary: Connect to WPA3-encrypted 802.11ax Wi-Fi network on {{ interface }} - netplan _purpose: @@ -147,6 +153,7 @@ template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-engine: jinja2 template-unit: job id: wireless/wireless_connection_wpa_ac_np_{{ interface }} +template-id: wireless/wireless_connection_wpa_ac_np_interface _summary: Connect to WPA-encrypted 802.11ac Wi-Fi network on {{ interface }} - netplan _purpose: @@ -171,6 +178,7 @@ template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-engine: jinja2 template-unit: job id: wireless/wireless_connection_wpa_bg_np_{{ interface }} +template-id: wireless/wireless_connection_wpa_bg_np_interface _summary: Connect to WPA-encrypted 802.11b/g Wi-Fi network on {{ interface }} - netplan _purpose: @@ -194,6 +202,7 @@ template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' template-engine: jinja2 template-unit: job id: wireless/wireless_connection_wpa_n_np_{{ interface }} +template-id: wireless/wireless_connection_wpa_n_np_interface _summary: Connect to WPA-encrypted 802.11n Wi-Fi network on {{ interface }} - netplan _purpose: diff --git a/providers/base/units/wireless/wowlan.pxu b/providers/base/units/wireless/wowlan.pxu index 1c110524ba..d12c4feb94 100644 --- a/providers/base/units/wireless/wowlan.pxu +++ b/providers/base/units/wireless/wowlan.pxu @@ -2,6 +2,7 @@ unit: template template-resource: device template-filter: device.category == 'WIRELESS' and device.mac != 'UNKNOWN' id: wireless/wowlan_S5_{interface}_wakeonlan +template-id: wireless/wowlan_S5_interface_wakeonlan _summary: Wake on Wireless LAN (WoWLAN) test from S5 - {interface} - wakeonlan _purpose: Check that another system can wake up from S5 the SUT using WoWLAN function. @@ -29,6 +30,7 @@ unit: template template-resource: device template-filter: device.category == 'WIRELESS' and device.mac != 'UNKNOWN' id: wireless/wowlan_S5_{interface}_etherwake +template-id: wireless/wowlan_S5_interface_etherwake _summary: Wake on Wireless LAN (WoWLAN) test from S5 - {interface} - etherwake _purpose: Check that another system can wake up from S5 the SUT using WoWLAN function. @@ -56,6 +58,7 @@ unit: template template-resource: device template-filter: device.category == 'WIRELESS' and device.mac != 'UNKNOWN' id: wireless/wowlan_S4_{interface}_wakeonlan +template-id: wireless/wowlan_S4_interface_wakeonlan _summary: Wake on Wireless LAN (WoWLAN) test from S4 - {interface} - wakeonlan _purpose: Check that another system can wake up from S4 the SUT using WoWLAN function. @@ -84,6 +87,7 @@ unit: template template-resource: device template-filter: device.category == 'WIRELESS' and device.mac != 'UNKNOWN' id: wireless/wowlan_S4_{interface}_etherwake +template-id: wireless/wowlan_S4_interface_etherwake _summary: Wake on Wireless LAN (WoWLAN) test from S4 - {interface} - etherwake _purpose: Check that another system can wake up from S4 the SUT using WoWLAN function. @@ -112,6 +116,7 @@ unit: template template-resource: device template-filter: device.category == 'WIRELESS' and device.mac != 'UNKNOWN' id: wireless/wowlan_S3_{interface}_wakeonlan +template-id: wireless/wowlan_S3_interface_wakeonlan _summary: Wake on Wireless LAN (WoWLAN) test from S3 - {interface} - wakeonlan _purpose: Check that another system can wake up from S3 the SUT using WoWLAN function. @@ -140,6 +145,7 @@ unit: template template-resource: device template-filter: device.category == 'WIRELESS' and device.mac != 'UNKNOWN' id: wireless/wowlan_S3_{interface}_etherwake +template-id: wireless/wowlan_S3_interface_etherwake _summary: Wake on Wireless LAN (WoWLAN) test from S3 - {interface} - etherwake _purpose: Check that another system can wake up from S3 the SUT using WoWLAN function. diff --git a/providers/base/units/wwan/jobs.pxu b/providers/base/units/wwan/jobs.pxu index f651a42fb9..8f6df81909 100644 --- a/providers/base/units/wwan/jobs.pxu +++ b/providers/base/units/wwan/jobs.pxu @@ -30,6 +30,7 @@ unit: template template-resource: wwan_resource template-unit: job id: wwan/gsm-connection-{manufacturer}-{model}-{hw_id}-auto +template-id: wwan/gsm-connection-manufacturer-model-hw_id-auto _summary: Verify a GSM broadband modem can create a data connection _description: Any modems discovered by the resource job that list GSM support @@ -58,6 +59,7 @@ unit: template template-resource: wwan_resource template-unit: job id: wwan/check-sim-present-{manufacturer}-{model}-{hw_id}-auto +template-id: wwan/check-sim-present-manufacturer-model-hw_id-auto _summary: Check if a SIM card is present in a slot connected to the modem _description: Check if a SIM card is present in a slot connected to the modem @@ -77,6 +79,7 @@ unit: template template-resource: wwan_resource template-unit: job id: wwan/verify-sim-info-{manufacturer}-{model}-{hw_id} +template-id: wwan/verify-sim-info-manufacturer-model-hw_id depends: wwan/check-sim-present-{manufacturer}-{model}-{hw_id}-auto _summary: Verify that the information retrieved from a SIM card is valid _description: diff --git a/providers/base/units/zapper/jobs.pxu b/providers/base/units/zapper/jobs.pxu index 3ee306ff39..62537aea70 100644 --- a/providers/base/units/zapper/jobs.pxu +++ b/providers/base/units/zapper/jobs.pxu @@ -12,6 +12,7 @@ template-resource: zapper_capabilities template-filter: zapper_capabilities.capability == 'USB hotplug' and zapper_capabilities.usb_version == '2' category_id: com.canonical.plainbox::usb id: usb/zapper-usb-insert-{{ port_alias }} +template-id: usb/zapper-usb-insert-port_alias template-engine: jinja2 _summary: Zapper-driven USB insertion test on port {{ port_alias }} requires: usb.usb2 == 'supported' @@ -31,6 +32,7 @@ template-resource: zapper_capabilities template-filter: zapper_capabilities.capability == 'USB hotplug' and zapper_capabilities.usb_version == '3' category_id: com.canonical.plainbox::usb id: usb3/zapper-usb-insert-{{ port_alias }} +template-id: usb3/zapper-usb-insert-port_alias template-engine: jinja2 _summary: Zapper-driven USB 3.0 insertion test on port {{ port_alias }} requires: usb.usb3 == 'supported' @@ -50,6 +52,7 @@ template-resource: zapper_capabilities template-filter: zapper_capabilities.capability == 'USB hotplug' and zapper_capabilities.usb_version == '2' category_id: com.canonical.plainbox::usb id: usb/zapper-usb-remove-{{ port_alias }} +template-id: usb/zapper-usb-remove-port_alias template-engine: jinja2 _summary: Zapper-driven USB removal test on port {{ port_alias }} requires: usb.usb2 == 'supported' @@ -69,6 +72,7 @@ template-resource: zapper_capabilities template-filter: zapper_capabilities.capability == 'USB hotplug' and zapper_capabilities.usb_version == '3' category_id: com.canonical.plainbox::usb id: usb3/zapper-usb-remove-{{ port_alias }} +template-id: usb3/zapper-usb-remove-port_alias template-engine: jinja2 _summary: Zapper-driven USB 3.0 removal test on port {{ port_alias }} requires: usb.usb3 == 'supported' diff --git a/providers/docker/units/docker.pxu b/providers/docker/units/docker.pxu index 2c8f3e691c..fa03f3499f 100644 --- a/providers/docker/units/docker.pxu +++ b/providers/docker/units/docker.pxu @@ -56,6 +56,7 @@ unit: template template-resource: docker_resource template-unit: job id: docker/run_{arch} +template-id: docker/run_arch user: root category_id: docker requires: executable.name == 'docker' @@ -67,6 +68,7 @@ unit: template template-resource: docker_resource template-unit: job id: docker/interative_{arch} +template-id: docker/interative_arch user: root category_id: docker requires: executable.name == 'docker' @@ -78,6 +80,7 @@ unit: template template-resource: docker_resource template-unit: job id: docker/diff_{arch} +template-id: docker/diff_arch user: root category_id: docker requires: executable.name == 'docker' @@ -93,6 +96,7 @@ unit: template template-resource: docker_resource template-unit: job id: docker/copy_{arch} +template-id: docker/copy_arch user: root category_id: docker requires: executable.name == 'docker' @@ -112,6 +116,7 @@ unit: template template-resource: docker_resource template-unit: job id: docker/inspect_{arch} +template-id: docker/inspect_arch user: root category_id: docker requires: executable.name == 'docker' @@ -130,6 +135,7 @@ unit: template template-resource: docker_resource template-unit: job id: docker/kill_{arch} +template-id: docker/kill_arch user: root category_id: docker requires: executable.name == 'docker' @@ -147,6 +153,7 @@ unit: template template-resource: docker_resource template-unit: job id: docker/start-stop_{arch} +template-id: docker/start-stop_arch user: root category_id: docker requires: executable.name == 'docker' @@ -166,6 +173,7 @@ unit: template template-resource: docker_resource template-unit: job id: docker/build-single_{arch} +template-id: docker/build-single_arch user: root category_id: docker requires: executable.name == 'docker' @@ -188,6 +196,7 @@ unit: template template-resource: docker_resource template-unit: job id: docker/export-and-import_{arch} +template-id: docker/export-and-import_arch user: root category_id: docker requires: executable.name == 'docker' @@ -207,6 +216,7 @@ unit: template template-resource: docker_resource template-unit: job id: docker/commit_{arch} +template-id: docker/commit_arch user: root category_id: docker requires: executable.name == 'docker' @@ -226,6 +236,7 @@ unit: template template-resource: docker_resource template-unit: job id: docker/save-and-load_{arch} +template-id: docker/save-and-load_arch user: root category_id: docker requires: executable.name == 'docker' @@ -242,6 +253,7 @@ unit: template template-resource: docker_resource template-unit: job id: docker/compose-single_{arch} +template-id: docker/compose-single_arch user: root category_id: docker requires: executable.name == 'docker' @@ -268,6 +280,7 @@ unit: template template-resource: docker_resource template-unit: job id: docker/compose-and-basic_{arch} +template-id: docker/compose-and-basic_arch user: root category_id: docker requires: executable.name == 'docker' @@ -309,6 +322,7 @@ unit: template template-resource: docker_resource template-unit: job id: docker/deploy-registry_{arch} +template-id: docker/deploy-registry_arch user: root category_id: docker requires: @@ -339,6 +353,7 @@ unit: template template-resource: docker_resource template-unit: job id: docker/restart-on-failure_{arch} +template-id: docker/restart-on-failure_arch user: root category_id: docker requires: executable.name == 'docker' @@ -366,6 +381,7 @@ unit: template template-resource: docker_resource template-unit: job id: docker/restart-always_{arch} +template-id: docker/restart-always_arch user: root category_id: docker requires: executable.name == 'docker' @@ -391,6 +407,7 @@ unit: template template-resource: docker_resource template-unit: job id: docker/update_{arch} +template-id: docker/update_arch user: root category_id: docker requires: executable.name == 'docker' @@ -410,6 +427,7 @@ unit: template template-resource: docker_resource template-unit: job id: docker/compose-restart_{arch} +template-id: docker/compose-restart_arch user: root category_id: docker requires: executable.name == 'docker' @@ -438,6 +456,7 @@ unit: template template-resource: docker_resource template-unit: job id: docker/edgex_compose_{arch} +template-id: docker/edgex_compose_arch user: root category_id: docker requires: executable.name == 'docker' diff --git a/providers/resource/jobs/resource.pxu b/providers/resource/jobs/resource.pxu index 41b4ad3008..f71c847c9b 100644 --- a/providers/resource/jobs/resource.pxu +++ b/providers/resource/jobs/resource.pxu @@ -195,6 +195,7 @@ unit: template template-resource: device template-filter: device.category == 'CDROM' id: optical_drive_{name} +template-id: optical_drive_name plugin: resource category_id: information_gathering command: optical_resource.py /dev/{name}