{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.Zy3Pgkwc/b1/lava_2023.01-2_armhf.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.Zy3Pgkwc/b2/lava_2023.01-2_armhf.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,10 +1,10 @@\n \n a35b08608e794a71744f0a759733a0c1 45260 net optional lava-common_2023.01-2_all.deb\n c02d5c5132ff833c8f0b567af29b9996 34596 net optional lava-coordinator_2023.01-2_all.deb\n 56c6da728bea231e3d0b0bad4c605599 31640 devel optional lava-dev_2023.01-2_all.deb\n ae19d876c351c6695be69b4e363f119b 37368 net optional lava-dispatcher-host_2023.01-2_all.deb\n 01df0030203b07030d136adb6f0e3820 190748 net optional lava-dispatcher_2023.01-2_all.deb\n 63969a7f9a735a2816bf3063d49728c8 34388 net optional lava-lxc-mocker_2023.01-2_all.deb\n- 444e54e2cda4157e974824d68cb5a441 2489168 doc optional lava-server-doc_2023.01-2_all.deb\n+ b70c13905d0dc9ccb4be07f3b28e8144 2489100 doc optional lava-server-doc_2023.01-2_all.deb\n d330ebc820ee439588cb0a060f68707a 396268 net optional lava-server_2023.01-2_all.deb\n e7b2a8fe70dee79516fe30331b176b5e 24212 metapackages optional lava_2023.01-2_all.deb\n"}, {"source1": "lava-server-doc_2023.01-2_all.deb", "source2": "lava-server-doc_2023.01-2_all.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2023-01-23 19:32:59.000000 debian-binary\n -rw-r--r-- 0 0 0 10776 2023-01-23 19:32:59.000000 control.tar.xz\n--rw-r--r-- 0 0 0 2478200 2023-01-23 19:32:59.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 2478132 2023-01-23 19:32:59.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "./usr/share/doc/lava-server-doc/html/v2/searchindex.js", "source2": "./usr/share/doc/lava-server-doc/html/v2/searchindex.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -6085,169 +6085,61 @@\n \"sphinx.domains.std\": 2,\n \"sphinx.ext.intersphinx\": 1,\n \"sphinx.ext.todo\": 2,\n \"sphinx.ext.viewcode\": 1,\n \"sphinx\": 57\n },\n \"alltitles\": {\n- \"Writing an interactive test action\": [\n- [57, \"writing-an-interactive-test-action\"]\n- ],\n- \"Advantages of interactive pattern matching\": [\n- [57, \"advantages-of-interactive-pattern-matching\"]\n- ],\n- \"Limits of interactive pattern matching\": [\n- [57, \"limits-of-interactive-pattern-matching\"]\n- ],\n- \"Example interactive test job\": [\n- [57, \"example-interactive-test-job\"]\n- ],\n- \"Combining different test actions\": [\n- [57, \"combining-different-test-actions\"]\n- ],\n- \"Using Test Results\": [\n- [60, \"using-test-results\"]\n- ],\n- \"LAVA result visualization\": [\n- [60, \"lava-result-visualization\"]\n- ],\n- \"LAVA Queries\": [\n- [60, \"lava-queries\"]\n- ],\n- \"Conditions\": [\n- [60, \"conditions\"]\n- ],\n- \"Caching queries\": [\n- [60, \"caching-queries\"]\n- ],\n- \"Authorization and admin\": [\n- [60, \"authorization-and-admin\"]\n- ],\n- \"Query by URL\": [\n- [60, \"query-by-url\"]\n- ],\n- \"Export Query\": [\n- [60, \"export-query\"]\n- ],\n- \"Omitting Query Results\": [\n- [60, \"omitting-query-results\"]\n- ],\n- \"Deleting a Query\": [\n- [60, \"deleting-a-query\"]\n- ],\n- \"Using Queries in XML-RPC scripts\": [\n- [60, \"using-queries-in-xml-rpc-scripts\"]\n- ],\n- \"Configuration\": [\n- [60, \"configuration\"],\n- [58, \"configuration\"],\n- [54, \"configuration\"],\n- [22, \"configuration\"],\n- [8, \"configuration\"]\n- ],\n- \"Example output\": [\n- [60, \"example-output\"]\n- ],\n- \"LAVA Query use cases\": [\n- [60, \"lava-query-use-cases\"]\n- ],\n- \"LAVA Charts\": [\n- [60, \"lava-charts\"]\n- ],\n- \"How to create a Chart?\": [\n- [60, \"how-to-create-a-chart\"]\n- ],\n- \"Chart grouping\": [\n- [60, \"chart-grouping\"]\n- ],\n- \"Chart permissions\": [\n- [60, \"chart-permissions\"]\n- ],\n- \"Adding Queries\": [\n- [60, \"adding-queries\"]\n- ],\n- \"Charts display page\": [\n- [60, \"charts-display-page\"]\n- ],\n- \"Interactive charts\": [\n- [60, \"interactive-charts\"]\n- ],\n- \"Legend\": [\n- [60, \"legend\"]\n- ],\n- \"Date limits\": [\n- [60, \"date-limits\"]\n- ],\n- \"Print menu\": [\n- [60, \"print-menu\"]\n- ],\n- \"Chart using metadata\": [\n- [60, \"chart-using-metadata\"]\n- ],\n- \"Omitting Chart Results\": [\n- [60, \"omitting-chart-results\"]\n- ],\n- \"Chart by URL\": [\n- [60, \"chart-by-url\"]\n- ],\n- \"Detailed device information in LAVA Scheduler\": [\n- [63, \"detailed-device-information-in-lava-scheduler\"]\n- ],\n- \"Static device information\": [\n- [63, \"static-device-information\"]\n- ],\n- \"Device state\": [\n- [63, \"device-state\"]\n- ],\n- \"State\": [\n- [63, \"state\"]\n- ],\n- \"Health\": [\n- [63, \"health\"]\n- ],\n- \"Health State\": [\n- [63, \"health-state\"]\n+ \"Hidden device types\": [\n+ [49, \"hidden-device-types\"]\n ],\n- \"Edit device description\": [\n- [63, \"edit-device-description\"]\n+ \"Changes needed when managing a hidden device type\": [\n+ [49, \"changes-needed-when-managing-a-hidden-device-type\"]\n ],\n- \"Restrict submissions\": [\n- [63, \"restrict-submissions\"]\n+ \"Private test job visibility\": [\n+ [49, \"private-test-job-visibility\"]\n ],\n- \"Writing Health Checks for devices\": [\n- [48, \"writing-health-checks-for-devices\"]\n+ \"Health Checks\": [\n+ [49, \"health-checks\"]\n ],\n- \"LAVA YAML health checks\": [\n- [48, \"lava-yaml-health-checks\"]\n+ \"Fastboot\": [\n+ [52, \"fastboot\"]\n ],\n- \"Device Types and templates\": [\n- [48, \"device-types-and-templates\"]\n+ \"External constraints\": [\n+ [52, \"external-constraints\"]\n ],\n- \"Tasks within health checks\": [\n- [48, \"tasks-within-health-checks\"]\n+ \"Device changes\": [\n+ [52, \"device-changes\"]\n ],\n- \"Checking infrastructure and peripherals in health checks\": [\n- [48, \"checking-infrastructure-and-peripherals-in-health-checks\"]\n+ \"Images\": [\n+ [52, \"images\"]\n ],\n- \"Using lava_test_shell inside health checks\": [\n- [48, \"using-lava-test-shell-inside-health-checks\"]\n+ \"Android\": [\n+ [52, \"android\"]\n ],\n- \"Infrastructure issues\": [\n- [48, \"infrastructure-issues\"]\n+ \"Specific support for fastboot devices in LAVA\": [\n+ [52, \"specific-support-for-fastboot-devices-in-lava\"]\n ],\n \"Deploying an ipmi/pxe-boot Device\": [\n [58, \"deploying-an-ipmi-pxe-boot-device\"]\n ],\n \"Machines for Dispatching a Job\": [\n [58, \"machines-for-dispatching-a-job\"]\n ],\n \"Dispatch Steps\": [\n [58, \"dispatch-steps\"],\n [59, \"dispatch-steps\"]\n ],\n+ \"Configuration\": [\n+ [58, \"configuration\"],\n+ [60, \"configuration\"],\n+ [54, \"configuration\"],\n+ [22, \"configuration\"],\n+ [8, \"configuration\"]\n+ ],\n \"Installing ipmitool\": [\n [58, \"installing-ipmitool\"]\n ],\n \"Address Configuration\": [\n [58, \"address-configuration\"]\n ],\n \"Addressing Calxeda Highbank Devices\": [\n@@ -6273,218 +6165,14 @@\n ],\n \"Creating the kernel and initrd for pxe booting\": [\n [58, \"creating-the-kernel-and-initrd-for-pxe-booting\"]\n ],\n \"Debugging with initrd\": [\n [58, \"debugging-with-initrd\"]\n ],\n- \"LAVA Scheduler summary help\": [\n- [61, \"lava-scheduler-summary-help\"]\n- ],\n- \"Device Type Overview\": [\n- [61, \"device-type-overview\"]\n- ],\n- \"Overall status\": [\n- [61, \"overall-status\"]\n- ],\n- \"Online devices\": [\n- [61, \"online-devices\"]\n- ],\n- \"Passing health checks\": [\n- [61, \"passing-health-checks\"]\n- ],\n- \"Reports\": [\n- [61, \"reports\"]\n- ],\n- \"All devices\": [\n- [61, \"all-devices\"]\n- ],\n- \"All Active devices\": [\n- [61, \"all-active-devices\"]\n- ],\n- \"All Device Health\": [\n- [61, \"all-device-health\"]\n- ],\n- \"Device types\": [\n- [61, \"device-types\"],\n- [31, \"device-types\"]\n- ],\n- \"Active Jobs\": [\n- [61, \"active-jobs\"]\n- ],\n- \"Workers\": [\n- [61, \"workers\"],\n- [95, \"workers\"]\n- ],\n- \"U-Boot\": [\n- [54, \"u-boot\"]\n- ],\n- \"Common U-Boot support\": [\n- [54, \"common-u-boot-support\"]\n- ],\n- \"Prompts\": [\n- [54, \"prompts\"]\n- ],\n- \"Interrupting U-Boot\": [\n- [54, \"interrupting-u-boot\"]\n- ],\n- \"Troubleshooting Interrupting U-Boot\": [\n- [54, \"troubleshooting-interrupting-u-boot\"]\n- ],\n- \"Load addresses\": [\n- [54, \"load-addresses\"]\n- ],\n- \"Required configuration\": [\n- [54, \"required-configuration\"]\n- ],\n- \"Booting the kernel\": [\n- [54, \"booting-the-kernel\"],\n- [99, \"booting-the-kernel\"]\n- ],\n- \"U-Boot bootargs\": [\n- [54, \"u-boot-bootargs\"]\n- ],\n- \"Using mkimage\": [\n- [54, \"using-mkimage\"]\n- ],\n- \"Vendor builds\": [\n- [54, \"vendor-builds\"]\n- ],\n- \"Network support\": [\n- [54, \"network-support\"]\n- ],\n- \"Additional U-Boot support\": [\n- [54, \"additional-u-boot-support\"]\n- ],\n- \"Filesystem support\": [\n- [54, \"filesystem-support\"]\n- ],\n- \"Interface names\": [\n- [54, \"interface-names\"]\n- ],\n- \"Initializing subsystems\": [\n- [54, \"initializing-subsystems\"]\n- ],\n- \"Appending the DTB\": [\n- [54, \"appending-the-dtb\"]\n- ],\n- \"UEFI\": [\n- [55, \"uefi\"]\n- ],\n- \"Introduction\": [\n- [55, \"introduction\"],\n- [24, \"introduction\"],\n- [12, \"introduction\"],\n- [79, \"introduction\"]\n- ],\n- \"UEFI menus\": [\n- [55, \"uefi-menus\"]\n- ],\n- \"UEFI graphical interfaces\": [\n- [55, \"uefi-graphical-interfaces\"]\n- ],\n- \"D02/D03\": [\n- [55, \"d02-d03\"]\n- ],\n- \"Cons\": [\n- [55, \"cons\"],\n- [55, \"id1\"],\n- [56, \"cons\"],\n- [53, \"cons\"],\n- [53, \"id1\"]\n- ],\n- \"Mustang UEFI\": [\n- [55, \"mustang-uefi\"]\n- ],\n- \"HiKey 620\": [\n- [55, \"hikey-620\"]\n- ],\n- \"HiKey 960\": [\n- [55, \"hikey-960\"]\n- ],\n- \"Integration Stories\": [\n- [56, \"integration-stories\"]\n- ],\n- \"Integration Story One - Nexus\": [\n- [56, \"integration-story-one-nexus\"]\n- ],\n- \"Deploy\": [\n- [56, \"deploy\"],\n- [56, \"id2\"],\n- [100, \"deploy\"],\n- [98, \"deploy\"],\n- [70, \"deploy\"]\n- ],\n- \"Boot\": [\n- [56, \"boot\"],\n- [56, \"id3\"],\n- [100, \"boot\"],\n- [98, \"boot\"],\n- [70, \"boot\"]\n- ],\n- \"Issues\": [\n- [56, \"issues\"],\n- [56, \"id1\"],\n- [56, \"id5\"]\n- ],\n- \"Integration Story Two - Pixel\": [\n- [56, \"integration-story-two-pixel\"]\n- ],\n- \"Pixel\": [\n- [56, \"pixel\"]\n- ],\n- \"Integration Story Three - HiKey 6220\": [\n- [56, \"integration-story-three-hikey-6220\"]\n- ],\n- \"Unstable UEFI firmware\": [\n- [56, \"unstable-uefi-firmware\"]\n- ],\n- \"Serial numbers\": [\n- [56, \"serial-numbers\"]\n- ],\n- \"AOSP\": [\n- [56, \"aosp\"],\n- [56, \"id4\"]\n- ],\n- \"OE\": [\n- [56, \"oe\"]\n- ],\n- \"Debian\": [\n- [56, \"debian\"]\n- ],\n- \"OE / Debian\": [\n- [56, \"oe-debian\"]\n- ],\n- \"Other Issues\": [\n- [56, \"other-issues\"]\n- ],\n- \"Overview\": [\n- [56, \"overview\"]\n- ],\n- \"V2 Scenario\": [\n- [56, \"v2-scenario\"]\n- ],\n- \"V1 Scenario\": [\n- [56, \"v1-scenario\"]\n- ],\n- \"Integration Story - Dragonboard 410c\": [\n- [56, \"integration-story-dragonboard-410c\"]\n- ],\n- \"Integration Story Five - HiKey 960\": [\n- [56, \"integration-story-five-hikey-960\"]\n- ],\n- \"Internet of Things (IoT) Boards\": [\n- [53, \"internet-of-things-iot-boards\"]\n- ],\n- \"Arduino101\": [\n- [53, \"arduino101\"]\n- ],\n- \"FRDM-K64F\": [\n- [53, \"frdm-k64f\"]\n- ],\n \"Installing on a Debian system\": [\n [51, \"installing-on-a-debian-system\"]\n ],\n \"Recommended Debian architectures\": [\n [51, \"recommended-debian-architectures\"]\n ],\n \"LAVA repositories\": [\n@@ -6549,70 +6237,69 @@\n ],\n \"Exported parameters\": [\n [62, \"exported-parameters\"]\n ],\n \"Other parameters\": [\n [62, \"other-parameters\"]\n ],\n- \"Hidden device types\": [\n- [49, \"hidden-device-types\"]\n- ],\n- \"Changes needed when managing a hidden device type\": [\n- [49, \"changes-needed-when-managing-a-hidden-device-type\"]\n+ \"LAVA Scheduler summary help\": [\n+ [61, \"lava-scheduler-summary-help\"]\n ],\n- \"Private test job visibility\": [\n- [49, \"private-test-job-visibility\"]\n+ \"Device Type Overview\": [\n+ [61, \"device-type-overview\"]\n ],\n- \"Health Checks\": [\n- [49, \"health-checks\"]\n+ \"Overall status\": [\n+ [61, \"overall-status\"]\n ],\n- \"Fastboot\": [\n- [52, \"fastboot\"]\n+ \"Online devices\": [\n+ [61, \"online-devices\"]\n ],\n- \"External constraints\": [\n- [52, \"external-constraints\"]\n+ \"Passing health checks\": [\n+ [61, \"passing-health-checks\"]\n ],\n- \"Device changes\": [\n- [52, \"device-changes\"]\n+ \"Reports\": [\n+ [61, \"reports\"]\n ],\n- \"Images\": [\n- [52, \"images\"]\n+ \"All devices\": [\n+ [61, \"all-devices\"]\n ],\n- \"Android\": [\n- [52, \"android\"]\n+ \"All Active devices\": [\n+ [61, \"all-active-devices\"]\n ],\n- \"Specific support for fastboot devices in LAVA\": [\n- [52, \"specific-support-for-fastboot-devices-in-lava\"]\n+ \"All Device Health\": [\n+ [61, \"all-device-health\"]\n ],\n- \"Deploying an iPXE (x86) device\": [\n- [59, \"deploying-an-ipxe-x86-device\"]\n+ \"Device types\": [\n+ [61, \"device-types\"],\n+ [31, \"device-types\"]\n ],\n- \"Preparing the target test device\": [\n- [59, \"preparing-the-target-test-device\"]\n+ \"Active Jobs\": [\n+ [61, \"active-jobs\"]\n ],\n- \"Kernel, Ramdisk and Rootfs considerations\": [\n- [59, \"kernel-ramdisk-and-rootfs-considerations\"]\n+ \"Workers\": [\n+ [61, \"workers\"],\n+ [95, \"workers\"]\n ],\n \"Introduction to LAVA\": [\n [50, \"introduction-to-lava\"]\n ],\n \"Navigation\": [\n [50, \"navigation\"]\n ],\n \"Index\": [\n [50, \"id1\"]\n ],\n \"Contents\": [\n [50, \"id2\"],\n [46, \"contents\"],\n [17, \"contents\"],\n+ [2, \"contents\"],\n [0, \"contents\"],\n [5, \"contents\"],\n- [3, \"contents\"],\n- [2, \"contents\"]\n+ [3, \"contents\"]\n ],\n \"Page indices\": [\n [50, \"page-indices\"]\n ],\n \"About LAVA V2\": [\n [50, \"about-lava-v2\"]\n ],\n@@ -6670,297 +6357,329 @@\n ],\n \"Support\": [\n [50, \"support\"]\n ],\n \"Full documentation\": [\n [50, \"full-documentation\"]\n ],\n- \"Providing gold standard images\": [\n- [45, \"providing-gold-standard-images\"]\n+ \"Detailed device information in LAVA Scheduler\": [\n+ [63, \"detailed-device-information-in-lava-scheduler\"]\n ],\n- \"Creating a gold standard image\": [\n- [45, \"creating-a-gold-standard-image\"]\n+ \"Static device information\": [\n+ [63, \"static-device-information\"]\n ],\n- \"Other gold standard components\": [\n- [45, \"other-gold-standard-components\"]\n+ \"Device state\": [\n+ [63, \"device-state\"]\n ],\n- \"Lava Dispatcher Design\": [\n- [33, \"lava-dispatcher-design\"]\n+ \"State\": [\n+ [63, \"state\"]\n ],\n- \"Pipeline Architecture\": [\n- [33, \"pipeline-architecture\"]\n+ \"Health\": [\n+ [63, \"health\"]\n ],\n- \"Principal changes\": [\n- [33, \"principal-changes\"]\n+ \"Health State\": [\n+ [63, \"health-state\"]\n ],\n- \"Objectives\": [\n- [33, \"objectives\"]\n+ \"Edit device description\": [\n+ [63, \"edit-device-description\"]\n ],\n- \"Design\": [\n- [33, \"design\"]\n+ \"Restrict submissions\": [\n+ [63, \"restrict-submissions\"]\n ],\n- \"Following the code flow\": [\n- [33, \"following-the-code-flow\"]\n+ \"Using Test Results\": [\n+ [60, \"using-test-results\"]\n ],\n- \"Pipeline construction and flow\": [\n- [33, \"pipeline-construction-and-flow\"]\n+ \"LAVA result visualization\": [\n+ [60, \"lava-result-visualization\"]\n ],\n- \"Using strategy classes\": [\n- [33, \"using-strategy-classes\"]\n+ \"LAVA Queries\": [\n+ [60, \"lava-queries\"]\n ],\n- \"Lava test shell scripts\": [\n- [33, \"lava-test-shell-scripts\"]\n+ \"Conditions\": [\n+ [60, \"conditions\"]\n ],\n- \"Pipeline error handling\": [\n- [33, \"pipeline-error-handling\"]\n+ \"Caching queries\": [\n+ [60, \"caching-queries\"]\n ],\n- \"RuntimeError Exception\": [\n- [33, \"runtimeerror-exception\"]\n+ \"Authorization and admin\": [\n+ [60, \"authorization-and-admin\"]\n ],\n- \"InfrastructureError Exception\": [\n- [33, \"infrastructureerror-exception\"]\n+ \"Query by URL\": [\n+ [60, \"query-by-url\"]\n ],\n- \"JobError Exception\": [\n- [33, \"joberror-exception\"]\n+ \"Export Query\": [\n+ [60, \"export-query\"]\n ],\n- \"TestError Exception\": [\n- [33, \"testerror-exception\"]\n+ \"Omitting Query Results\": [\n+ [60, \"omitting-query-results\"]\n ],\n- \"Result bundle identifiers\": [\n- [33, \"result-bundle-identifiers\"]\n+ \"Deleting a Query\": [\n+ [60, \"deleting-a-query\"]\n ],\n- \"Secondary media\": [\n- [33, \"secondary-media\"],\n- [96, \"secondary-media\"]\n+ \"Using Queries in XML-RPC scripts\": [\n+ [60, \"using-queries-in-xml-rpc-scripts\"]\n ],\n- \"Device configuration design\": [\n- [33, \"device-configuration-design\"]\n+ \"Example output\": [\n+ [60, \"example-output\"]\n ],\n- \"Device Dictionary\": [\n- [33, \"device-dictionary\"]\n+ \"LAVA Query use cases\": [\n+ [60, \"lava-query-use-cases\"]\n ],\n- \"Exporting an existing device dictionary\": [\n- [33, \"exporting-an-existing-device-dictionary\"]\n+ \"LAVA Charts\": [\n+ [60, \"lava-charts\"]\n ],\n- \"Reviewing an existing device dictionary\": [\n- [33, \"reviewing-an-existing-device-dictionary\"]\n+ \"How to create a Chart?\": [\n+ [60, \"how-to-create-a-chart\"]\n ],\n- \"Example device configuration review\": [\n- [33, \"example-device-configuration-review\"]\n+ \"Chart grouping\": [\n+ [60, \"chart-grouping\"]\n ],\n- \"Importing configuration using a known template\": [\n- [33, \"importing-configuration-using-a-known-template\"]\n+ \"Chart permissions\": [\n+ [60, \"chart-permissions\"]\n ],\n- \"Creating a new template\": [\n- [33, \"creating-a-new-template\"]\n+ \"Adding Queries\": [\n+ [60, \"adding-queries\"]\n ],\n- \"Running lava-run directly\": [\n- [33, \"running-lava-run-directly\"]\n+ \"Charts display page\": [\n+ [60, \"charts-display-page\"]\n ],\n- \"First steps as a user\": [\n- [41, \"first-steps-as-a-user\"]\n+ \"Interactive charts\": [\n+ [60, \"interactive-charts\"]\n ],\n- \"Logging In\": [\n- [41, \"logging-in\"]\n+ \"Legend\": [\n+ [60, \"legend\"]\n ],\n- \"Local User Account\": [\n- [41, \"local-user-account\"]\n+ \"Date limits\": [\n+ [60, \"date-limits\"]\n ],\n- \"Linaro lab users\": [\n- [41, \"linaro-lab-users\"]\n+ \"Print menu\": [\n+ [60, \"print-menu\"]\n ],\n- \"Authentication Tokens\": [\n- [41, \"authentication-tokens\"]\n+ \"Chart using metadata\": [\n+ [60, \"chart-using-metadata\"]\n ],\n- \"Functional testing of LAVA source code\": [\n- [42, \"functional-testing-of-lava-source-code\"]\n+ \"Omitting Chart Results\": [\n+ [60, \"omitting-chart-results\"]\n ],\n- \"Background\": [\n- [42, \"background\"],\n- [16, \"background\"]\n+ \"Chart by URL\": [\n+ [60, \"chart-by-url\"]\n ],\n- \"meta-lava\": [\n- [42, \"meta-lava\"]\n+ \"Writing an interactive test action\": [\n+ [57, \"writing-an-interactive-test-action\"]\n ],\n- \"Future plans\": [\n- [42, \"future-plans\"]\n+ \"Advantages of interactive pattern matching\": [\n+ [57, \"advantages-of-interactive-pattern-matching\"]\n ],\n- \"Purpose of functional tests\": [\n- [42, \"purpose-of-functional-tests\"]\n+ \"Limits of interactive pattern matching\": [\n+ [57, \"limits-of-interactive-pattern-matching\"]\n ],\n- \"Requirements for a functional test job\": [\n- [42, \"requirements-for-a-functional-test-job\"]\n+ \"Example interactive test job\": [\n+ [57, \"example-interactive-test-job\"]\n ],\n- \"Using the functional test frontend\": [\n- [42, \"using-the-functional-test-frontend\"]\n+ \"Combining different test actions\": [\n+ [57, \"combining-different-test-actions\"]\n ],\n- \"Dedicated workers\": [\n- [42, \"dedicated-workers\"]\n+ \"Integration Stories\": [\n+ [56, \"integration-stories\"]\n ],\n- \"Writing YAML job submission files\": [\n- [34, \"writing-yaml-job-submission-files\"]\n+ \"Integration Story One - Nexus\": [\n+ [56, \"integration-story-one-nexus\"]\n ],\n- \"Basics of the YAML format\": [\n- [34, \"basics-of-the-yaml-format\"]\n+ \"Deploy\": [\n+ [56, \"deploy\"],\n+ [56, \"id2\"],\n+ [98, \"deploy\"],\n+ [100, \"deploy\"],\n+ [70, \"deploy\"]\n ],\n- \"Basic structure for job submission\": [\n- [34, \"basic-structure-for-job-submission\"]\n+ \"Boot\": [\n+ [56, \"boot\"],\n+ [56, \"id3\"],\n+ [98, \"boot\"],\n+ [100, \"boot\"],\n+ [70, \"boot\"]\n ],\n- \"Sample JOB definition for a KVM\": [\n- [34, \"sample-job-definition-for-a-kvm\"]\n+ \"Issues\": [\n+ [56, \"issues\"],\n+ [56, \"id1\"],\n+ [56, \"id5\"]\n ],\n- \"Basic structure for device_type configuration\": [\n- [34, \"basic-structure-for-device-type-configuration\"]\n+ \"Integration Story Two - Pixel\": [\n+ [56, \"integration-story-two-pixel\"]\n ],\n- \"Basic structure for device configuration\": [\n- [34, \"basic-structure-for-device-configuration\"]\n+ \"Pixel\": [\n+ [56, \"pixel\"]\n ],\n- \"Overriding values in device type, device dictionary and the job context\": [\n- [34, \"overriding-values-in-device-type-device-dictionary-and-the-job-context\"]\n+ \"Integration Story Three - HiKey 6220\": [\n+ [56, \"integration-story-three-hikey-6220\"]\n ],\n- \"Example One\": [\n- [34, \"example-one\"],\n- [30, \"example-one\"]\n+ \"Unstable UEFI firmware\": [\n+ [56, \"unstable-uefi-firmware\"]\n ],\n- \"Example Two\": [\n- [34, \"example-two\"],\n- [30, \"example-two\"]\n+ \"Serial numbers\": [\n+ [56, \"serial-numbers\"]\n ],\n- \"Example Three\": [\n- [34, \"example-three\"]\n+ \"AOSP\": [\n+ [56, \"aosp\"],\n+ [56, \"id4\"]\n ],\n- \"Provide environment variables for the device in the job description\": [\n- [34, \"provide-environment-variables-for-the-device-in-the-job-description\"]\n+ \"OE\": [\n+ [56, \"oe\"]\n ],\n- \"Pipeline Device Configuration\": [\n- [34, \"pipeline-device-configuration\"]\n+ \"Debian\": [\n+ [56, \"debian\"]\n ],\n- \"Viewing the Device Dictionary\": [\n- [34, \"viewing-the-device-dictionary\"]\n+ \"OE / Debian\": [\n+ [56, \"oe-debian\"]\n ],\n- \"On scheduler device detail page\": [\n- [34, \"on-scheduler-device-detail-page\"]\n+ \"Other Issues\": [\n+ [56, \"other-issues\"]\n ],\n- \"On Job Description Tab\": [\n- [34, \"on-job-description-tab\"]\n+ \"Overview\": [\n+ [56, \"overview\"]\n ],\n- \"As Admin\": [\n- [34, \"as-admin\"]\n+ \"V2 Scenario\": [\n+ [56, \"v2-scenario\"]\n ],\n- \"Dispatcher actions\": [\n- [34, \"dispatcher-actions\"]\n+ \"V1 Scenario\": [\n+ [56, \"v1-scenario\"]\n ],\n- \"Mapping deployment actions to the python code\": [\n- [34, \"mapping-deployment-actions-to-the-python-code\"]\n+ \"Integration Story - Dragonboard 410c\": [\n+ [56, \"integration-story-dragonboard-410c\"]\n ],\n- \"Deployment actions\": [\n- [34, \"deployment-actions\"]\n+ \"Integration Story Five - HiKey 960\": [\n+ [56, \"integration-story-five-hikey-960\"]\n ],\n- \"Supported methods\": [\n- [34, \"supported-methods\"],\n- [34, \"id1\"]\n+ \"Cons\": [\n+ [56, \"cons\"],\n+ [53, \"cons\"],\n+ [53, \"id1\"],\n+ [55, \"cons\"],\n+ [55, \"id1\"]\n ],\n- \"Boot actions\": [\n- [34, \"boot-actions\"]\n+ \"Internet of Things (IoT) Boards\": [\n+ [53, \"internet-of-things-iot-boards\"]\n ],\n- \"Test actions\": [\n- [34, \"test-actions\"]\n+ \"Arduino101\": [\n+ [53, \"arduino101\"]\n ],\n- \"Metadata\": [\n- [34, \"metadata\"],\n- [92, \"metadata\"],\n- [101, \"metadata\"],\n- [111, \"metadata\"]\n+ \"FRDM-K64F\": [\n+ [53, \"frdm-k64f\"]\n ],\n- \"Submit actions\": [\n- [34, \"submit-actions\"]\n+ \"Deploying an iPXE (x86) device\": [\n+ [59, \"deploying-an-ipxe-x86-device\"]\n ],\n- \"Submitting your first job\": [\n- [40, \"submitting-your-first-job\"]\n+ \"Preparing the target test device\": [\n+ [59, \"preparing-the-target-test-device\"]\n ],\n- \"Job Definition\": [\n- [40, \"job-definition\"]\n+ \"Kernel, Ramdisk and Rootfs considerations\": [\n+ [59, \"kernel-ramdisk-and-rootfs-considerations\"]\n ],\n- \"Job Submission\": [\n- [40, \"job-submission\"]\n+ \"U-Boot\": [\n+ [54, \"u-boot\"]\n ],\n- \"Test Definitions\": [\n- [40, \"test-definitions\"]\n+ \"Common U-Boot support\": [\n+ [54, \"common-u-boot-support\"]\n ],\n- \"Viewing test results\": [\n- [40, \"viewing-test-results\"]\n+ \"Prompts\": [\n+ [54, \"prompts\"]\n ],\n- \"Downloading test results\": [\n- [40, \"downloading-test-results\"]\n+ \"Interrupting U-Boot\": [\n+ [54, \"interrupting-u-boot\"]\n ],\n- \"Web Based Job Submission\": [\n- [40, \"web-based-job-submission\"]\n+ \"Troubleshooting Interrupting U-Boot\": [\n+ [54, \"troubleshooting-interrupting-u-boot\"]\n ],\n- \"XML-RPC Job Submission\": [\n- [40, \"xml-rpc-job-submission\"]\n+ \"Load addresses\": [\n+ [54, \"load-addresses\"]\n ],\n- \"Glossary of terms\": [\n- [44, \"glossary-of-terms\"]\n+ \"Required configuration\": [\n+ [54, \"required-configuration\"]\n ],\n- \"Explaining the first job in detail\": [\n- [37, \"explaining-the-first-job-in-detail\"]\n+ \"Booting the kernel\": [\n+ [54, \"booting-the-kernel\"],\n+ [99, \"booting-the-kernel\"]\n ],\n- \"Top level elements of a test job\": [\n- [37, \"top-level-elements-of-a-test-job\"]\n+ \"U-Boot bootargs\": [\n+ [54, \"u-boot-bootargs\"]\n ],\n- \"Actions within the test job\": [\n- [37, \"actions-within-the-test-job\"]\n+ \"Using mkimage\": [\n+ [54, \"using-mkimage\"]\n ],\n- \"Deploy action for QEMU\": [\n- [37, \"deploy-action-for-qemu\"]\n+ \"Vendor builds\": [\n+ [54, \"vendor-builds\"]\n ],\n- \"Example of deploy label substitution\": [\n- [37, \"example-of-deploy-label-substitution\"]\n+ \"Network support\": [\n+ [54, \"network-support\"]\n ],\n- \"Boot action for QEMU\": [\n- [37, \"boot-action-for-qemu\"]\n+ \"Additional U-Boot support\": [\n+ [54, \"additional-u-boot-support\"]\n ],\n- \"Test action for QEMU\": [\n- [37, \"test-action-for-qemu\"]\n+ \"Filesystem support\": [\n+ [54, \"filesystem-support\"]\n ],\n- \"Adding your first devices\": [\n- [38, \"adding-your-first-devices\"]\n+ \"Interface names\": [\n+ [54, \"interface-names\"]\n ],\n- \"Requirements\": [\n- [38, \"requirements\"],\n- [46, \"requirements\"],\n- [12, \"requirements\"],\n- [97, \"requirements\"]\n+ \"Initializing subsystems\": [\n+ [54, \"initializing-subsystems\"]\n ],\n- \"Django administration interface\": [\n- [38, \"django-administration-interface\"]\n+ \"Appending the DTB\": [\n+ [54, \"appending-the-dtb\"]\n ],\n- \"Administrative interface site links\": [\n- [38, \"administrative-interface-site-links\"]\n+ \"UEFI\": [\n+ [55, \"uefi\"]\n ],\n- \"Start with a known device type\": [\n- [38, \"start-with-a-known-device-type\"]\n+ \"Introduction\": [\n+ [55, \"introduction\"],\n+ [24, \"introduction\"],\n+ [12, \"introduction\"],\n+ [79, \"introduction\"]\n ],\n- \"QEMU\": [\n- [38, \"qemu\"]\n+ \"UEFI menus\": [\n+ [55, \"uefi-menus\"]\n ],\n- \"Create a Device Type\": [\n- [38, \"create-a-device-type\"]\n+ \"UEFI graphical interfaces\": [\n+ [55, \"uefi-graphical-interfaces\"]\n ],\n- \"Create a device in the database\": [\n- [38, \"create-a-device-in-the-database\"]\n+ \"D02/D03\": [\n+ [55, \"d02-d03\"]\n ],\n- \"Adding a dictionary to the first QEMU device\": [\n- [38, \"adding-a-dictionary-to-the-first-qemu-device\"]\n+ \"Mustang UEFI\": [\n+ [55, \"mustang-uefi\"]\n ],\n- \"Adding other devices of known device-types\": [\n- [38, \"adding-other-devices-of-known-device-types\"]\n+ \"HiKey 620\": [\n+ [55, \"hikey-620\"]\n ],\n- \"Check existing instances\": [\n- [38, \"check-existing-instances\"]\n+ \"HiKey 960\": [\n+ [55, \"hikey-960\"]\n+ ],\n+ \"Writing Health Checks for devices\": [\n+ [48, \"writing-health-checks-for-devices\"]\n+ ],\n+ \"LAVA YAML health checks\": [\n+ [48, \"lava-yaml-health-checks\"]\n+ ],\n+ \"Device Types and templates\": [\n+ [48, \"device-types-and-templates\"]\n+ ],\n+ \"Tasks within health checks\": [\n+ [48, \"tasks-within-health-checks\"]\n+ ],\n+ \"Checking infrastructure and peripherals in health checks\": [\n+ [48, \"checking-infrastructure-and-peripherals-in-health-checks\"]\n+ ],\n+ \"Using lava_test_shell inside health checks\": [\n+ [48, \"using-lava-test-shell-inside-health-checks\"]\n+ ],\n+ \"Infrastructure issues\": [\n+ [48, \"infrastructure-issues\"]\n+ ],\n+ \"Glossary of terms\": [\n+ [44, \"glossary-of-terms\"]\n ],\n \"First steps installing LAVA\": [\n [39, \"first-steps-installing-lava\"],\n [17, \"first-steps-installing-lava\"]\n ],\n \"Initial LAVA Installation\": [\n [39, \"initial-lava-installation\"]\n@@ -7013,14 +6732,38 @@\n ],\n \"StarTech rackmount usb\": [\n [39, \"startech-rackmount-usb\"]\n ],\n \"Contact and bug reports\": [\n [39, \"contact-and-bug-reports\"]\n ],\n+ \"Submitting your first job\": [\n+ [40, \"submitting-your-first-job\"]\n+ ],\n+ \"Job Definition\": [\n+ [40, \"job-definition\"]\n+ ],\n+ \"Job Submission\": [\n+ [40, \"job-submission\"]\n+ ],\n+ \"Test Definitions\": [\n+ [40, \"test-definitions\"]\n+ ],\n+ \"Viewing test results\": [\n+ [40, \"viewing-test-results\"]\n+ ],\n+ \"Downloading test results\": [\n+ [40, \"downloading-test-results\"]\n+ ],\n+ \"Web Based Job Submission\": [\n+ [40, \"web-based-job-submission\"]\n+ ],\n+ \"XML-RPC Job Submission\": [\n+ [40, \"xml-rpc-job-submission\"]\n+ ],\n \"FVP\": [\n [43, \"fvp\"]\n ],\n \"LAVA FVP Dispatcher Setup\": [\n [43, \"lava-fvp-dispatcher-setup\"]\n ],\n \"FVP Binaries\": [\n@@ -7031,26 +6774,89 @@\n ],\n \"Networking inside Models\": [\n [43, \"networking-inside-models\"]\n ],\n \"Reading from all model consoles\": [\n [43, \"reading-from-all-model-consoles\"]\n ],\n- \"LAVA Hacking Sessions\": [\n- [47, \"lava-hacking-sessions\"]\n+ \"Growing your lab\": [\n+ [46, \"growing-your-lab\"]\n ],\n \"Assumptions\": [\n- [47, \"assumptions\"],\n- [46, \"assumptions\"]\n+ [46, \"assumptions\"],\n+ [47, \"assumptions\"]\n+ ],\n+ \"Requirements\": [\n+ [46, \"requirements\"],\n+ [38, \"requirements\"],\n+ [12, \"requirements\"],\n+ [97, \"requirements\"]\n+ ],\n+ \"Logical layouts\": [\n+ [46, \"logical-layouts\"]\n+ ],\n+ \"Single master, single worker\": [\n+ [46, \"single-master-single-worker\"]\n+ ],\n+ \"Single master, multiple workers\": [\n+ [46, \"single-master-multiple-workers\"]\n+ ],\n+ \"Multiple masters, multiple workers\": [\n+ [46, \"multiple-masters-multiple-workers\"]\n+ ],\n+ \"Micro-instances\": [\n+ [46, \"micro-instances\"]\n+ ],\n+ \"Which layout is best?\": [\n+ [46, \"which-layout-is-best\"]\n+ ],\n+ \"Layout Recommendations\": [\n+ [46, \"layout-recommendations\"]\n+ ],\n+ \"Physical layouts\": [\n+ [46, \"physical-layouts\"]\n+ ],\n+ \"Resources\": [\n+ [46, \"resources\"]\n+ ],\n+ \"How many devices is too many for one worker?\": [\n+ [46, \"how-many-devices-is-too-many-for-one-worker\"]\n+ ],\n+ \"Workers in different locations\": [\n+ [46, \"workers-in-different-locations\"]\n+ ],\n+ \"Remote Infrastructure\": [\n+ [46, \"remote-infrastructure\"]\n+ ],\n+ \"Differences between bootloader types\": [\n+ [46, \"differences-between-bootloader-types\"]\n+ ],\n+ \"Maintenance windows across remote locations\": [\n+ [46, \"maintenance-windows-across-remote-locations\"]\n+ ],\n+ \"Networking to remote locations\": [\n+ [46, \"networking-to-remote-locations\"]\n+ ],\n+ \"Encryption and authentication\": [\n+ [46, \"encryption-and-authentication\"]\n+ ],\n+ \"Firewalls\": [\n+ [46, \"firewalls\"]\n+ ],\n+ \"Using a frontend with remote labs\": [\n+ [46, \"using-a-frontend-with-remote-labs\"]\n+ ],\n+ \"LAVA Hacking Sessions\": [\n+ [47, \"lava-hacking-sessions\"]\n ],\n \"Limitations\": [\n [47, \"limitations\"],\n+ [105, \"limitations\"],\n [96, \"limitations\"],\n- [96, \"id2\"],\n- [105, \"limitations\"]\n+ [96, \"id2\"]\n ],\n \"Definitions\": [\n [47, \"definitions\"],\n [5, \"definitions\"],\n [105, \"definitions\"]\n ],\n \"Parameters\": [\n@@ -7086,35 +6892,14 @@\n ],\n \"Sharing a single device\": [\n [47, \"sharing-a-single-device\"]\n ],\n \"Separating users using virtual machines\": [\n [47, \"separating-users-using-virtual-machines\"]\n ],\n- \"Dispatcher Action Reference\": [\n- [32, \"dispatcher-action-reference\"]\n- ],\n- \"Deploy Actions\": [\n- [32, \"deploy-actions\"]\n- ],\n- \"Boot Actions\": [\n- [32, \"boot-actions\"]\n- ],\n- \"Test Actions\": [\n- [32, \"test-actions\"]\n- ],\n- \"Other test job elements\": [\n- [32, \"other-test-job-elements\"]\n- ],\n- \"reboot_to_fastboot\": [\n- [32, \"reboot-to-fastboot\"]\n- ],\n- \"Further Examples\": [\n- [32, \"further-examples\"]\n- ],\n \"Administering LAVA using Docker\": [\n [36, \"administering-lava-using-docker\"]\n ],\n \"Prerequisites\": [\n [36, \"prerequisites\"]\n ],\n \"Docker Networking\": [\n@@ -7168,70 +6953,173 @@\n ],\n \"Running lava-server & lava-dispatcher together\": [\n [36, \"running-lava-server-lava-dispatcher-together\"]\n ],\n \"Separate services in separate Docker containers\": [\n [36, \"separate-services-in-separate-docker-containers\"]\n ],\n- \"Growing your lab\": [\n- [46, \"growing-your-lab\"]\n+ \"Explaining the first job in detail\": [\n+ [37, \"explaining-the-first-job-in-detail\"]\n ],\n- \"Logical layouts\": [\n- [46, \"logical-layouts\"]\n+ \"Top level elements of a test job\": [\n+ [37, \"top-level-elements-of-a-test-job\"]\n ],\n- \"Single master, single worker\": [\n- [46, \"single-master-single-worker\"]\n+ \"Actions within the test job\": [\n+ [37, \"actions-within-the-test-job\"]\n ],\n- \"Single master, multiple workers\": [\n- [46, \"single-master-multiple-workers\"]\n+ \"Deploy action for QEMU\": [\n+ [37, \"deploy-action-for-qemu\"]\n ],\n- \"Multiple masters, multiple workers\": [\n- [46, \"multiple-masters-multiple-workers\"]\n+ \"Example of deploy label substitution\": [\n+ [37, \"example-of-deploy-label-substitution\"]\n ],\n- \"Micro-instances\": [\n- [46, \"micro-instances\"]\n+ \"Boot action for QEMU\": [\n+ [37, \"boot-action-for-qemu\"]\n ],\n- \"Which layout is best?\": [\n- [46, \"which-layout-is-best\"]\n+ \"Test action for QEMU\": [\n+ [37, \"test-action-for-qemu\"]\n ],\n- \"Layout Recommendations\": [\n- [46, \"layout-recommendations\"]\n+ \"Dispatcher Action Reference\": [\n+ [32, \"dispatcher-action-reference\"]\n ],\n- \"Physical layouts\": [\n- [46, \"physical-layouts\"]\n+ \"Deploy Actions\": [\n+ [32, \"deploy-actions\"]\n ],\n- \"Resources\": [\n- [46, \"resources\"]\n+ \"Boot Actions\": [\n+ [32, \"boot-actions\"]\n ],\n- \"How many devices is too many for one worker?\": [\n- [46, \"how-many-devices-is-too-many-for-one-worker\"]\n+ \"Test Actions\": [\n+ [32, \"test-actions\"]\n ],\n- \"Workers in different locations\": [\n- [46, \"workers-in-different-locations\"]\n+ \"Other test job elements\": [\n+ [32, \"other-test-job-elements\"]\n ],\n- \"Remote Infrastructure\": [\n- [46, \"remote-infrastructure\"]\n+ \"reboot_to_fastboot\": [\n+ [32, \"reboot-to-fastboot\"]\n ],\n- \"Differences between bootloader types\": [\n- [46, \"differences-between-bootloader-types\"]\n+ \"Further Examples\": [\n+ [32, \"further-examples\"]\n ],\n- \"Maintenance windows across remote locations\": [\n- [46, \"maintenance-windows-across-remote-locations\"]\n+ \"First steps as a user\": [\n+ [41, \"first-steps-as-a-user\"]\n ],\n- \"Networking to remote locations\": [\n- [46, \"networking-to-remote-locations\"]\n+ \"Logging In\": [\n+ [41, \"logging-in\"]\n ],\n- \"Encryption and authentication\": [\n- [46, \"encryption-and-authentication\"]\n+ \"Local User Account\": [\n+ [41, \"local-user-account\"]\n ],\n- \"Firewalls\": [\n- [46, \"firewalls\"]\n+ \"Linaro lab users\": [\n+ [41, \"linaro-lab-users\"]\n ],\n- \"Using a frontend with remote labs\": [\n- [46, \"using-a-frontend-with-remote-labs\"]\n+ \"Authentication Tokens\": [\n+ [41, \"authentication-tokens\"]\n+ ],\n+ \"Functional testing of LAVA source code\": [\n+ [42, \"functional-testing-of-lava-source-code\"]\n+ ],\n+ \"Background\": [\n+ [42, \"background\"],\n+ [16, \"background\"]\n+ ],\n+ \"meta-lava\": [\n+ [42, \"meta-lava\"]\n+ ],\n+ \"Future plans\": [\n+ [42, \"future-plans\"]\n+ ],\n+ \"Purpose of functional tests\": [\n+ [42, \"purpose-of-functional-tests\"]\n+ ],\n+ \"Requirements for a functional test job\": [\n+ [42, \"requirements-for-a-functional-test-job\"]\n+ ],\n+ \"Using the functional test frontend\": [\n+ [42, \"using-the-functional-test-frontend\"]\n+ ],\n+ \"Dedicated workers\": [\n+ [42, \"dedicated-workers\"]\n+ ],\n+ \"Writing YAML job submission files\": [\n+ [34, \"writing-yaml-job-submission-files\"]\n+ ],\n+ \"Basics of the YAML format\": [\n+ [34, \"basics-of-the-yaml-format\"]\n+ ],\n+ \"Basic structure for job submission\": [\n+ [34, \"basic-structure-for-job-submission\"]\n+ ],\n+ \"Sample JOB definition for a KVM\": [\n+ [34, \"sample-job-definition-for-a-kvm\"]\n+ ],\n+ \"Basic structure for device_type configuration\": [\n+ [34, \"basic-structure-for-device-type-configuration\"]\n+ ],\n+ \"Basic structure for device configuration\": [\n+ [34, \"basic-structure-for-device-configuration\"]\n+ ],\n+ \"Overriding values in device type, device dictionary and the job context\": [\n+ [34, \"overriding-values-in-device-type-device-dictionary-and-the-job-context\"]\n+ ],\n+ \"Example One\": [\n+ [34, \"example-one\"],\n+ [30, \"example-one\"]\n+ ],\n+ \"Example Two\": [\n+ [34, \"example-two\"],\n+ [30, \"example-two\"]\n+ ],\n+ \"Example Three\": [\n+ [34, \"example-three\"]\n+ ],\n+ \"Provide environment variables for the device in the job description\": [\n+ [34, \"provide-environment-variables-for-the-device-in-the-job-description\"]\n+ ],\n+ \"Pipeline Device Configuration\": [\n+ [34, \"pipeline-device-configuration\"]\n+ ],\n+ \"Viewing the Device Dictionary\": [\n+ [34, \"viewing-the-device-dictionary\"]\n+ ],\n+ \"On scheduler device detail page\": [\n+ [34, \"on-scheduler-device-detail-page\"]\n+ ],\n+ \"On Job Description Tab\": [\n+ [34, \"on-job-description-tab\"]\n+ ],\n+ \"As Admin\": [\n+ [34, \"as-admin\"]\n+ ],\n+ \"Dispatcher actions\": [\n+ [34, \"dispatcher-actions\"]\n+ ],\n+ \"Mapping deployment actions to the python code\": [\n+ [34, \"mapping-deployment-actions-to-the-python-code\"]\n+ ],\n+ \"Deployment actions\": [\n+ [34, \"deployment-actions\"]\n+ ],\n+ \"Supported methods\": [\n+ [34, \"supported-methods\"],\n+ [34, \"id1\"]\n+ ],\n+ \"Boot actions\": [\n+ [34, \"boot-actions\"]\n+ ],\n+ \"Test actions\": [\n+ [34, \"test-actions\"]\n+ ],\n+ \"Metadata\": [\n+ [34, \"metadata\"],\n+ [92, \"metadata\"],\n+ [111, \"metadata\"],\n+ [101, \"metadata\"]\n+ ],\n+ \"Submit actions\": [\n+ [34, \"submit-actions\"]\n ],\n \"Testing the design\": [\n [35, \"testing-the-design\"]\n ],\n \"Jinja2 templates\": [\n [35, \"jinja2-templates\"]\n ],\n@@ -7306,61 +7194,385 @@\n ],\n \"Use memory analysis tools\": [\n [35, \"use-memory-analysis-tools\"]\n ],\n \"Pre-boot deployment manipulation\": [\n [35, \"pre-boot-deployment-manipulation\"]\n ],\n- \"LAVA Software Project Contribution - Introduction\": [\n- [19, \"lava-software-project-contribution-introduction\"]\n+ \"Adding your first devices\": [\n+ [38, \"adding-your-first-devices\"]\n ],\n- \"Before you start\": [\n- [19, \"before-you-start\"]\n+ \"Django administration interface\": [\n+ [38, \"django-administration-interface\"]\n ],\n- \"Ways to contribute\": [\n- [19, \"ways-to-contribute\"]\n+ \"Administrative interface site links\": [\n+ [38, \"administrative-interface-site-links\"]\n ],\n- \"Documentation\": [\n- [19, \"documentation\"]\n+ \"Start with a known device type\": [\n+ [38, \"start-with-a-known-device-type\"]\n ],\n- \"Issue Tracker\": [\n- [19, \"issue-tracker\"]\n+ \"QEMU\": [\n+ [38, \"qemu\"]\n ],\n- \"Bug Fixes and New Features\": [\n- [19, \"bug-fixes-and-new-features\"]\n+ \"Create a Device Type\": [\n+ [38, \"create-a-device-type\"]\n ],\n- \"Contributing to the functional testing\": [\n- [19, \"contributing-to-the-functional-testing\"]\n+ \"Create a device in the database\": [\n+ [38, \"create-a-device-in-the-database\"]\n ],\n- \"Mailing lists and IRC\": [\n- [19, \"mailing-lists-and-irc\"]\n+ \"Adding a dictionary to the first QEMU device\": [\n+ [38, \"adding-a-dictionary-to-the-first-qemu-device\"]\n ],\n- \"Custom result handling\": [\n- [20, \"custom-result-handling\"]\n+ \"Adding other devices of known device-types\": [\n+ [38, \"adding-other-devices-of-known-device-types\"]\n ],\n- \"Closing the CI loop\": [\n- [20, \"closing-the-ci-loop\"]\n+ \"Check existing instances\": [\n+ [38, \"check-existing-instances\"]\n ],\n- \"Important features of a CI loop\": [\n- [20, \"important-features-of-a-ci-loop\"]\n+ \"Lava Dispatcher Design\": [\n+ [33, \"lava-dispatcher-design\"]\n ],\n- \"Where LAVA fits into the testing\": [\n- [20, \"where-lava-fits-into-the-testing\"]\n+ \"Pipeline Architecture\": [\n+ [33, \"pipeline-architecture\"]\n ],\n- \"Splitting the testing\": [\n- [20, \"splitting-the-testing\"]\n+ \"Principal changes\": [\n+ [33, \"principal-changes\"]\n ],\n- \"Questions to ask\": [\n- [20, \"questions-to-ask\"]\n+ \"Objectives\": [\n+ [33, \"objectives\"]\n ],\n- \"KernelCI.org\": [\n- [20, \"kernelci-org\"]\n+ \"Design\": [\n+ [33, \"design\"]\n ],\n- \"SQUAD\": [\n- [20, \"squad\"]\n+ \"Following the code flow\": [\n+ [33, \"following-the-code-flow\"]\n+ ],\n+ \"Pipeline construction and flow\": [\n+ [33, \"pipeline-construction-and-flow\"]\n+ ],\n+ \"Using strategy classes\": [\n+ [33, \"using-strategy-classes\"]\n+ ],\n+ \"Lava test shell scripts\": [\n+ [33, \"lava-test-shell-scripts\"]\n+ ],\n+ \"Pipeline error handling\": [\n+ [33, \"pipeline-error-handling\"]\n+ ],\n+ \"RuntimeError Exception\": [\n+ [33, \"runtimeerror-exception\"]\n+ ],\n+ \"InfrastructureError Exception\": [\n+ [33, \"infrastructureerror-exception\"]\n+ ],\n+ \"JobError Exception\": [\n+ [33, \"joberror-exception\"]\n+ ],\n+ \"TestError Exception\": [\n+ [33, \"testerror-exception\"]\n+ ],\n+ \"Result bundle identifiers\": [\n+ [33, \"result-bundle-identifiers\"]\n+ ],\n+ \"Secondary media\": [\n+ [33, \"secondary-media\"],\n+ [96, \"secondary-media\"]\n+ ],\n+ \"Device configuration design\": [\n+ [33, \"device-configuration-design\"]\n+ ],\n+ \"Device Dictionary\": [\n+ [33, \"device-dictionary\"]\n+ ],\n+ \"Exporting an existing device dictionary\": [\n+ [33, \"exporting-an-existing-device-dictionary\"]\n+ ],\n+ \"Reviewing an existing device dictionary\": [\n+ [33, \"reviewing-an-existing-device-dictionary\"]\n+ ],\n+ \"Example device configuration review\": [\n+ [33, \"example-device-configuration-review\"]\n+ ],\n+ \"Importing configuration using a known template\": [\n+ [33, \"importing-configuration-using-a-known-template\"]\n+ ],\n+ \"Creating a new template\": [\n+ [33, \"creating-a-new-template\"]\n+ ],\n+ \"Running lava-run directly\": [\n+ [33, \"running-lava-run-directly\"]\n+ ],\n+ \"Providing gold standard images\": [\n+ [45, \"providing-gold-standard-images\"]\n+ ],\n+ \"Creating a gold standard image\": [\n+ [45, \"creating-a-gold-standard-image\"]\n+ ],\n+ \"Other gold standard components\": [\n+ [45, \"other-gold-standard-components\"]\n+ ],\n+ \"Developing LAVA on Debian\": [\n+ [22, \"developing-lava-on-debian\"]\n+ ],\n+ \"Why Debian?\": [\n+ [22, \"why-debian\"]\n+ ],\n+ \"Options for other distributions\": [\n+ [22, \"options-for-other-distributions\"]\n+ ],\n+ \"Preparing for LAVA development\": [\n+ [22, \"preparing-for-lava-development\"]\n+ ],\n+ \"Developer package build\": [\n+ [22, \"developer-package-build\"]\n+ ],\n+ \"Changes from 2018.10 onwards\": [\n+ [22, \"changes-from-2018-10-onwards\"]\n+ ],\n+ \"Which branch to use for changes\": [\n+ [22, \"which-branch-to-use-for-changes\"]\n+ ],\n+ \"Local version strings\": [\n+ [22, \"local-version-strings\"]\n+ ],\n+ \"Distribution differences\": [\n+ [22, \"distribution-differences\"]\n+ ],\n+ \"Example\": [\n+ [22, \"example\"],\n+ [0, \"example\"]\n+ ],\n+ \"Developer build versions\": [\n+ [22, \"developer-build-versions\"]\n+ ],\n+ \"Development using Python3\": [\n+ [22, \"development-using-python3\"]\n+ ],\n+ \"Quick fixes and testing\": [\n+ [22, \"quick-fixes-and-testing\"]\n+ ],\n+ \"Viewing changes\": [\n+ [22, \"viewing-changes\"]\n+ ],\n+ \"Migrating postgresql versions\": [\n+ [22, \"migrating-postgresql-versions\"]\n+ ],\n+ \"Determining the active cluster\": [\n+ [22, \"determining-the-active-cluster\"]\n+ ],\n+ \"Performing the migration\": [\n+ [22, \"performing-the-migration\"]\n+ ],\n+ \"Dependency Requirements\": [\n+ [22, \"dependency-requirements\"]\n+ ],\n+ \"Outputting the requirements.txt format\": [\n+ [22, \"outputting-the-requirements-txt-format\"]\n+ ],\n+ \"Outputting a list of binary package names\": [\n+ [22, \"outputting-a-list-of-binary-package-names\"]\n+ ],\n+ \"Adding packages needed for the unittests\": [\n+ [22, \"adding-packages-needed-for-the-unittests\"]\n+ ],\n+ \"Javascript handling\": [\n+ [22, \"javascript-handling\"]\n+ ],\n+ \"Javascript and security\": [\n+ [22, \"javascript-and-security\"]\n+ ],\n+ \"Javascript maintenance\": [\n+ [22, \"javascript-maintenance\"]\n+ ],\n+ \"Packaging changes\": [\n+ [22, \"packaging-changes\"]\n+ ],\n+ \"Building for other architectures\": [\n+ [22, \"building-for-other-architectures\"]\n+ ],\n+ \"Debugging Django issues\": [\n+ [22, \"debugging-django-issues\"]\n+ ],\n+ \"Installing\": [\n+ [22, \"installing\"]\n+ ],\n+ \"Performance overhead\": [\n+ [22, \"performance-overhead\"]\n+ ],\n+ \"Developing new classes for LAVA V2\": [\n+ [25, \"developing-new-classes-for-lava-v2\"]\n+ ],\n+ \"Test with simple scripts\": [\n+ [25, \"test-with-simple-scripts\"]\n+ ],\n+ \"Start with new classes\": [\n+ [25, \"start-with-new-classes\"]\n+ ],\n+ \"Add support files for unit tests\": [\n+ [25, \"add-support-files-for-unit-tests\"]\n+ ],\n+ \"Add unit tests\": [\n+ [25, \"add-unit-tests\"]\n+ ],\n+ \"Run all the unit tests\": [\n+ [25, \"run-all-the-unit-tests\"]\n+ ],\n+ \"Incorporate the test script into the classes\": [\n+ [25, \"incorporate-the-test-script-into-the-classes\"]\n+ ],\n+ \"Check the new classes\": [\n+ [25, \"check-the-new-classes\"]\n+ ],\n+ \"Startup achieved\": [\n+ [25, \"startup-achieved\"]\n+ ],\n+ \"Debugging LAVA test failures\": [\n+ [23, \"debugging-lava-test-failures\"]\n+ ],\n+ \"Read the logs\": [\n+ [23, \"index-1\"]\n+ ],\n+ \"Read the failure comment\": [\n+ [23, \"read-the-failure-comment\"]\n+ ],\n+ \"Boot failure\": [\n+ [23, \"index-2\"]\n+ ],\n+ \"Failure to find/mount the rootfs\": [\n+ [23, \"failure-to-find-mount-the-rootfs\"]\n+ ],\n+ \"Start simple\": [\n+ [23, \"start-simple\"]\n+ ],\n+ \"Change one thing at a time\": [\n+ [23, \"change-one-thing-at-a-time\"]\n+ ],\n+ \"Make your tests and setup verbose\": [\n+ [23, \"make-your-tests-and-setup-verbose\"]\n+ ],\n+ \"Provide debug data in all test jobs\": [\n+ [23, \"provide-debug-data-in-all-test-jobs\"]\n+ ],\n+ \"Common pitfalls\": [\n+ [23, \"common-pitfalls\"]\n+ ],\n+ \"Handling locally built files\": [\n+ [23, \"handling-locally-built-files\"]\n+ ],\n+ \"Avoid using shell operators in YAML lines\": [\n+ [23, \"avoid-using-shell-operators-in-yaml-lines\"]\n+ ],\n+ \"Test your result parsers\": [\n+ [23, \"test-your-result-parsers\"]\n+ ],\n+ \"Be obsessive about paths and scripts\": [\n+ [23, \"be-obsessive-about-paths-and-scripts\"]\n+ ],\n+ \"Debugging automation failures\": [\n+ [23, \"debugging-automation-failures\"]\n+ ],\n+ \"Infrastructure effects\": [\n+ [23, \"infrastructure-effects\"]\n+ ],\n+ \"Hidden assumptions in the manual operations\": [\n+ [23, \"hidden-assumptions-in-the-manual-operations\"]\n+ ],\n+ \"Differences in input speeds\": [\n+ [23, \"differences-in-input-speeds\"]\n+ ],\n+ \"Setting boot_character_delay\": [\n+ [23, \"setting-boot-character-delay\"]\n+ ],\n+ \"Setting test_character_delay\": [\n+ [23, \"setting-test-character-delay\"]\n+ ],\n+ \"Debugging MultiNode tests\": [\n+ [23, \"debugging-multinode-tests\"]\n+ ],\n+ \"Simplify your MultiNode test\": [\n+ [23, \"simplify-your-multinode-test\"]\n+ ],\n+ \"Check that your message ID labels are consistent\": [\n+ [23, \"check-that-your-message-id-labels-are-consistent\"]\n+ ],\n+ \"A failed test is not necessarily a bug in the test\": [\n+ [23, \"a-failed-test-is-not-necessarily-a-bug-in-the-test\"]\n+ ],\n+ \"Permanency\": [\n+ [31, \"permanency\"]\n+ ],\n+ \"Device sub-types\": [\n+ [31, \"device-sub-types\"]\n+ ],\n+ \"Choosing a name for a device type\": [\n+ [31, \"choosing-a-name-for-a-device-type\"]\n+ ],\n+ \"Matching the template\": [\n+ [31, \"matching-the-template\"]\n+ ],\n+ \"Example device types\": [\n+ [31, \"example-device-types\"]\n+ ],\n+ \"Database elements for a device type\": [\n+ [31, \"database-elements-for-a-device-type\"]\n+ ],\n+ \"Descriptive fields\": [\n+ [31, \"descriptive-fields\"]\n+ ],\n+ \"LAVA Software Community Project Contribution Guide\": [\n+ [18, \"lava-software-community-project-contribution-guide\"],\n+ [17, \"lava-software-community-project-contribution-guide\"]\n+ ],\n+ \"About the Contribution Guidelines\": [\n+ [18, \"about-the-contribution-guidelines\"]\n+ ],\n+ \"Conflicting priorities\": [\n+ [18, \"conflicting-priorities\"]\n+ ],\n+ \"Pre-requisites to start with development\": [\n+ [18, \"pre-requisites-to-start-with-development\"]\n+ ],\n+ \"Other elements involved in LAVA development\": [\n+ [18, \"other-elements-involved-in-lava-development\"]\n+ ],\n+ \"Updating online documentation\": [\n+ [18, \"updating-online-documentation\"]\n+ ],\n+ \"The LAVA contribution process\": [\n+ [18, \"the-lava-contribution-process\"]\n+ ],\n+ \"Creating a GitLab Account\": [\n+ [18, \"creating-a-gitlab-account\"]\n+ ],\n+ \"Request GitLab Fork Permissions\": [\n+ [18, \"request-gitlab-fork-permissions\"]\n+ ],\n+ \"Fork the code\": [\n+ [18, \"fork-the-code\"]\n+ ],\n+ \"Access to the CI runners\": [\n+ [18, \"access-to-the-ci-runners\"]\n+ ],\n+ \"Create a development branch\": [\n+ [18, \"create-a-development-branch\"]\n+ ],\n+ \"Make, test and commit your changes\": [\n+ [18, \"make-test-and-commit-your-changes\"]\n+ ],\n+ \"Push your changes to your development branch\": [\n+ [18, \"push-your-changes-to-your-development-branch\"]\n+ ],\n+ \"Submit a Merge Request (MR)\": [\n+ [18, \"submit-a-merge-request-mr\"]\n+ ],\n+ \"MRs are reviewed (and rebased and reworked as needed)\": [\n+ [18, \"mrs-are-reviewed-and-rebased-and-reworked-as-needed\"]\n+ ],\n+ \"How changes get merged\": [\n+ [18, \"how-changes-get-merged\"]\n ],\n \"Adding new device types\": [\n [30, \"adding-new-device-types\"]\n ],\n \"Device Requirements\": [\n [30, \"device-requirements\"]\n ],\n@@ -7398,14 +7610,38 @@\n ],\n \"Extend from an existing device type template\": [\n [30, \"extend-from-an-existing-device-type-template\"]\n ],\n \"Extend the template unit tests\": [\n [30, \"extend-the-template-unit-tests\"]\n ],\n+ \"LAVA Software Project Contribution - Introduction\": [\n+ [19, \"lava-software-project-contribution-introduction\"]\n+ ],\n+ \"Before you start\": [\n+ [19, \"before-you-start\"]\n+ ],\n+ \"Ways to contribute\": [\n+ [19, \"ways-to-contribute\"]\n+ ],\n+ \"Documentation\": [\n+ [19, \"documentation\"]\n+ ],\n+ \"Issue Tracker\": [\n+ [19, \"issue-tracker\"]\n+ ],\n+ \"Bug Fixes and New Features\": [\n+ [19, \"bug-fixes-and-new-features\"]\n+ ],\n+ \"Contributing to the functional testing\": [\n+ [19, \"contributing-to-the-functional-testing\"]\n+ ],\n+ \"Mailing lists and IRC\": [\n+ [19, \"mailing-lists-and-irc\"]\n+ ],\n \"Exporting data out of LAVA\": [\n [21, \"exporting-data-out-of-lava\"]\n ],\n \"REST API\": [\n [21, \"rest-api\"]\n ],\n \"v0.2\": [\n@@ -7506,90 +7742,73 @@\n ],\n \"Write your own event notification client\": [\n [21, \"write-your-own-event-notification-client\"]\n ],\n \"Submit a job and wait on notifications\": [\n [21, \"submit-a-job-and-wait-on-notifications\"]\n ],\n- \"First steps using LAVA\": [\n- [17, \"first-steps-using-lava\"]\n- ],\n- \"CI with LAVA\": [\n- [17, \"ci-with-lava\"]\n- ],\n- \"Writing tests for LAVA\": [\n- [17, \"writing-tests-for-lava\"]\n- ],\n- \"Results in LAVA\": [\n- [17, \"results-in-lava\"],\n- [93, \"results-in-lava\"]\n- ],\n- \"LAVA administration guide\": [\n- [17, \"lava-administration-guide\"]\n- ],\n- \"LAVA Software Community Project Contribution Guide\": [\n- [17, \"lava-software-community-project-contribution-guide\"],\n- [18, \"lava-software-community-project-contribution-guide\"]\n+ \"Writing Tests\": [\n+ [26, \"writing-tests\"]\n ],\n- \"LAVA device integration guide\": [\n- [17, \"lava-device-integration-guide\"]\n+ \"Introduction to the LAVA Test Developer Guide\": [\n+ [26, \"introduction-to-the-lava-test-developer-guide\"]\n ],\n- \"Migrating to V2\": [\n- [17, \"migrating-to-v2\"]\n+ \"Guide Contents\": [\n+ [26, \"guide-contents\"]\n ],\n- \"Context help\": [\n- [17, \"context-help\"]\n+ \"Assumptions at the start of this guide\": [\n+ [26, \"assumptions-at-the-start-of-this-guide\"]\n ],\n- \"Developing new classes for LAVA V2\": [\n- [25, \"developing-new-classes-for-lava-v2\"]\n+ \"Checking device availability\": [\n+ [26, \"checking-device-availability\"]\n ],\n- \"Test with simple scripts\": [\n- [25, \"test-with-simple-scripts\"]\n+ \"Finding an image to run on the device\": [\n+ [26, \"finding-an-image-to-run-on-the-device\"]\n ],\n- \"Start with new classes\": [\n- [25, \"start-with-new-classes\"]\n+ \"Actions to be run for a LAVA test\": [\n+ [26, \"actions-to-be-run-for-a-lava-test\"]\n ],\n- \"Add support files for unit tests\": [\n- [25, \"add-support-files-for-unit-tests\"]\n+ \"Example of Lava Test\": [\n+ [26, \"example-of-lava-test\"]\n ],\n- \"Add unit tests\": [\n- [25, \"add-unit-tests\"]\n+ \"Deploying a pre-built QEMU image\": [\n+ [26, \"deploying-a-pre-built-qemu-image\"]\n ],\n- \"Run all the unit tests\": [\n- [25, \"run-all-the-unit-tests\"]\n+ \"Using device tags\": [\n+ [26, \"using-device-tags\"]\n ],\n- \"Incorporate the test script into the classes\": [\n- [25, \"incorporate-the-test-script-into-the-classes\"]\n+ \"Using checksums\": [\n+ [26, \"using-checksums\"]\n ],\n- \"Check the new classes\": [\n- [25, \"check-the-new-classes\"]\n+ \"Using Lava-Test Test Definition 1.0\": [\n+ [26, \"using-lava-test-test-definition-1-0\"]\n ],\n- \"Startup achieved\": [\n- [25, \"startup-achieved\"]\n+ \"Custom result handling\": [\n+ [20, \"custom-result-handling\"]\n ],\n- \"Permanency\": [\n- [31, \"permanency\"]\n+ \"Closing the CI loop\": [\n+ [20, \"closing-the-ci-loop\"]\n ],\n- \"Device sub-types\": [\n- [31, \"device-sub-types\"]\n+ \"Important features of a CI loop\": [\n+ [20, \"important-features-of-a-ci-loop\"]\n ],\n- \"Choosing a name for a device type\": [\n- [31, \"choosing-a-name-for-a-device-type\"]\n+ \"Where LAVA fits into the testing\": [\n+ [20, \"where-lava-fits-into-the-testing\"]\n ],\n- \"Matching the template\": [\n- [31, \"matching-the-template\"]\n+ \"Splitting the testing\": [\n+ [20, \"splitting-the-testing\"]\n ],\n- \"Example device types\": [\n- [31, \"example-device-types\"]\n+ \"Questions to ask\": [\n+ [20, \"questions-to-ask\"]\n ],\n- \"Database elements for a device type\": [\n- [31, \"database-elements-for-a-device-type\"]\n+ \"KernelCI.org\": [\n+ [20, \"kernelci-org\"]\n ],\n- \"Descriptive fields\": [\n- [31, \"descriptive-fields\"]\n+ \"SQUAD\": [\n+ [20, \"squad\"]\n ],\n \"Deploying test images using LXC\": [\n [24, \"deploying-test-images-using-lxc\"]\n ],\n \"Using LXC as Device Type\": [\n [24, \"using-lxc-as-device-type\"]\n ],\n@@ -7616,14 +7835,20 @@\n ],\n \"Feedback from the device\": [\n [24, \"feedback-from-the-device\"]\n ],\n \"Differences between LXC releases\": [\n [24, \"differences-between-lxc-releases\"]\n ],\n+ \"Device Capabilities Support\": [\n+ [29, \"device-capabilities-support\"]\n+ ],\n+ \"Device owner abilities\": [\n+ [29, \"device-owner-abilities\"]\n+ ],\n \"LAVA development\": [\n [27, \"lava-development\"]\n ],\n \"Run the unit tests\": [\n [27, \"run-the-unit-tests\"]\n ],\n \"Functional testing\": [\n@@ -7695,102 +7920,14 @@\n ],\n \"LAVA database model visualization\": [\n [27, \"lava-database-model-visualization\"]\n ],\n \"Developer access to django shell\": [\n [27, \"developer-access-to-django-shell\"]\n ],\n- \"Developing LAVA on Debian\": [\n- [22, \"developing-lava-on-debian\"]\n- ],\n- \"Why Debian?\": [\n- [22, \"why-debian\"]\n- ],\n- \"Options for other distributions\": [\n- [22, \"options-for-other-distributions\"]\n- ],\n- \"Preparing for LAVA development\": [\n- [22, \"preparing-for-lava-development\"]\n- ],\n- \"Developer package build\": [\n- [22, \"developer-package-build\"]\n- ],\n- \"Changes from 2018.10 onwards\": [\n- [22, \"changes-from-2018-10-onwards\"]\n- ],\n- \"Which branch to use for changes\": [\n- [22, \"which-branch-to-use-for-changes\"]\n- ],\n- \"Local version strings\": [\n- [22, \"local-version-strings\"]\n- ],\n- \"Distribution differences\": [\n- [22, \"distribution-differences\"]\n- ],\n- \"Example\": [\n- [22, \"example\"],\n- [0, \"example\"]\n- ],\n- \"Developer build versions\": [\n- [22, \"developer-build-versions\"]\n- ],\n- \"Development using Python3\": [\n- [22, \"development-using-python3\"]\n- ],\n- \"Quick fixes and testing\": [\n- [22, \"quick-fixes-and-testing\"]\n- ],\n- \"Viewing changes\": [\n- [22, \"viewing-changes\"]\n- ],\n- \"Migrating postgresql versions\": [\n- [22, \"migrating-postgresql-versions\"]\n- ],\n- \"Determining the active cluster\": [\n- [22, \"determining-the-active-cluster\"]\n- ],\n- \"Performing the migration\": [\n- [22, \"performing-the-migration\"]\n- ],\n- \"Dependency Requirements\": [\n- [22, \"dependency-requirements\"]\n- ],\n- \"Outputting the requirements.txt format\": [\n- [22, \"outputting-the-requirements-txt-format\"]\n- ],\n- \"Outputting a list of binary package names\": [\n- [22, \"outputting-a-list-of-binary-package-names\"]\n- ],\n- \"Adding packages needed for the unittests\": [\n- [22, \"adding-packages-needed-for-the-unittests\"]\n- ],\n- \"Javascript handling\": [\n- [22, \"javascript-handling\"]\n- ],\n- \"Javascript and security\": [\n- [22, \"javascript-and-security\"]\n- ],\n- \"Javascript maintenance\": [\n- [22, \"javascript-maintenance\"]\n- ],\n- \"Packaging changes\": [\n- [22, \"packaging-changes\"]\n- ],\n- \"Building for other architectures\": [\n- [22, \"building-for-other-architectures\"]\n- ],\n- \"Debugging Django issues\": [\n- [22, \"debugging-django-issues\"]\n- ],\n- \"Installing\": [\n- [22, \"installing\"]\n- ],\n- \"Performance overhead\": [\n- [22, \"performance-overhead\"]\n- ],\n \"Guide to development within LAVA\": [\n [28, \"guide-to-development-within-lava\"]\n ],\n \"Dependencies required to run unit tests\": [\n [28, \"dependencies-required-to-run-unit-tests\"]\n ],\n \"Developing using device-type templates\": [\n@@ -7840,122 +7977,14 @@\n ],\n \"Contributing via your distribution\": [\n [28, \"contributing-via-your-distribution\"]\n ],\n \"Contributing via GitHub\": [\n [28, \"contributing-via-github\"]\n ],\n- \"Writing Tests\": [\n- [26, \"writing-tests\"]\n- ],\n- \"Introduction to the LAVA Test Developer Guide\": [\n- [26, \"introduction-to-the-lava-test-developer-guide\"]\n- ],\n- \"Guide Contents\": [\n- [26, \"guide-contents\"]\n- ],\n- \"Assumptions at the start of this guide\": [\n- [26, \"assumptions-at-the-start-of-this-guide\"]\n- ],\n- \"Checking device availability\": [\n- [26, \"checking-device-availability\"]\n- ],\n- \"Finding an image to run on the device\": [\n- [26, \"finding-an-image-to-run-on-the-device\"]\n- ],\n- \"Actions to be run for a LAVA test\": [\n- [26, \"actions-to-be-run-for-a-lava-test\"]\n- ],\n- \"Example of Lava Test\": [\n- [26, \"example-of-lava-test\"]\n- ],\n- \"Deploying a pre-built QEMU image\": [\n- [26, \"deploying-a-pre-built-qemu-image\"]\n- ],\n- \"Using device tags\": [\n- [26, \"using-device-tags\"]\n- ],\n- \"Using checksums\": [\n- [26, \"using-checksums\"]\n- ],\n- \"Using Lava-Test Test Definition 1.0\": [\n- [26, \"using-lava-test-test-definition-1-0\"]\n- ],\n- \"Debugging LAVA test failures\": [\n- [23, \"debugging-lava-test-failures\"]\n- ],\n- \"Read the logs\": [\n- [23, \"index-1\"]\n- ],\n- \"Read the failure comment\": [\n- [23, \"read-the-failure-comment\"]\n- ],\n- \"Boot failure\": [\n- [23, \"index-2\"]\n- ],\n- \"Failure to find/mount the rootfs\": [\n- [23, \"failure-to-find-mount-the-rootfs\"]\n- ],\n- \"Start simple\": [\n- [23, \"start-simple\"]\n- ],\n- \"Change one thing at a time\": [\n- [23, \"change-one-thing-at-a-time\"]\n- ],\n- \"Make your tests and setup verbose\": [\n- [23, \"make-your-tests-and-setup-verbose\"]\n- ],\n- \"Provide debug data in all test jobs\": [\n- [23, \"provide-debug-data-in-all-test-jobs\"]\n- ],\n- \"Common pitfalls\": [\n- [23, \"common-pitfalls\"]\n- ],\n- \"Handling locally built files\": [\n- [23, \"handling-locally-built-files\"]\n- ],\n- \"Avoid using shell operators in YAML lines\": [\n- [23, \"avoid-using-shell-operators-in-yaml-lines\"]\n- ],\n- \"Test your result parsers\": [\n- [23, \"test-your-result-parsers\"]\n- ],\n- \"Be obsessive about paths and scripts\": [\n- [23, \"be-obsessive-about-paths-and-scripts\"]\n- ],\n- \"Debugging automation failures\": [\n- [23, \"debugging-automation-failures\"]\n- ],\n- \"Infrastructure effects\": [\n- [23, \"infrastructure-effects\"]\n- ],\n- \"Hidden assumptions in the manual operations\": [\n- [23, \"hidden-assumptions-in-the-manual-operations\"]\n- ],\n- \"Differences in input speeds\": [\n- [23, \"differences-in-input-speeds\"]\n- ],\n- \"Setting boot_character_delay\": [\n- [23, \"setting-boot-character-delay\"]\n- ],\n- \"Setting test_character_delay\": [\n- [23, \"setting-test-character-delay\"]\n- ],\n- \"Debugging MultiNode tests\": [\n- [23, \"debugging-multinode-tests\"]\n- ],\n- \"Simplify your MultiNode test\": [\n- [23, \"simplify-your-multinode-test\"]\n- ],\n- \"Check that your message ID labels are consistent\": [\n- [23, \"check-that-your-message-id-labels-are-consistent\"]\n- ],\n- \"A failed test is not necessarily a bug in the test\": [\n- [23, \"a-failed-test-is-not-necessarily-a-bug-in-the-test\"]\n- ],\n \"Connections in device configuration\": [\n [16, \"connections-in-device-configuration\"]\n ],\n \"Connections in test jobs\": [\n [16, \"connections-in-test-jobs\"]\n ],\n \"Connections and namespaces\": [\n@@ -8043,555 +8072,561 @@\n ],\n \"Persistence\": [\n [16, \"persistence\"]\n ],\n \"Disposable chroot deployments\": [\n [16, \"disposable-chroot-deployments\"]\n ],\n- \"Device Capabilities Support\": [\n- [29, \"device-capabilities-support\"]\n- ],\n- \"Device owner abilities\": [\n- [29, \"device-owner-abilities\"]\n- ],\n- \"About the Contribution Guidelines\": [\n- [18, \"about-the-contribution-guidelines\"]\n- ],\n- \"Conflicting priorities\": [\n- [18, \"conflicting-priorities\"]\n- ],\n- \"Pre-requisites to start with development\": [\n- [18, \"pre-requisites-to-start-with-development\"]\n- ],\n- \"Other elements involved in LAVA development\": [\n- [18, \"other-elements-involved-in-lava-development\"]\n- ],\n- \"Updating online documentation\": [\n- [18, \"updating-online-documentation\"]\n- ],\n- \"The LAVA contribution process\": [\n- [18, \"the-lava-contribution-process\"]\n- ],\n- \"Creating a GitLab Account\": [\n- [18, \"creating-a-gitlab-account\"]\n- ],\n- \"Request GitLab Fork Permissions\": [\n- [18, \"request-gitlab-fork-permissions\"]\n- ],\n- \"Fork the code\": [\n- [18, \"fork-the-code\"]\n- ],\n- \"Access to the CI runners\": [\n- [18, \"access-to-the-ci-runners\"]\n- ],\n- \"Create a development branch\": [\n- [18, \"create-a-development-branch\"]\n- ],\n- \"Make, test and commit your changes\": [\n- [18, \"make-test-and-commit-your-changes\"]\n- ],\n- \"Push your changes to your development branch\": [\n- [18, \"push-your-changes-to-your-development-branch\"]\n- ],\n- \"Submit a Merge Request (MR)\": [\n- [18, \"submit-a-merge-request-mr\"]\n- ],\n- \"MRs are reviewed (and rebased and reworked as needed)\": [\n- [18, \"mrs-are-reviewed-and-rebased-and-reworked-as-needed\"]\n- ],\n- \"How changes get merged\": [\n- [18, \"how-changes-get-merged\"]\n- ],\n- \"State machine\": [\n- [95, \"state-machine\"]\n- ],\n- \"Devices\": [\n- [95, \"devices\"]\n- ],\n- \"TestJobs\": [\n- [95, \"testjobs\"]\n- ],\n- \"Scheduler\": [\n- [95, \"scheduler\"]\n- ],\n- \"Health-checks\": [\n- [95, \"health-checks\"]\n- ],\n- \"Test jobs\": [\n- [95, \"test-jobs\"]\n- ],\n- \"Test Writer use cases\": [\n- [85, \"test-writer-use-cases\"]\n- ],\n- \"Writing a LAVA job submission\": [\n- [85, \"writing-a-lava-job-submission\"]\n- ],\n- \"General principles\": [\n- [85, \"general-principles\"]\n- ],\n- \"API\": [\n- [85, \"api\"]\n- ],\n- \"Validity checks\": [\n- [85, \"validity-checks\"]\n- ],\n- \"Results\": [\n- [85, \"results\"]\n- ],\n- \"Job submission data\": [\n- [85, \"job-submission-data\"]\n- ],\n- \"Writing a new TestJob\": [\n- [85, \"writing-a-new-testjob\"]\n- ],\n- \"YAML syntax\": [\n- [85, \"yaml-syntax\"]\n+ \"First steps using LAVA\": [\n+ [17, \"first-steps-using-lava\"]\n ],\n- \"Common YAML errors\": [\n- [85, \"common-yaml-errors\"]\n+ \"CI with LAVA\": [\n+ [17, \"ci-with-lava\"]\n ],\n- \"Understanding available support\": [\n- [85, \"understanding-available-support\"]\n+ \"Writing tests for LAVA\": [\n+ [17, \"writing-tests-for-lava\"]\n ],\n- \"Understanding a TestJob\": [\n- [85, \"understanding-a-testjob\"]\n+ \"Results in LAVA\": [\n+ [17, \"results-in-lava\"],\n+ [93, \"results-in-lava\"]\n ],\n- \"Submissions using advanced features\": [\n- [85, \"submissions-using-advanced-features\"]\n+ \"LAVA administration guide\": [\n+ [17, \"lava-administration-guide\"]\n ],\n- \"Templating\": [\n- [85, \"templating\"]\n+ \"LAVA device integration guide\": [\n+ [17, \"lava-device-integration-guide\"]\n ],\n- \"Including YAML\": [\n- [85, \"including-yaml\"]\n+ \"Migrating to V2\": [\n+ [17, \"migrating-to-v2\"]\n ],\n- \"Introduction to Results in LAVA\": [\n- [93, \"introduction-to-results-in-lava\"]\n+ \"Context help\": [\n+ [17, \"context-help\"]\n ],\n- \"Accessing results\": [\n- [93, \"accessing-results\"]\n+ \"Deploy Action Reference\": [\n+ [2, \"deploy-action-reference\"]\n ],\n- \"Accessing specific test results\": [\n- [93, \"accessing-specific-test-results\"]\n+ \"Deploy action roles\": [\n+ [2, \"deploy-action-roles\"]\n ],\n- \"Test Suite\": [\n- [93, \"test-suite\"]\n+ \"Required parameters\": [\n+ [2, \"required-parameters\"]\n ],\n- \"Test Set\": [\n- [93, \"test-set\"]\n+ \"Overlays\": [\n+ [2, \"overlays\"]\n ],\n- \"Test Case\": [\n- [93, \"test-case\"]\n+ \"Parameter List\": [\n+ [2, \"parameter-list\"]\n ],\n- \"Test Raise\": [\n- [93, \"test-raise\"]\n+ \"to: docker\": [\n+ [2, \"to-docker\"]\n ],\n- \"Accessing the test job logs from results\": [\n- [93, \"accessing-the-test-job-logs-from-results\"]\n+ \"os\": [\n+ [2, \"os\"]\n ],\n- \"Multiple occurrences\": [\n- [93, \"multiple-occurrences\"]\n+ \"image\": [\n+ [2, \"image\"]\n ],\n- \"Accessing associated sections of test job logs\": [\n- [93, \"accessing-associated-sections-of-test-job-logs\"]\n+ \"name\": [\n+ [2, \"name\"],\n+ [5, \"name\"],\n+ [5, \"id2\"],\n+ [5, \"id3\"]\n ],\n- \"Sample output for lava-test-case shell\": [\n- [93, \"sample-output-for-lava-test-case-name-shell\"]\n+ \"local\": [\n+ [2, \"local\"]\n ],\n- \"Pipeline Design\": [\n- [81, \"pipeline-design\"]\n+ \"to: download\": [\n+ [2, \"to-download\"]\n ],\n- \"Principles of the LAVA design\": [\n- [81, \"principles-of-the-lava-design\"]\n+ \"images\": [\n+ [2, \"images\"],\n+ [2, \"deploy-to-fastboot-images\"],\n+ [2, \"deploy-to-fvp-images\"],\n+ [2, \"deploy-to-iso-installer-images\"],\n+ [2, \"id15\"],\n+ [2, \"deploy-to-tmpfs-images\"],\n+ [2, \"deploy-to-mps-recovery\"],\n+ [2, \"id70\"]\n ],\n- \"Test Writer aspects\": [\n- [81, \"test-writer-aspects\"]\n+ \"label\": [\n+ [2, \"label\"],\n+ [2, \"deploy-to-tmpfs-images-label\"]\n ],\n- \"Administrator aspects\": [\n- [81, \"administrator-aspects\"]\n+ \"url *\": [\n+ [2, \"url\"],\n+ [2, \"id8\"],\n+ [2, \"deploy-to-musca-binary-url\"],\n+ [2, \"deploy-to-nbd-kernel-url\"],\n+ [2, \"deploy-to-nbd-dtb-url\"],\n+ [2, \"deploy-to-nbd-initrd-url\"],\n+ [2, \"deploy-to-nbd-nbdroot-url\"],\n+ [2, \"deploy-to-tftp-kernel-url\"],\n+ [2, \"deploy-to-tftp-dtb-url\"],\n+ [2, \"deploy-to-tftp-modules-url\"],\n+ [2, \"deploy-to-tftp-ramdisk-url\"],\n+ [2, \"deploy-to-tftp-nfsrootfs-url\"],\n+ [2, \"deploy-to-tmpfs-images-url\"],\n+ [2, \"deploy-to-vemsd-recovery-url\"],\n+ [2, \"deploy-to-mps-recovery-url\"],\n+ [2, \"deploy-to-mps-binary-url\"]\n ],\n- \"Publishing artifacts\": [\n- [90, \"publishing-artifacts\"]\n+ \"Supported schema\": [\n+ [2, null],\n+ [2, null],\n+ [2, null],\n+ [2, null],\n+ [2, null],\n+ [2, null],\n+ [2, null],\n+ [2, null],\n+ [2, null],\n+ [2, null],\n+ [2, null],\n+ [2, null],\n+ [2, null],\n+ [2, null],\n+ [2, null],\n+ [2, null],\n+ [2, null],\n+ [2, null],\n+ [2, null],\n+ [2, null]\n ],\n- \"Linaro LAVA-lab\": [\n- [90, \"linaro-lava-lab\"]\n+ \"compression\": [\n+ [2, \"compression\"],\n+ [2, \"deploy-to-fastboot-images-compression\"],\n+ [2, \"deploy-to-iso-installer-images-iso-compression\"],\n+ [2, \"deploy-to-nbd-nfsroot-compression\"],\n+ [2, \"deploy-to-tftp-modules-compression\"],\n+ [2, \"deploy-to-tftp-ramdisk-compression\"],\n+ [2, \"deploy-to-tftp-nfsrootfs-compression\"],\n+ [2, \"deploy-to-tmpfs-images-compression\"],\n+ [2, \"deploy-to-vemsd-recovery-compression\"],\n+ [2, \"deploy-to-mps-recovery-compression\"],\n+ [2, \"deploy-to-uuu-images-compression\"]\n ],\n- \"LAVA review criteria\": [\n- [94, \"lava-review-criteria\"]\n+ \"Allowed values\": [\n+ [2, null],\n+ [2, null],\n+ [2, null],\n+ [2, null],\n+ [2, null],\n+ [2, null],\n+ [2, null],\n+ [2, null],\n+ [2, null],\n+ [2, null],\n+ [2, null],\n+ [2, null],\n+ [2, null]\n ],\n- \"Keep the dispatcher dumb\": [\n- [94, \"keep-the-dispatcher-dumb\"]\n+ \"archive\": [\n+ [2, \"archive\"],\n+ [2, \"deploy-to-fastboot-images-archive\"],\n+ [2, \"deploy-to-iso-installer-images-iso-archive\"],\n+ [2, \"deploy-to-nbd-nfsroot-archive\"],\n+ [2, \"deploy-to-tftp-modules-archive\"],\n+ [2, \"deploy-to-tftp-ramdisk-archive\"],\n+ [2, \"deploy-to-tftp-nfsrootfs-archive\"],\n+ [2, \"deploy-to-tmpfs-archive\"]\n ],\n- \"Avoid defaults in dispatcher code\": [\n- [94, \"avoid-defaults-in-dispatcher-code\"]\n+ \"md5sum\": [\n+ [2, \"md5sum\"],\n+ [2, \"deploy-to-fastboot-images-md5sum\"],\n+ [2, \"deploy-to-nbd-images-md5sum\"],\n+ [2, \"deploy-to-tmpfs-images-md5sum\"],\n+ [2, \"deploy-to-uuu-images-md5sum\"]\n ],\n- \"Let the test fail and diagnose later\": [\n- [94, \"let-the-test-fail-and-diagnose-later\"]\n+ \"sha256sum\": [\n+ [2, \"sha256sum\"],\n+ [2, \"deploy-to-fastboot-images-sha256sum\"],\n+ [2, \"deploy-to-nbd-images-sha256sum\"],\n+ [2, \"deploy-to-tmpfs-images-sha256sum\"],\n+ [2, \"deploy-to-uuu-images-sha256sum\"]\n ],\n- \"Treat the deployment as a black box\": [\n- [94, \"treat-the-deployment-as-a-black-box\"]\n+ \"sha512sum\": [\n+ [2, \"sha512sum\"],\n+ [2, \"id6\"],\n+ [2, \"id27\"],\n+ [2, \"id56\"],\n+ [2, \"id78\"]\n ],\n- \"Only protect the essential components\": [\n- [94, \"only-protect-the-essential-components\"]\n+ \"to: fastboot\": [\n+ [2, \"to-fastboot\"]\n ],\n- \"Give the test writer enough rope\": [\n- [94, \"give-the-test-writer-enough-rope\"]\n+ \"partition\": [\n+ [2, \"partition\"],\n+ [2, \"id71\"]\n ],\n- \"Guidance\": [\n- [94, \"guidance\"]\n+ \"reboot\": [\n+ [2, \"reboot\"]\n ],\n- \"Writing jobs using Secondary Connections\": [\n- [86, \"writing-jobs-using-secondary-connections\"]\n+ \"apply-overlay\": [\n+ [2, \"apply-overlay\"],\n+ [2, \"deploy-to-uuu-images-apply-overlay\"]\n ],\n- \"Secure Shell connections (ssh)\": [\n- [86, \"secure-shell-connections-ssh\"]\n+ \"sparse\": [\n+ [2, \"sparse\"],\n+ [2, \"deploy-to-uuu-images-sparse\"]\n ],\n- \"Delaying the start of a job using Multinode\": [\n- [86, \"delaying-the-start-of-a-job-using-multinode\"]\n+ \"to: fvp\": [\n+ [2, \"to-fvp\"]\n ],\n- \"Picking up the data in the guest role\": [\n- [86, \"picking-up-the-data-in-the-guest-role\"]\n+ \"overlays\": [\n+ [2, \"id9\"]\n ],\n- \"Test definition for the host role\": [\n- [86, \"test-definition-for-the-host-role\"]\n+ \"partition *\": [\n+ [2, \"id10\"]\n ],\n- \"Test definition for the guest role\": [\n- [86, \"test-definition-for-the-guest-role\"]\n+ \"ramdisk\": [\n+ [2, \"ramdisk\"],\n+ [2, \"deploy-to-sata-ramdisk\"],\n+ [2, \"deploy-to-tftp-ramdisk\"],\n+ [2, \"deploy-to-usb-ramdisk\"]\n ],\n- \"Complete Multinode test definition\": [\n- [86, \"complete-multinode-test-definition\"]\n+ \"to: iso-installer\": [\n+ [2, \"to-iso-installer\"]\n ],\n- \"HTTP proxies\": [\n- [89, \"http-proxies\"]\n+ \"iso\": [\n+ [2, \"iso\"],\n+ [2, \"deploy-to-iso-installer-iso\"]\n ],\n- \"Using the HTTP proxy\": [\n- [89, \"using-the-http-proxy\"]\n+ \"image_arg\": [\n+ [2, \"image-arg\"],\n+ [2, \"deploy-to-tmpfs-images-image-arg\"]\n ],\n- \"Using the HTTP cache\": [\n- [89, \"using-the-http-cache\"]\n+ \"preseed\": [\n+ [2, \"preseed\"]\n ],\n- \"Handling bots\": [\n- [89, \"handling-bots\"]\n+ \"kernel\": [\n+ [2, \"kernel\"],\n+ [2, \"deploy-to-nbd-kernel\"],\n+ [2, \"deploy-to-tftp-kernel\"]\n ],\n- \"Setting up a LAVA instance\": [\n- [83, \"setting-up-a-lava-instance\"]\n+ \"initrd\": [\n+ [2, \"initrd\"],\n+ [2, \"deploy-to-nbd-initrd\"]\n ],\n- \"Installing just lava-server\": [\n- [83, \"installing-just-lava-server\"]\n+ \"console\": [\n+ [2, \"console\"]\n ],\n- \"Installing the full lava set\": [\n- [83, \"installing-the-full-lava-set\"]\n+ \"installation_size\": [\n+ [2, \"installation-size\"]\n ],\n- \"Installing master without Recommends\": [\n- [83, \"installing-master-without-recommends\"]\n+ \"to: lxc\": [\n+ [2, \"to-lxc\"]\n ],\n- \"Installing lava-dispatcher\": [\n- [83, \"installing-lava-dispatcher\"]\n+ \"packages\": [\n+ [2, \"packages\"]\n ],\n- \"Configuring apache2 on a worker\": [\n- [83, \"configuring-apache2-on-a-worker\"]\n+ \"to: musca\": [\n+ [2, \"to-musca\"]\n ],\n- \"Adding workers to the master\": [\n- [83, \"adding-workers-to-the-master\"]\n+ \"test_binary\": [\n+ [2, \"test-binary\"],\n+ [2, \"deploy-to-mps-test-binary\"]\n ],\n- \"Adding devices to a worker\": [\n- [83, \"adding-devices-to-a-worker\"]\n+ \"to: nbd\": [\n+ [2, \"to-nbd\"]\n ],\n- \"Replacing VMGroups using Secondary Connections\": [\n- [87, \"replacing-vmgroups-using-secondary-connections\"]\n+ \"type\": [\n+ [2, \"type\"],\n+ [2, \"deploy-to-tftp-kernel-type\"]\n ],\n- \"Structure of an example job for a mustang\": [\n- [87, \"structure-of-an-example-job-for-a-mustang\"]\n+ \"Supported types\": [\n+ [2, null],\n+ [2, null]\n ],\n- \"Notes\": [\n- [87, \"notes\"]\n+ \"dtb\": [\n+ [2, \"dtb\"],\n+ [2, \"deploy-to-tftp-dtb\"]\n ],\n- \"Running operations inside the guest VM\": [\n- [87, \"running-operations-inside-the-guest-vm\"]\n+ \"modules\": [\n+ [2, \"modules\"],\n+ [2, \"deploy-to-tftp-modules\"]\n ],\n- \"Development process\": [\n- [88, \"development-process\"]\n+ \"nbdroot\": [\n+ [2, \"nbdroot\"]\n ],\n- \"Design meeting\": [\n- [88, \"design-meeting\"]\n+ \"to: recovery\": [\n+ [2, \"to-recovery\"]\n ],\n- \"Release process\": [\n- [88, \"release-process\"]\n+ \"to: sata\": [\n+ [2, \"to-sata\"]\n ],\n- \"Reporting Bugs\": [\n- [88, \"reporting-bugs\"]\n+ \"kernel *\": [\n+ [2, \"deploy-to-sata-kernel\"],\n+ [2, \"deploy-to-usb-kernel\"]\n ],\n- \"QEMU options\": [\n- [91, \"qemu-options\"]\n+ \"dtb *\": [\n+ [2, \"deploy-to-sata-dtb\"],\n+ [2, \"deploy-to-usb-dtb\"]\n ],\n- \"Virtualization testing\": [\n- [91, \"virtualization-testing\"]\n+ \"UUID *\": [\n+ [2, \"uuid\"],\n+ [2, \"deploy-to-usb-uuid\"]\n ],\n- \"Emulation testing\": [\n- [91, \"emulation-testing\"]\n+ \"boot_part *\": [\n+ [2, \"boot-part\"],\n+ [2, \"deploy-to-usb-boot-part\"]\n ],\n- \"Substitution support\": [\n- [91, \"substitution-support\"]\n+ \"to: ssh\": [\n+ [2, \"to-ssh\"]\n ],\n- \"Mandatory support\": [\n- [91, \"mandatory-support\"]\n+ \"connection\": [\n+ [2, \"connection\"],\n+ [0, \"connection\"]\n ],\n- \"Specific support\": [\n- [91, \"specific-support\"]\n+ \"protocols\": [\n+ [2, \"protocols\"]\n ],\n- \"Example command lines\": [\n- [91, \"example-command-lines\"]\n+ \"to: tftp\": [\n+ [2, \"to-tftp\"]\n ],\n- \"How to override variables\": [\n- [91, \"how-to-override-variables\"]\n+ \"header\": [\n+ [2, \"header\"]\n ],\n- \"How to specify QEMU environment options\": [\n- [91, \"how-to-specify-qemu-environment-options\"]\n+ \"nfsrootfs\": [\n+ [2, \"nfsrootfs\"]\n ],\n- \"Host architecture support\": [\n- [91, \"host-architecture-support\"]\n+ \"persistent_nfs\": [\n+ [2, \"persistent-nfs\"]\n ],\n- \"LAVA test storage\": [\n- [91, \"lava-test-storage\"]\n+ \"Known Caveats\": [\n+ [2, null]\n ],\n- \"Administrator debugging\": [\n- [80, \"administrator-debugging\"]\n+ \"address *\": [\n+ [2, \"address\"]\n ],\n- \"Debugging a LAVA instance\": [\n- [80, \"debugging-a-lava-instance\"]\n+ \"to: tmpfs\": [\n+ [2, \"to-tmpfs\"]\n ],\n- \"Components\": [\n- [80, \"components\"]\n+ \"to: usb\": [\n+ [2, \"to-usb\"]\n ],\n- \"Log files\": [\n- [80, \"log-files\"],\n- [97, \"log-files\"]\n+ \"to: vemsd\": [\n+ [2, \"to-vemsd\"]\n ],\n- \"Command line debugging\": [\n- [80, \"command-line-debugging\"]\n+ \"recovery_image\": [\n+ [2, \"recovery-image\"],\n+ [2, \"id65\"]\n ],\n- \"Configuration files\": [\n- [80, \"configuration-files\"]\n+ \"to: mps\": [\n+ [2, \"to-mps\"]\n ],\n- \"Check LAVA instance\": [\n- [80, \"check-lava-instance\"]\n+ \"rename\": [\n+ [2, \"rename\"]\n ],\n- \"Displaying current settings\": [\n- [80, \"displaying-current-settings\"]\n+ \"to: uuu\": [\n+ [2, \"to-uuu\"]\n ],\n- \"Django support in 1.11\": [\n- [80, \"django-support-in-1-11\"]\n+ \"os *\": [\n+ [2, \"deploy-os\"]\n ],\n- \"Correlating a test result with the source code\": [\n- [92, \"correlating-a-test-result-with-the-source-code\"]\n+ \"Creating Backups\": [\n+ [7, \"creating-backups\"]\n ],\n- \"Problems within test suites\": [\n- [92, \"problems-within-test-suites\"]\n+ \"Dependencies within backups\": [\n+ [7, \"dependencies-within-backups\"]\n ],\n- \"Avoid reliance on the total count\": [\n- [92, \"avoid-reliance-on-the-total-count\"]\n+ \"Issues with the base suite\": [\n+ [7, \"issues-with-the-base-suite\"]\n ],\n- \"Control the test operations\": [\n- [92, \"control-the-test-operations\"]\n+ \"What to include in your configuration management\": [\n+ [7, \"what-to-include-in-your-configuration-management\"]\n ],\n- \"Control the output\": [\n- [92, \"control-the-output\"]\n+ \"What to include in your master backups\": [\n+ [7, \"what-to-include-in-your-master-backups\"]\n ],\n- \"Control the base system\": [\n- [92, \"control-the-base-system\"]\n+ \"What to include in your worker backups\": [\n+ [7, \"what-to-include-in-your-worker-backups\"]\n ],\n- \"Control the build system\": [\n- [92, \"control-the-build-system\"]\n+ \"Restoring a master from a backup\": [\n+ [7, \"restoring-a-master-from-a-backup\"]\n ],\n- \"Control the list of tests\": [\n- [92, \"control-the-list-of-tests\"]\n+ \"Restoring a worker from backups\": [\n+ [7, \"restoring-a-worker-from-backups\"]\n ],\n- \"Distinguish between CI tests and functional tests\": [\n- [92, \"distinguish-between-ci-tests-and-functional-tests\"]\n+ \"Building and manipulating images for your devices\": [\n+ [13, \"building-and-manipulating-images-for-your-devices\"]\n ],\n- \"Manage testing of complete software stacks\": [\n- [92, \"manage-testing-of-complete-software-stacks\"]\n+ \"Basics of building an image\": [\n+ [13, \"basics-of-building-an-image\"]\n ],\n- \"Reproducing test jobs\": [\n- [92, \"reproducing-test-jobs\"]\n+ \"Obtaining a kernel\": [\n+ [13, \"obtaining-a-kernel\"]\n ],\n- \"Advanced Use Cases\": [\n- [84, \"advanced-use-cases\"]\n+ \"Obtaining a bootloader\": [\n+ [13, \"obtaining-a-bootloader\"]\n ],\n- \"LAVA schema\": [\n- [82, \"lava-schema\"]\n+ \"Inspecting existing images\": [\n+ [13, \"inspecting-existing-images\"]\n ],\n- \"Job Submission Schema\": [\n- [82, \"job-submission-schema\"]\n+ \"Tools to install and get to know\": [\n+ [13, \"tools-to-install-and-get-to-know\"]\n ],\n- \"Schema elements\": [\n- [82, \"schema-elements\"]\n+ \"Concepts behind boot images\": [\n+ [13, \"concepts-behind-boot-images\"]\n ],\n- \"Comments\": [\n- [82, \"comments\"]\n+ \"Find the offset\": [\n+ [13, \"find-the-offset\"]\n ],\n- \"Job Name\": [\n- [82, \"job-name\"]\n+ \"Mounting partitions using loop and offset\": [\n+ [13, \"mounting-partitions-using-loop-and-offset\"]\n ],\n- \"Device Type\": [\n- [82, \"device-type\"]\n+ \"Creating new images\": [\n+ [13, \"creating-new-images\"]\n ],\n- \"Timeouts\": [\n- [82, \"timeouts\"],\n- [106, \"timeouts\"],\n- [70, \"timeouts\"]\n+ \"Making a bootstrap rootfs usable\": [\n+ [13, \"making-a-bootstrap-rootfs-usable\"]\n ],\n- \"Priority\": [\n- [82, \"priority\"]\n+ \"Other steps which may be required\": [\n+ [13, \"other-steps-which-may-be-required\"]\n ],\n- \"Context\": [\n- [82, \"context\"],\n- [100, \"context\"]\n+ \"Increasing the number of loop devices\": [\n+ [13, \"increasing-the-number-of-loop-devices\"]\n ],\n- \"Protocols\": [\n- [82, \"protocols\"]\n+ \"Further information\": [\n+ [13, \"further-information\"],\n+ [77, \"further-information\"]\n ],\n- \"Actions\": [\n- [82, \"actions\"],\n- [70, \"actions\"]\n+ \"Command Action Reference\": [\n+ [1, \"command-action-reference\"]\n ],\n- \"Deploy Action\": [\n- [82, \"deploy-action\"]\n+ \"Admin Setup\": [\n+ [1, \"admin-setup\"]\n ],\n- \"Boot Action\": [\n- [82, \"boot-action\"]\n+ \"Deploying LXC devices\": [\n+ [8, \"deploying-lxc-devices\"]\n ],\n- \"Test Action\": [\n- [82, \"test-action\"]\n+ \"Prerequisite\": [\n+ [8, \"prerequisite\"]\n ],\n- \"Creating Backups\": [\n- [7, \"creating-backups\"]\n+ \"Android testing with LXC support\": [\n+ [8, \"android-testing-with-lxc-support\"]\n ],\n- \"Dependencies within backups\": [\n- [7, \"dependencies-within-backups\"]\n+ \"Arbitrary external devices needing LXC support\": [\n+ [8, \"arbitrary-external-devices-needing-lxc-support\"]\n ],\n- \"Issues with the base suite\": [\n- [7, \"issues-with-the-base-suite\"]\n+ \"USB attached devices\": [\n+ [8, \"usb-attached-devices\"]\n ],\n- \"What to include in your configuration management\": [\n- [7, \"what-to-include-in-your-configuration-management\"]\n+ \"Other related devices\": [\n+ [8, \"other-related-devices\"]\n ],\n- \"What to include in your master backups\": [\n- [7, \"what-to-include-in-your-master-backups\"]\n+ \"Persistent Containers\": [\n+ [8, \"persistent-containers\"]\n ],\n- \"What to include in your worker backups\": [\n- [7, \"what-to-include-in-your-worker-backups\"]\n+ \"Unprivileged containers as root\": [\n+ [8, \"unprivileged-containers-as-root\"]\n ],\n- \"Restoring a master from a backup\": [\n- [7, \"restoring-a-master-from-a-backup\"]\n+ \"Other resources\": [\n+ [8, \"other-resources\"]\n ],\n- \"Restoring a worker from backups\": [\n- [7, \"restoring-a-worker-from-backups\"]\n+ \"Advanced Installation Topics\": [\n+ [10, \"advanced-installation-topics\"]\n ],\n- \"Bootloader/Firmware Testing and Recovery\": [\n- [14, \"bootloader-firmware-testing-and-recovery\"]\n+ \"Laptops\": [\n+ [10, \"laptops\"]\n ],\n- \"What is recovery mode?\": [\n- [14, \"what-is-recovery-mode\"]\n+ \"Virtual Machines\": [\n+ [10, \"virtual-machines\"]\n ],\n- \"Bootloader recovery criteria\": [\n- [14, \"bootloader-recovery-criteria\"]\n+ \"Workload\": [\n+ [10, \"workload\"]\n ],\n- \"Uniqueness\": [\n- [14, \"uniqueness\"]\n+ \"Localhost\": [\n+ [10, \"localhost\"]\n ],\n- \"Deployment\": [\n- [14, \"deployment\"]\n+ \"Other infrastructure\": [\n+ [10, \"other-infrastructure\"]\n ],\n- \"Comparison of barriers to bootloader testing and recovery\": [\n- [14, \"comparison-of-barriers-to-bootloader-testing-and-recovery\"]\n+ \"Remote power control\": [\n+ [10, \"remote-power-control\"]\n ],\n- \"Defensive testing\": [\n- [14, \"defensive-testing\"]\n+ \"Serial console support\": [\n+ [10, \"serial-console-support\"]\n ],\n- \"Problems with bootloader execution\": [\n- [14, \"problems-with-bootloader-execution\"]\n+ \"Network switches\": [\n+ [10, \"network-switches\"]\n ],\n- \"Problems with bootloader storage\": [\n- [14, \"problems-with-bootloader-storage\"]\n+ \"Power supply\": [\n+ [10, \"power-supply\"]\n ],\n- \"Problems with full system images\": [\n- [14, \"problems-with-full-system-images\"]\n+ \"Fileserver\": [\n+ [10, \"fileserver\"]\n ],\n- \"HiKey 6220\": [\n- [14, \"hikey-6220\"]\n+ \"Shelving and racks\": [\n+ [10, \"shelving-and-racks\"]\n ],\n- \"Recovery deployment\": [\n- [14, \"id8\"],\n- [14, \"id9\"],\n- [14, \"id10\"]\n+ \"Recommended Installation Types\": [\n+ [10, \"recommended-installation-types\"]\n ],\n- \"AOSP deployment\": [\n- [14, \"aosp-deployment\"]\n+ \"Single instance\": [\n+ [10, \"single-instance\"]\n ],\n- \"OpenEmbedded deployment\": [\n- [14, \"openembedded-deployment\"],\n- [14, \"id11\"]\n+ \"Master with one or more remote workers\": [\n+ [10, \"master-with-one-or-more-remote-workers\"]\n ],\n- \"Limits of HiKey 6220 recovery\": [\n- [14, \"limits-of-hikey-6220-recovery\"]\n+ \"Authentication and encryption\": [\n+ [10, \"authentication-and-encryption\"]\n ],\n- \"Juno\": [\n- [14, \"juno\"]\n+ \"Other installation notes\": [\n+ [10, \"other-installation-notes\"]\n ],\n- \"U-Boot boot action\": [\n- [14, \"u-boot-boot-action\"]\n+ \"LAVA server branding support\": [\n+ [10, \"lava-server-branding-support\"]\n ],\n- \"X15 GPEVM\": [\n- [14, \"x15-gpevm\"]\n+ \"Unattended upgrades\": [\n+ [10, \"unattended-upgrades\"]\n ],\n- \"Repeat\": [\n- [4, \"repeat\"]\n+ \"Example changes\": [\n+ [10, \"example-changes\"]\n ],\n- \"Handling repeats\": [\n- [4, \"handling-repeats\"]\n+ \"Configuring event notifications\": [\n+ [10, \"configuring-event-notifications\"]\n ],\n- \"Repeating single actions\": [\n- [4, \"repeating-single-actions\"]\n+ \"Events and network reliability\": [\n+ [10, \"events-and-network-reliability\"]\n ],\n- \"Retry on failure\": [\n- [4, \"retry-on-failure\"]\n+ \"PostgreSQL Port configuration\": [\n+ [10, \"postgresql-port-configuration\"]\n ],\n- \"Retry interval on failure\": [\n- [4, \"retry-interval-on-failure\"]\n+ \"Configuring the LAVA UI\": [\n+ [10, \"configuring-the-lava-ui\"]\n ],\n- \"Repeating blocks of actions\": [\n- [4, \"repeating-blocks-of-actions\"]\n+ \"Gunicorn3 bind addresses\": [\n+ [10, \"gunicorn3-bind-addresses\"]\n ],\n- \"User permissions and authorization\": [\n- [12, \"user-permissions-and-authorization\"]\n+ \"Apache proxy configuration\": [\n+ [10, \"apache-proxy-configuration\"]\n ],\n- \"Global authorization\": [\n- [12, \"global-authorization\"]\n+ \"Apache headers\": [\n+ [10, \"apache-headers\"]\n ],\n- \"Per-object authorization\": [\n- [12, \"per-object-authorization\"]\n+ \"Banning badly behaved bots\": [\n+ [10, \"banning-badly-behaved-bots\"]\n ],\n- \"Permission inheritance\": [\n- [12, \"permission-inheritance\"]\n+ \"Tracking errors\": [\n+ [10, \"tracking-errors\"]\n ],\n- \"Anonymous users vs authenticated users\": [\n- [12, \"anonymous-users-vs-authenticated-users\"]\n+ \"Configuring default table length\": [\n+ [10, \"configuring-default-table-length\"]\n ],\n- \"Test job specifics on visibility\": [\n- [12, \"test-job-specifics-on-visibility\"]\n+ \"Configuring submitter full name\": [\n+ [10, \"configuring-submitter-full-name\"]\n ],\n- \"Setup\": [\n- [12, \"setup\"]\n+ \"Controlling the Django Admin Interface\": [\n+ [10, \"controlling-the-django-admin-interface\"]\n ],\n- \"Data migration\": [\n- [12, \"data-migration\"]\n+ \"Configuring log file display\": [\n+ [10, \"configuring-log-file-display\"]\n ],\n- \"Visibility decision trees\": [\n- [12, \"visibility-decision-trees\"]\n+ \"Extending the schema white list\": [\n+ [10, \"extending-the-schema-white-list\"]\n ],\n \"Boot Action Reference\": [\n [0, \"boot-action-reference\"]\n ],\n \"auto_login\": [\n [0, \"auto-login\"]\n ],\n@@ -8610,18 +8645,14 @@\n \"login_commands\": [\n [0, \"login-commands\"]\n ],\n \"prompts\": [\n [0, \"prompts\"],\n [5, \"prompts\"]\n ],\n- \"connection\": [\n- [0, \"connection\"],\n- [2, \"connection\"]\n- ],\n \"connection-namespace\": [\n [0, \"connection-namespace\"]\n ],\n \"commands\": [\n [0, \"commands\"],\n [0, \"boot-method-u-boot-commands\"]\n ],\n@@ -8738,167 +8769,25 @@\n ],\n \"Using commands\": [\n [0, \"using-commands\"]\n ],\n \"BCU Integration\": [\n [0, \"bcu-integration\"]\n ],\n- \"Timeout Reference\": [\n- [6, \"timeout-reference\"]\n- ],\n- \"Job timeout\": [\n- [6, \"job-timeout\"]\n- ],\n- \"Action timeout\": [\n- [6, \"action-timeout\"]\n- ],\n- \"Individual action timeouts\": [\n- [6, \"individual-action-timeouts\"]\n- ],\n- \"Connection timeout\": [\n- [6, \"connection-timeout\"]\n- ],\n- \"Individual connection timeouts\": [\n- [6, \"individual-connection-timeouts\"]\n- ],\n- \"Enabling Secondary Media\": [\n- [9, \"enabling-secondary-media\"]\n- ],\n- \"Identifying secondary media\": [\n- [9, \"identifying-secondary-media\"]\n- ],\n- \"Secondary media configuration\": [\n- [9, \"secondary-media-configuration\"]\n- ],\n- \"Using Grub with SATA secondary media\": [\n- [9, \"using-grub-with-sata-secondary-media\"]\n- ],\n- \"Device dictionary\": [\n- [9, \"device-dictionary\"],\n- [9, \"id3\"],\n- [79, \"device-dictionary\"]\n- ],\n- \"Device template example\": [\n- [9, \"device-template-example\"],\n- [9, \"id4\"]\n- ],\n- \"Dispatcher configuration\": [\n- [9, \"dispatcher-configuration\"],\n- [9, \"id5\"]\n- ],\n- \"Grub SATA Test Job submission\": [\n- [9, \"grub-sata-test-job-submission\"]\n- ],\n- \"Using UBoot with USB secondary media\": [\n- [9, \"using-uboot-with-usb-secondary-media\"]\n- ],\n- \"USB UBoot Test Job submission\": [\n- [9, \"usb-uboot-test-job-submission\"]\n- ],\n- \"Advanced Installation Topics\": [\n- [10, \"advanced-installation-topics\"]\n- ],\n- \"Laptops\": [\n- [10, \"laptops\"]\n- ],\n- \"Virtual Machines\": [\n- [10, \"virtual-machines\"]\n- ],\n- \"Workload\": [\n- [10, \"workload\"]\n- ],\n- \"Localhost\": [\n- [10, \"localhost\"]\n- ],\n- \"Other infrastructure\": [\n- [10, \"other-infrastructure\"]\n- ],\n- \"Remote power control\": [\n- [10, \"remote-power-control\"]\n- ],\n- \"Serial console support\": [\n- [10, \"serial-console-support\"]\n- ],\n- \"Network switches\": [\n- [10, \"network-switches\"]\n- ],\n- \"Power supply\": [\n- [10, \"power-supply\"]\n- ],\n- \"Fileserver\": [\n- [10, \"fileserver\"]\n- ],\n- \"Shelving and racks\": [\n- [10, \"shelving-and-racks\"]\n- ],\n- \"Recommended Installation Types\": [\n- [10, \"recommended-installation-types\"]\n- ],\n- \"Single instance\": [\n- [10, \"single-instance\"]\n- ],\n- \"Master with one or more remote workers\": [\n- [10, \"master-with-one-or-more-remote-workers\"]\n- ],\n- \"Authentication and encryption\": [\n- [10, \"authentication-and-encryption\"]\n- ],\n- \"Other installation notes\": [\n- [10, \"other-installation-notes\"]\n- ],\n- \"LAVA server branding support\": [\n- [10, \"lava-server-branding-support\"]\n- ],\n- \"Unattended upgrades\": [\n- [10, \"unattended-upgrades\"]\n- ],\n- \"Example changes\": [\n- [10, \"example-changes\"]\n- ],\n- \"Configuring event notifications\": [\n- [10, \"configuring-event-notifications\"]\n- ],\n- \"Events and network reliability\": [\n- [10, \"events-and-network-reliability\"]\n- ],\n- \"PostgreSQL Port configuration\": [\n- [10, \"postgresql-port-configuration\"]\n- ],\n- \"Configuring the LAVA UI\": [\n- [10, \"configuring-the-lava-ui\"]\n- ],\n- \"Gunicorn3 bind addresses\": [\n- [10, \"gunicorn3-bind-addresses\"]\n- ],\n- \"Apache proxy configuration\": [\n- [10, \"apache-proxy-configuration\"]\n- ],\n- \"Apache headers\": [\n- [10, \"apache-headers\"]\n- ],\n- \"Banning badly behaved bots\": [\n- [10, \"banning-badly-behaved-bots\"]\n- ],\n- \"Tracking errors\": [\n- [10, \"tracking-errors\"]\n- ],\n- \"Configuring default table length\": [\n- [10, \"configuring-default-table-length\"]\n- ],\n- \"Configuring submitter full name\": [\n- [10, \"configuring-submitter-full-name\"]\n+ \"Configuring user authentication\": [\n+ [11, \"configuring-user-authentication\"]\n ],\n- \"Controlling the Django Admin Interface\": [\n- [10, \"controlling-the-django-admin-interface\"]\n+ \"Using Lightweight Directory Access Protocol (LDAP)\": [\n+ [11, \"using-lightweight-directory-access-protocol-ldap\"]\n ],\n- \"Configuring log file display\": [\n- [10, \"configuring-log-file-display\"]\n+ \"Using external authentication provider supported by django-allauth\": [\n+ [11, \"using-external-authentication-provider-supported-by-django-allauth\"]\n ],\n- \"Extending the schema white list\": [\n- [10, \"extending-the-schema-white-list\"]\n+ \"Using Open ID Connect (OIDC) authentication providers\": [\n+ [11, \"using-open-id-connect-oidc-authentication-providers\"]\n ],\n \"Test Action Reference\": [\n [5, \"test-action-reference\"]\n ],\n \"repository\": [\n [5, \"repository\"]\n ],\n@@ -8910,20 +8799,14 @@\n ],\n \"inline\": [\n [5, \"inline\"]\n ],\n \"path\": [\n [5, \"path\"]\n ],\n- \"name\": [\n- [5, \"name\"],\n- [5, \"id2\"],\n- [5, \"id3\"],\n- [2, \"name\"]\n- ],\n \"params\": [\n [5, \"params\"]\n ],\n \"Skipping elements of test definitions\": [\n [5, \"skipping-elements-of-test-definitions\"]\n ],\n \"deps\": [\n@@ -8961,101 +8844,152 @@\n ],\n \"script\": [\n [5, \"script\"]\n ],\n \"Monitors\": [\n [5, \"monitors\"]\n ],\n- \"Building and manipulating images for your devices\": [\n- [13, \"building-and-manipulating-images-for-your-devices\"]\n+ \"Bootloader/Firmware Testing and Recovery\": [\n+ [14, \"bootloader-firmware-testing-and-recovery\"]\n ],\n- \"Basics of building an image\": [\n- [13, \"basics-of-building-an-image\"]\n+ \"What is recovery mode?\": [\n+ [14, \"what-is-recovery-mode\"]\n ],\n- \"Obtaining a kernel\": [\n- [13, \"obtaining-a-kernel\"]\n+ \"Bootloader recovery criteria\": [\n+ [14, \"bootloader-recovery-criteria\"]\n ],\n- \"Obtaining a bootloader\": [\n- [13, \"obtaining-a-bootloader\"]\n+ \"Uniqueness\": [\n+ [14, \"uniqueness\"]\n ],\n- \"Inspecting existing images\": [\n- [13, \"inspecting-existing-images\"]\n+ \"Deployment\": [\n+ [14, \"deployment\"]\n ],\n- \"Tools to install and get to know\": [\n- [13, \"tools-to-install-and-get-to-know\"]\n+ \"Comparison of barriers to bootloader testing and recovery\": [\n+ [14, \"comparison-of-barriers-to-bootloader-testing-and-recovery\"]\n ],\n- \"Concepts behind boot images\": [\n- [13, \"concepts-behind-boot-images\"]\n+ \"Defensive testing\": [\n+ [14, \"defensive-testing\"]\n ],\n- \"Find the offset\": [\n- [13, \"find-the-offset\"]\n+ \"Problems with bootloader execution\": [\n+ [14, \"problems-with-bootloader-execution\"]\n ],\n- \"Mounting partitions using loop and offset\": [\n- [13, \"mounting-partitions-using-loop-and-offset\"]\n+ \"Problems with bootloader storage\": [\n+ [14, \"problems-with-bootloader-storage\"]\n ],\n- \"Creating new images\": [\n- [13, \"creating-new-images\"]\n+ \"Problems with full system images\": [\n+ [14, \"problems-with-full-system-images\"]\n ],\n- \"Making a bootstrap rootfs usable\": [\n- [13, \"making-a-bootstrap-rootfs-usable\"]\n+ \"HiKey 6220\": [\n+ [14, \"hikey-6220\"]\n ],\n- \"Other steps which may be required\": [\n- [13, \"other-steps-which-may-be-required\"]\n+ \"Recovery deployment\": [\n+ [14, \"id8\"],\n+ [14, \"id9\"],\n+ [14, \"id10\"]\n ],\n- \"Increasing the number of loop devices\": [\n- [13, \"increasing-the-number-of-loop-devices\"]\n+ \"AOSP deployment\": [\n+ [14, \"aosp-deployment\"]\n ],\n- \"Further information\": [\n- [13, \"further-information\"],\n- [77, \"further-information\"]\n+ \"OpenEmbedded deployment\": [\n+ [14, \"openembedded-deployment\"],\n+ [14, \"id11\"]\n ],\n- \"Command Action Reference\": [\n- [1, \"command-action-reference\"]\n+ \"Limits of HiKey 6220 recovery\": [\n+ [14, \"limits-of-hikey-6220-recovery\"]\n ],\n- \"Admin Setup\": [\n- [1, \"admin-setup\"]\n+ \"Juno\": [\n+ [14, \"juno\"]\n ],\n- \"Configuring user authentication\": [\n- [11, \"configuring-user-authentication\"]\n+ \"U-Boot boot action\": [\n+ [14, \"u-boot-boot-action\"]\n ],\n- \"Using Lightweight Directory Access Protocol (LDAP)\": [\n- [11, \"using-lightweight-directory-access-protocol-ldap\"]\n+ \"X15 GPEVM\": [\n+ [14, \"x15-gpevm\"]\n ],\n- \"Using external authentication provider supported by django-allauth\": [\n- [11, \"using-external-authentication-provider-supported-by-django-allauth\"]\n+ \"LAVA Software Community Project Code of Conduct\": [\n+ [15, \"lava-software-community-project-code-of-conduct\"]\n ],\n- \"Using Open ID Connect (OIDC) authentication providers\": [\n- [11, \"using-open-id-connect-oidc-authentication-providers\"]\n+ \"Be respectful\": [\n+ [15, \"be-respectful\"]\n ],\n- \"Deploying LXC devices\": [\n- [8, \"deploying-lxc-devices\"]\n+ \"Assume good faith\": [\n+ [15, \"assume-good-faith\"]\n ],\n- \"Prerequisite\": [\n- [8, \"prerequisite\"]\n+ \"Be collaborative\": [\n+ [15, \"be-collaborative\"]\n ],\n- \"Android testing with LXC support\": [\n- [8, \"android-testing-with-lxc-support\"]\n+ \"Try to be concise\": [\n+ [15, \"try-to-be-concise\"]\n ],\n- \"Arbitrary external devices needing LXC support\": [\n- [8, \"arbitrary-external-devices-needing-lxc-support\"]\n+ \"Be open\": [\n+ [15, \"be-open\"]\n ],\n- \"USB attached devices\": [\n- [8, \"usb-attached-devices\"]\n+ \"In case of problems\": [\n+ [15, \"in-case-of-problems\"]\n ],\n- \"Other related devices\": [\n- [8, \"other-related-devices\"]\n+ \"Enabling Secondary Media\": [\n+ [9, \"enabling-secondary-media\"]\n ],\n- \"Persistent Containers\": [\n- [8, \"persistent-containers\"]\n+ \"Identifying secondary media\": [\n+ [9, \"identifying-secondary-media\"]\n ],\n- \"Unprivileged containers as root\": [\n- [8, \"unprivileged-containers-as-root\"]\n+ \"Secondary media configuration\": [\n+ [9, \"secondary-media-configuration\"]\n ],\n- \"Other resources\": [\n- [8, \"other-resources\"]\n+ \"Using Grub with SATA secondary media\": [\n+ [9, \"using-grub-with-sata-secondary-media\"]\n+ ],\n+ \"Device dictionary\": [\n+ [9, \"device-dictionary\"],\n+ [9, \"id3\"],\n+ [79, \"device-dictionary\"]\n+ ],\n+ \"Device template example\": [\n+ [9, \"device-template-example\"],\n+ [9, \"id4\"]\n+ ],\n+ \"Dispatcher configuration\": [\n+ [9, \"dispatcher-configuration\"],\n+ [9, \"id5\"]\n+ ],\n+ \"Grub SATA Test Job submission\": [\n+ [9, \"grub-sata-test-job-submission\"]\n+ ],\n+ \"Using UBoot with USB secondary media\": [\n+ [9, \"using-uboot-with-usb-secondary-media\"]\n+ ],\n+ \"USB UBoot Test Job submission\": [\n+ [9, \"usb-uboot-test-job-submission\"]\n+ ],\n+ \"User permissions and authorization\": [\n+ [12, \"user-permissions-and-authorization\"]\n+ ],\n+ \"Global authorization\": [\n+ [12, \"global-authorization\"]\n+ ],\n+ \"Per-object authorization\": [\n+ [12, \"per-object-authorization\"]\n+ ],\n+ \"Permission inheritance\": [\n+ [12, \"permission-inheritance\"]\n+ ],\n+ \"Anonymous users vs authenticated users\": [\n+ [12, \"anonymous-users-vs-authenticated-users\"]\n+ ],\n+ \"Test job specifics on visibility\": [\n+ [12, \"test-job-specifics-on-visibility\"]\n+ ],\n+ \"Setup\": [\n+ [12, \"setup\"]\n+ ],\n+ \"Data migration\": [\n+ [12, \"data-migration\"]\n+ ],\n+ \"Visibility decision trees\": [\n+ [12, \"visibility-decision-trees\"]\n ],\n \"Protocol Reference\": [\n [3, \"protocol-reference\"]\n ],\n \"Using protocols from actions\": [\n [3, \"using-protocols-from-actions\"]\n ],\n@@ -9081,416 +9015,468 @@\n ],\n \"VLANd protocol\": [\n [3, \"vland-protocol\"]\n ],\n \"LXC protocol\": [\n [3, \"lxc-protocol\"]\n ],\n- \"LAVA Software Community Project Code of Conduct\": [\n- [15, \"lava-software-community-project-code-of-conduct\"]\n+ \"Timeout Reference\": [\n+ [6, \"timeout-reference\"]\n ],\n- \"Be respectful\": [\n- [15, \"be-respectful\"]\n+ \"Job timeout\": [\n+ [6, \"job-timeout\"]\n ],\n- \"Assume good faith\": [\n- [15, \"assume-good-faith\"]\n+ \"Action timeout\": [\n+ [6, \"action-timeout\"]\n ],\n- \"Be collaborative\": [\n- [15, \"be-collaborative\"]\n+ \"Individual action timeouts\": [\n+ [6, \"individual-action-timeouts\"]\n ],\n- \"Try to be concise\": [\n- [15, \"try-to-be-concise\"]\n+ \"Connection timeout\": [\n+ [6, \"connection-timeout\"]\n ],\n- \"Be open\": [\n- [15, \"be-open\"]\n+ \"Individual connection timeouts\": [\n+ [6, \"individual-connection-timeouts\"]\n ],\n- \"In case of problems\": [\n- [15, \"in-case-of-problems\"]\n+ \"Repeat\": [\n+ [4, \"repeat\"]\n ],\n- \"Deploy Action Reference\": [\n- [2, \"deploy-action-reference\"]\n+ \"Handling repeats\": [\n+ [4, \"handling-repeats\"]\n ],\n- \"Deploy action roles\": [\n- [2, \"deploy-action-roles\"]\n+ \"Repeating single actions\": [\n+ [4, \"repeating-single-actions\"]\n ],\n- \"Required parameters\": [\n- [2, \"required-parameters\"]\n+ \"Retry on failure\": [\n+ [4, \"retry-on-failure\"]\n ],\n- \"Overlays\": [\n- [2, \"overlays\"]\n+ \"Retry interval on failure\": [\n+ [4, \"retry-interval-on-failure\"]\n ],\n- \"Parameter List\": [\n- [2, \"parameter-list\"]\n+ \"Repeating blocks of actions\": [\n+ [4, \"repeating-blocks-of-actions\"]\n ],\n- \"to: docker\": [\n- [2, \"to-docker\"]\n+ \"HTTP proxies\": [\n+ [89, \"http-proxies\"]\n ],\n- \"os\": [\n- [2, \"os\"]\n+ \"Using the HTTP proxy\": [\n+ [89, \"using-the-http-proxy\"]\n ],\n- \"image\": [\n- [2, \"image\"]\n+ \"Using the HTTP cache\": [\n+ [89, \"using-the-http-cache\"]\n ],\n- \"local\": [\n- [2, \"local\"]\n+ \"Handling bots\": [\n+ [89, \"handling-bots\"]\n ],\n- \"to: download\": [\n- [2, \"to-download\"]\n+ \"Publishing artifacts\": [\n+ [90, \"publishing-artifacts\"]\n ],\n- \"images\": [\n- [2, \"images\"],\n- [2, \"deploy-to-fastboot-images\"],\n- [2, \"deploy-to-fvp-images\"],\n- [2, \"deploy-to-iso-installer-images\"],\n- [2, \"id15\"],\n- [2, \"deploy-to-tmpfs-images\"],\n- [2, \"deploy-to-mps-recovery\"],\n- [2, \"id70\"]\n+ \"Linaro LAVA-lab\": [\n+ [90, \"linaro-lava-lab\"]\n ],\n- \"label\": [\n- [2, \"label\"],\n- [2, \"deploy-to-tmpfs-images-label\"]\n+ \"Introduction to Results in LAVA\": [\n+ [93, \"introduction-to-results-in-lava\"]\n ],\n- \"url *\": [\n- [2, \"url\"],\n- [2, \"id8\"],\n- [2, \"deploy-to-musca-binary-url\"],\n- [2, \"deploy-to-nbd-kernel-url\"],\n- [2, \"deploy-to-nbd-dtb-url\"],\n- [2, \"deploy-to-nbd-initrd-url\"],\n- [2, \"deploy-to-nbd-nbdroot-url\"],\n- [2, \"deploy-to-tftp-kernel-url\"],\n- [2, \"deploy-to-tftp-dtb-url\"],\n- [2, \"deploy-to-tftp-modules-url\"],\n- [2, \"deploy-to-tftp-ramdisk-url\"],\n- [2, \"deploy-to-tftp-nfsrootfs-url\"],\n- [2, \"deploy-to-tmpfs-images-url\"],\n- [2, \"deploy-to-vemsd-recovery-url\"],\n- [2, \"deploy-to-mps-recovery-url\"],\n- [2, \"deploy-to-mps-binary-url\"]\n+ \"Accessing results\": [\n+ [93, \"accessing-results\"]\n ],\n- \"Supported schema\": [\n- [2, null],\n- [2, null],\n- [2, null],\n- [2, null],\n- [2, null],\n- [2, null],\n- [2, null],\n- [2, null],\n- [2, null],\n- [2, null],\n- [2, null],\n- [2, null],\n- [2, null],\n- [2, null],\n- [2, null],\n- [2, null],\n- [2, null],\n- [2, null],\n- [2, null],\n- [2, null]\n+ \"Accessing specific test results\": [\n+ [93, \"accessing-specific-test-results\"]\n ],\n- \"compression\": [\n- [2, \"compression\"],\n- [2, \"deploy-to-fastboot-images-compression\"],\n- [2, \"deploy-to-iso-installer-images-iso-compression\"],\n- [2, \"deploy-to-nbd-nfsroot-compression\"],\n- [2, \"deploy-to-tftp-modules-compression\"],\n- [2, \"deploy-to-tftp-ramdisk-compression\"],\n- [2, \"deploy-to-tftp-nfsrootfs-compression\"],\n- [2, \"deploy-to-tmpfs-images-compression\"],\n- [2, \"deploy-to-vemsd-recovery-compression\"],\n- [2, \"deploy-to-mps-recovery-compression\"],\n- [2, \"deploy-to-uuu-images-compression\"]\n+ \"Test Suite\": [\n+ [93, \"test-suite\"]\n ],\n- \"Allowed values\": [\n- [2, null],\n- [2, null],\n- [2, null],\n- [2, null],\n- [2, null],\n- [2, null],\n- [2, null],\n- [2, null],\n- [2, null],\n- [2, null],\n- [2, null],\n- [2, null],\n- [2, null]\n+ \"Test Set\": [\n+ [93, \"test-set\"]\n ],\n- \"archive\": [\n- [2, \"archive\"],\n- [2, \"deploy-to-fastboot-images-archive\"],\n- [2, \"deploy-to-iso-installer-images-iso-archive\"],\n- [2, \"deploy-to-nbd-nfsroot-archive\"],\n- [2, \"deploy-to-tftp-modules-archive\"],\n- [2, \"deploy-to-tftp-ramdisk-archive\"],\n- [2, \"deploy-to-tftp-nfsrootfs-archive\"],\n- [2, \"deploy-to-tmpfs-archive\"]\n+ \"Test Case\": [\n+ [93, \"test-case\"]\n ],\n- \"md5sum\": [\n- [2, \"md5sum\"],\n- [2, \"deploy-to-fastboot-images-md5sum\"],\n- [2, \"deploy-to-nbd-images-md5sum\"],\n- [2, \"deploy-to-tmpfs-images-md5sum\"],\n- [2, \"deploy-to-uuu-images-md5sum\"]\n+ \"Test Raise\": [\n+ [93, \"test-raise\"]\n ],\n- \"sha256sum\": [\n- [2, \"sha256sum\"],\n- [2, \"deploy-to-fastboot-images-sha256sum\"],\n- [2, \"deploy-to-nbd-images-sha256sum\"],\n- [2, \"deploy-to-tmpfs-images-sha256sum\"],\n- [2, \"deploy-to-uuu-images-sha256sum\"]\n+ \"Accessing the test job logs from results\": [\n+ [93, \"accessing-the-test-job-logs-from-results\"]\n ],\n- \"sha512sum\": [\n- [2, \"sha512sum\"],\n- [2, \"id6\"],\n- [2, \"id27\"],\n- [2, \"id56\"],\n- [2, \"id78\"]\n+ \"Multiple occurrences\": [\n+ [93, \"multiple-occurrences\"]\n ],\n- \"to: fastboot\": [\n- [2, \"to-fastboot\"]\n+ \"Accessing associated sections of test job logs\": [\n+ [93, \"accessing-associated-sections-of-test-job-logs\"]\n ],\n- \"partition\": [\n- [2, \"partition\"],\n- [2, \"id71\"]\n+ \"Sample output for lava-test-case shell\": [\n+ [93, \"sample-output-for-lava-test-case-name-shell\"]\n ],\n- \"reboot\": [\n- [2, \"reboot\"]\n+ \"Setting up a LAVA instance\": [\n+ [83, \"setting-up-a-lava-instance\"]\n ],\n- \"apply-overlay\": [\n- [2, \"apply-overlay\"],\n- [2, \"deploy-to-uuu-images-apply-overlay\"]\n+ \"Installing just lava-server\": [\n+ [83, \"installing-just-lava-server\"]\n ],\n- \"sparse\": [\n- [2, \"sparse\"],\n- [2, \"deploy-to-uuu-images-sparse\"]\n+ \"Installing the full lava set\": [\n+ [83, \"installing-the-full-lava-set\"]\n ],\n- \"to: fvp\": [\n- [2, \"to-fvp\"]\n+ \"Installing master without Recommends\": [\n+ [83, \"installing-master-without-recommends\"]\n ],\n- \"overlays\": [\n- [2, \"id9\"]\n+ \"Installing lava-dispatcher\": [\n+ [83, \"installing-lava-dispatcher\"]\n ],\n- \"partition *\": [\n- [2, \"id10\"]\n+ \"Configuring apache2 on a worker\": [\n+ [83, \"configuring-apache2-on-a-worker\"]\n ],\n- \"ramdisk\": [\n- [2, \"ramdisk\"],\n- [2, \"deploy-to-sata-ramdisk\"],\n- [2, \"deploy-to-tftp-ramdisk\"],\n- [2, \"deploy-to-usb-ramdisk\"]\n+ \"Adding workers to the master\": [\n+ [83, \"adding-workers-to-the-master\"]\n ],\n- \"to: iso-installer\": [\n- [2, \"to-iso-installer\"]\n+ \"Adding devices to a worker\": [\n+ [83, \"adding-devices-to-a-worker\"]\n ],\n- \"iso\": [\n- [2, \"iso\"],\n- [2, \"deploy-to-iso-installer-iso\"]\n+ \"Development process\": [\n+ [88, \"development-process\"]\n ],\n- \"image_arg\": [\n- [2, \"image-arg\"],\n- [2, \"deploy-to-tmpfs-images-image-arg\"]\n+ \"Design meeting\": [\n+ [88, \"design-meeting\"]\n ],\n- \"preseed\": [\n- [2, \"preseed\"]\n+ \"Release process\": [\n+ [88, \"release-process\"]\n ],\n- \"kernel\": [\n- [2, \"kernel\"],\n- [2, \"deploy-to-nbd-kernel\"],\n- [2, \"deploy-to-tftp-kernel\"]\n+ \"Reporting Bugs\": [\n+ [88, \"reporting-bugs\"]\n ],\n- \"initrd\": [\n- [2, \"initrd\"],\n- [2, \"deploy-to-nbd-initrd\"]\n+ \"QEMU options\": [\n+ [91, \"qemu-options\"]\n ],\n- \"console\": [\n- [2, \"console\"]\n+ \"Virtualization testing\": [\n+ [91, \"virtualization-testing\"]\n ],\n- \"installation_size\": [\n- [2, \"installation-size\"]\n+ \"Emulation testing\": [\n+ [91, \"emulation-testing\"]\n ],\n- \"to: lxc\": [\n- [2, \"to-lxc\"]\n+ \"Substitution support\": [\n+ [91, \"substitution-support\"]\n ],\n- \"packages\": [\n- [2, \"packages\"]\n+ \"Mandatory support\": [\n+ [91, \"mandatory-support\"]\n ],\n- \"to: musca\": [\n- [2, \"to-musca\"]\n+ \"Specific support\": [\n+ [91, \"specific-support\"]\n ],\n- \"test_binary\": [\n- [2, \"test-binary\"],\n- [2, \"deploy-to-mps-test-binary\"]\n+ \"Example command lines\": [\n+ [91, \"example-command-lines\"]\n ],\n- \"to: nbd\": [\n- [2, \"to-nbd\"]\n+ \"How to override variables\": [\n+ [91, \"how-to-override-variables\"]\n ],\n- \"type\": [\n- [2, \"type\"],\n- [2, \"deploy-to-tftp-kernel-type\"]\n+ \"How to specify QEMU environment options\": [\n+ [91, \"how-to-specify-qemu-environment-options\"]\n ],\n- \"Supported types\": [\n- [2, null],\n- [2, null]\n+ \"Host architecture support\": [\n+ [91, \"host-architecture-support\"]\n ],\n- \"dtb\": [\n- [2, \"dtb\"],\n- [2, \"deploy-to-tftp-dtb\"]\n+ \"LAVA test storage\": [\n+ [91, \"lava-test-storage\"]\n ],\n- \"modules\": [\n- [2, \"modules\"],\n- [2, \"deploy-to-tftp-modules\"]\n+ \"Replacing VMGroups using Secondary Connections\": [\n+ [87, \"replacing-vmgroups-using-secondary-connections\"]\n ],\n- \"nbdroot\": [\n- [2, \"nbdroot\"]\n+ \"Structure of an example job for a mustang\": [\n+ [87, \"structure-of-an-example-job-for-a-mustang\"]\n ],\n- \"to: recovery\": [\n- [2, \"to-recovery\"]\n+ \"Notes\": [\n+ [87, \"notes\"]\n ],\n- \"to: sata\": [\n- [2, \"to-sata\"]\n+ \"Running operations inside the guest VM\": [\n+ [87, \"running-operations-inside-the-guest-vm\"]\n ],\n- \"kernel *\": [\n- [2, \"deploy-to-sata-kernel\"],\n- [2, \"deploy-to-usb-kernel\"]\n+ \"Test Writer use cases\": [\n+ [85, \"test-writer-use-cases\"]\n ],\n- \"dtb *\": [\n- [2, \"deploy-to-sata-dtb\"],\n- [2, \"deploy-to-usb-dtb\"]\n+ \"Writing a LAVA job submission\": [\n+ [85, \"writing-a-lava-job-submission\"]\n ],\n- \"UUID *\": [\n- [2, \"uuid\"],\n- [2, \"deploy-to-usb-uuid\"]\n+ \"General principles\": [\n+ [85, \"general-principles\"]\n ],\n- \"boot_part *\": [\n- [2, \"boot-part\"],\n- [2, \"deploy-to-usb-boot-part\"]\n+ \"API\": [\n+ [85, \"api\"]\n ],\n- \"to: ssh\": [\n- [2, \"to-ssh\"]\n+ \"Validity checks\": [\n+ [85, \"validity-checks\"]\n ],\n- \"protocols\": [\n- [2, \"protocols\"]\n+ \"Results\": [\n+ [85, \"results\"]\n ],\n- \"to: tftp\": [\n- [2, \"to-tftp\"]\n+ \"Job submission data\": [\n+ [85, \"job-submission-data\"]\n ],\n- \"header\": [\n- [2, \"header\"]\n+ \"Writing a new TestJob\": [\n+ [85, \"writing-a-new-testjob\"]\n ],\n- \"nfsrootfs\": [\n- [2, \"nfsrootfs\"]\n+ \"YAML syntax\": [\n+ [85, \"yaml-syntax\"]\n ],\n- \"persistent_nfs\": [\n- [2, \"persistent-nfs\"]\n+ \"Common YAML errors\": [\n+ [85, \"common-yaml-errors\"]\n ],\n- \"Known Caveats\": [\n- [2, null]\n+ \"Understanding available support\": [\n+ [85, \"understanding-available-support\"]\n ],\n- \"address *\": [\n- [2, \"address\"]\n+ \"Understanding a TestJob\": [\n+ [85, \"understanding-a-testjob\"]\n ],\n- \"to: tmpfs\": [\n- [2, \"to-tmpfs\"]\n+ \"Submissions using advanced features\": [\n+ [85, \"submissions-using-advanced-features\"]\n ],\n- \"to: usb\": [\n- [2, \"to-usb\"]\n+ \"Templating\": [\n+ [85, \"templating\"]\n ],\n- \"to: vemsd\": [\n- [2, \"to-vemsd\"]\n+ \"Including YAML\": [\n+ [85, \"including-yaml\"]\n ],\n- \"recovery_image\": [\n- [2, \"recovery-image\"],\n- [2, \"id65\"]\n+ \"LAVA schema\": [\n+ [82, \"lava-schema\"]\n ],\n- \"to: mps\": [\n- [2, \"to-mps\"]\n+ \"Job Submission Schema\": [\n+ [82, \"job-submission-schema\"]\n ],\n- \"rename\": [\n- [2, \"rename\"]\n+ \"Schema elements\": [\n+ [82, \"schema-elements\"]\n ],\n- \"to: uuu\": [\n- [2, \"to-uuu\"]\n+ \"Comments\": [\n+ [82, \"comments\"]\n ],\n- \"os *\": [\n- [2, \"deploy-os\"]\n+ \"Job Name\": [\n+ [82, \"job-name\"]\n ],\n- \"Media limitations of test devices\": [\n- [96, \"media-limitations-of-test-devices\"]\n+ \"Device Type\": [\n+ [82, \"device-type\"]\n ],\n- \"Primary media and primary bootloaders\": [\n- [96, \"primary-media-and-primary-bootloaders\"]\n+ \"Timeouts\": [\n+ [82, \"timeouts\"],\n+ [106, \"timeouts\"],\n+ [70, \"timeouts\"]\n ],\n- \"Bootloader limitations\": [\n- [96, \"bootloader-limitations\"]\n+ \"Priority\": [\n+ [82, \"priority\"]\n ],\n- \"Occasional debugging\": [\n- [96, \"occasional-debugging\"]\n+ \"Context\": [\n+ [82, \"context\"],\n+ [100, \"context\"]\n ],\n- \"Installer testing\": [\n- [96, \"installer-testing\"]\n+ \"Protocols\": [\n+ [82, \"protocols\"]\n ],\n- \"Secondary media deployment of images\": [\n- [96, \"secondary-media-deployment-of-images\"]\n+ \"Actions\": [\n+ [82, \"actions\"],\n+ [70, \"actions\"]\n ],\n- \"Principles and Requirements\": [\n- [96, \"principles-and-requirements\"]\n+ \"Deploy Action\": [\n+ [82, \"deploy-action\"]\n ],\n- \"Test Writer steps\": [\n- [96, \"test-writer-steps\"]\n+ \"Boot Action\": [\n+ [82, \"boot-action\"]\n ],\n- \"Deploy commands\": [\n- [96, \"deploy-commands\"]\n+ \"Test Action\": [\n+ [82, \"test-action\"]\n ],\n- \"Boot commands\": [\n- [96, \"boot-commands\"]\n+ \"Pipeline Design\": [\n+ [81, \"pipeline-design\"]\n ],\n- \"Standard test job for QEMU - Stretch amd64\": [\n- [100, \"standard-test-job-for-qemu-stretch-amd64\"]\n+ \"Principles of the LAVA design\": [\n+ [81, \"principles-of-the-lava-design\"]\n ],\n- \"arch\": [\n- [100, \"arch\"]\n+ \"Test Writer aspects\": [\n+ [81, \"test-writer-aspects\"]\n ],\n- \"netdevice\": [\n- [100, \"netdevice\"]\n+ \"Administrator aspects\": [\n+ [81, \"administrator-aspects\"]\n ],\n- \"Test\": [\n- [100, \"test\"],\n- [98, \"test\"],\n- [70, \"test\"]\n+ \"Administrator debugging\": [\n+ [80, \"administrator-debugging\"]\n ],\n- \"Next steps\": [\n- [100, \"next-steps\"]\n+ \"Debugging a LAVA instance\": [\n+ [80, \"debugging-a-lava-instance\"]\n ],\n- \"Using Jinja2 to generate LAVA test job submissions\": [\n- [104, \"using-jinja2-to-generate-lava-test-job-submissions\"]\n+ \"Components\": [\n+ [80, \"components\"]\n ],\n- \"Starting with templates\": [\n- [104, \"starting-with-templates\"]\n+ \"Log files\": [\n+ [80, \"log-files\"],\n+ [97, \"log-files\"]\n ],\n- \"Output\": [\n- [104, \"output\"]\n+ \"Command line debugging\": [\n+ [80, \"command-line-debugging\"]\n ],\n- \"Extending templates with contexts\": [\n- [104, \"extending-templates-with-contexts\"]\n+ \"Configuration files\": [\n+ [80, \"configuration-files\"]\n ],\n- \"Templates can extend templates\": [\n- [104, \"templates-can-extend-templates\"]\n+ \"Check LAVA instance\": [\n+ [80, \"check-lava-instance\"]\n ],\n- \"Logic control within templates\": [\n- [104, \"logic-control-within-templates\"]\n+ \"Displaying current settings\": [\n+ [80, \"displaying-current-settings\"]\n ],\n- \"Template best practice\": [\n- [104, \"template-best-practice\"]\n+ \"Django support in 1.11\": [\n+ [80, \"django-support-in-1-11\"]\n ],\n- \"Using templates for test jobs\": [\n- [104, \"using-templates-for-test-jobs\"]\n+ \"Writing jobs using Secondary Connections\": [\n+ [86, \"writing-jobs-using-secondary-connections\"]\n+ ],\n+ \"Secure Shell connections (ssh)\": [\n+ [86, \"secure-shell-connections-ssh\"]\n+ ],\n+ \"Delaying the start of a job using Multinode\": [\n+ [86, \"delaying-the-start-of-a-job-using-multinode\"]\n+ ],\n+ \"Picking up the data in the guest role\": [\n+ [86, \"picking-up-the-data-in-the-guest-role\"]\n+ ],\n+ \"Test definition for the host role\": [\n+ [86, \"test-definition-for-the-host-role\"]\n+ ],\n+ \"Test definition for the guest role\": [\n+ [86, \"test-definition-for-the-guest-role\"]\n+ ],\n+ \"Complete Multinode test definition\": [\n+ [86, \"complete-multinode-test-definition\"]\n+ ],\n+ \"State machine\": [\n+ [95, \"state-machine\"]\n+ ],\n+ \"Devices\": [\n+ [95, \"devices\"]\n+ ],\n+ \"TestJobs\": [\n+ [95, \"testjobs\"]\n+ ],\n+ \"Scheduler\": [\n+ [95, \"scheduler\"]\n+ ],\n+ \"Health-checks\": [\n+ [95, \"health-checks\"]\n+ ],\n+ \"Test jobs\": [\n+ [95, \"test-jobs\"]\n+ ],\n+ \"LAVA review criteria\": [\n+ [94, \"lava-review-criteria\"]\n+ ],\n+ \"Keep the dispatcher dumb\": [\n+ [94, \"keep-the-dispatcher-dumb\"]\n+ ],\n+ \"Avoid defaults in dispatcher code\": [\n+ [94, \"avoid-defaults-in-dispatcher-code\"]\n+ ],\n+ \"Let the test fail and diagnose later\": [\n+ [94, \"let-the-test-fail-and-diagnose-later\"]\n+ ],\n+ \"Treat the deployment as a black box\": [\n+ [94, \"treat-the-deployment-as-a-black-box\"]\n+ ],\n+ \"Only protect the essential components\": [\n+ [94, \"only-protect-the-essential-components\"]\n+ ],\n+ \"Give the test writer enough rope\": [\n+ [94, \"give-the-test-writer-enough-rope\"]\n+ ],\n+ \"Guidance\": [\n+ [94, \"guidance\"]\n+ ],\n+ \"Correlating a test result with the source code\": [\n+ [92, \"correlating-a-test-result-with-the-source-code\"]\n+ ],\n+ \"Problems within test suites\": [\n+ [92, \"problems-within-test-suites\"]\n+ ],\n+ \"Avoid reliance on the total count\": [\n+ [92, \"avoid-reliance-on-the-total-count\"]\n+ ],\n+ \"Control the test operations\": [\n+ [92, \"control-the-test-operations\"]\n+ ],\n+ \"Control the output\": [\n+ [92, \"control-the-output\"]\n+ ],\n+ \"Control the base system\": [\n+ [92, \"control-the-base-system\"]\n+ ],\n+ \"Control the build system\": [\n+ [92, \"control-the-build-system\"]\n+ ],\n+ \"Control the list of tests\": [\n+ [92, \"control-the-list-of-tests\"]\n+ ],\n+ \"Distinguish between CI tests and functional tests\": [\n+ [92, \"distinguish-between-ci-tests-and-functional-tests\"]\n+ ],\n+ \"Manage testing of complete software stacks\": [\n+ [92, \"manage-testing-of-complete-software-stacks\"]\n+ ],\n+ \"Reproducing test jobs\": [\n+ [92, \"reproducing-test-jobs\"]\n+ ],\n+ \"Advanced Use Cases\": [\n+ [84, \"advanced-use-cases\"]\n+ ],\n+ \"Test definitions in version control\": [\n+ [105, \"test-definitions-in-version-control\"]\n+ ],\n+ \"Job definitions in version control\": [\n+ [105, \"job-definitions-in-version-control\"]\n+ ],\n+ \"Using specific branch of a test definition repository\": [\n+ [105, \"using-specific-branch-of-a-test-definition-repository\"]\n+ ],\n+ \"Using specific revisions of a test definition\": [\n+ [105, \"using-specific-revisions-of-a-test-definition\"]\n+ ],\n+ \"Shallow clones in GIT\": [\n+ [105, \"shallow-clones-in-git\"]\n+ ],\n+ \"Removing git history\": [\n+ [105, \"removing-git-history\"]\n+ ],\n+ \"Sharing the contents of test definitions\": [\n+ [105, \"sharing-the-contents-of-test-definitions\"]\n+ ],\n+ \"Test repository for functional tests in LAVA\": [\n+ [105, \"test-repository-for-functional-tests-in-lava\"]\n+ ],\n+ \"Using kernel messages in a test shell\": [\n+ [105, \"using-kernel-messages-in-a-test-shell\"]\n+ ],\n+ \"Syntax\": [\n+ [105, \"syntax\"]\n+ ],\n+ \"Login\": [\n+ [105, \"login\"]\n+ ],\n+ \"stdout\": [\n+ [105, \"stdout\"]\n+ ],\n+ \"Standard test job for beaglebone-black\": [\n+ [98, \"standard-test-job-for-beaglebone-black\"],\n+ [98, \"standard-armmp-bbb\"]\n+ ],\n+ \"Standard test jobs for other devices\": [\n+ [98, \"standard-test-jobs-for-other-devices\"]\n+ ],\n+ \"Features of a ramdisk test job\": [\n+ [98, \"features-of-a-ramdisk-test-job\"]\n+ ],\n+ \"Features of an NFS test job\": [\n+ [98, \"features-of-an-nfs-test-job\"]\n+ ],\n+ \"Specific options\": [\n+ [98, \"specific-options\"]\n+ ],\n+ \"Test\": [\n+ [98, \"test\"],\n+ [100, \"test\"],\n+ [70, \"test\"]\n ],\n \"Automation and Timeouts\": [\n [106, \"automation-and-timeouts\"]\n ],\n \"Why must timeouts exist?\": [\n [106, \"why-must-timeouts-exist\"]\n ],\n@@ -9532,26 +9518,146 @@\n ],\n \"Action block overrides\": [\n [106, \"action-block-overrides\"]\n ],\n \"Skipping a test shell timeout\": [\n [106, \"skipping-a-test-shell-timeout\"]\n ],\n+ \"Using Jinja2 to generate LAVA test job submissions\": [\n+ [104, \"using-jinja2-to-generate-lava-test-job-submissions\"]\n+ ],\n+ \"Starting with templates\": [\n+ [104, \"starting-with-templates\"]\n+ ],\n+ \"Output\": [\n+ [104, \"output\"]\n+ ],\n+ \"Extending templates with contexts\": [\n+ [104, \"extending-templates-with-contexts\"]\n+ ],\n+ \"Templates can extend templates\": [\n+ [104, \"templates-can-extend-templates\"]\n+ ],\n+ \"Logic control within templates\": [\n+ [104, \"logic-control-within-templates\"]\n+ ],\n+ \"Template best practice\": [\n+ [104, \"template-best-practice\"]\n+ ],\n+ \"Using templates for test jobs\": [\n+ [104, \"using-templates-for-test-jobs\"]\n+ ],\n \"Standard test job for QEMU - Sid arm64\": [\n [99, \"standard-test-job-for-qemu-sid-arm64\"]\n ],\n \"QEMU with kernel and initramfs\": [\n [99, \"qemu-with-kernel-and-initramfs\"]\n ],\n \"Job context\": [\n [99, \"job-context\"]\n ],\n \"Deploying the kernel\": [\n [99, \"deploying-the-kernel\"]\n ],\n+ \"Standard test job for QEMU - Stretch amd64\": [\n+ [100, \"standard-test-job-for-qemu-stretch-amd64\"]\n+ ],\n+ \"arch\": [\n+ [100, \"arch\"]\n+ ],\n+ \"netdevice\": [\n+ [100, \"netdevice\"]\n+ ],\n+ \"Next steps\": [\n+ [100, \"next-steps\"]\n+ ],\n+ \"Using tables in LAVA\": [\n+ [103, \"using-tables-in-lava\"]\n+ ],\n+ \"Table search support\": [\n+ [103, \"table-search-support\"]\n+ ],\n+ \"Simple text search\": [\n+ [103, \"simple-text-search\"]\n+ ],\n+ \"Custom table queries\": [\n+ [103, \"custom-table-queries\"]\n+ ],\n+ \"Exclusive table searches\": [\n+ [103, \"exclusive-table-searches\"]\n+ ],\n+ \"Other filters\": [\n+ [103, \"other-filters\"]\n+ ],\n+ \"Resetting a table\": [\n+ [103, \"resetting-a-table\"]\n+ ],\n+ \"Unavailable entries\": [\n+ [103, \"unavailable-entries\"]\n+ ],\n+ \"VLANd support in LAVA test jobs\": [\n+ [108, \"vland-support-in-lava-test-jobs\"]\n+ ],\n+ \"What is a VLAN?\": [\n+ [108, \"what-is-a-vlan\"]\n+ ],\n+ \"VLANd and LAVA\": [\n+ [108, \"vland-and-lava\"]\n+ ],\n+ \"VLANd test shell helpers\": [\n+ [108, \"vland-test-shell-helpers\"]\n+ ],\n+ \"lava-vland-self\": [\n+ [108, \"lava-vland-self\"]\n+ ],\n+ \"lava-vland-tags\": [\n+ [108, \"lava-vland-tags\"]\n+ ],\n+ \"lava-vland-names\": [\n+ [108, \"lava-vland-names\"]\n+ ],\n+ \"Identifying interface names\": [\n+ [108, \"vland-identify-interface-names\"]\n+ ],\n+ \"VLANd Restrictions\": [\n+ [108, \"vland-restrictions\"]\n+ ],\n+ \"VLANd Design goals and considerations\": [\n+ [108, \"vland-design-goals-and-considerations\"]\n+ ],\n+ \"LAVA and VLANd Device considerations\": [\n+ [108, \"lava-and-vland-device-considerations\"]\n+ ],\n+ \"Requirement for multiple interfaces\": [\n+ [108, \"requirement-for-multiple-interfaces\"]\n+ ],\n+ \"LAVA and locked switch/port combinations\": [\n+ [108, \"lava-and-locked-switch-port-combinations\"]\n+ ],\n+ \"VLANd and MultiNode\": [\n+ [108, \"vland-and-multinode\"]\n+ ],\n+ \"LAVA VLANd database support\": [\n+ [108, \"lava-vland-database-support\"]\n+ ],\n+ \"Interfaces and link speeds\": [\n+ [108, \"interfaces-and-link-speeds\"]\n+ ],\n+ \"VLANd and interface tags in LAVA\": [\n+ [108, \"vland-and-interface-tags-in-lava\"]\n+ ],\n+ \"Assigning roles to a VLAN\": [\n+ [108, \"assigning-roles-to-a-vlan\"]\n+ ],\n+ \"Example vland protocol YAML\": [\n+ [108, \"example-vland-protocol-yaml\"]\n+ ],\n+ \"Example YAML for the protocols\": [\n+ [108, \"example-yaml-for-the-protocols\"]\n+ ],\n \"Simple Administration\": [\n [97, \"simple-administration\"]\n ],\n \"Outline\": [\n [97, \"outline\"]\n ],\n \"Debian system administration\": [\n@@ -9647,37 +9753,43 @@\n ],\n \"Owners and physical access\": [\n [97, \"owners-and-physical-access\"]\n ],\n \"Setting owners and physical access\": [\n [97, \"setting-owners-and-physical-access\"]\n ],\n- \"Gold standard test jobs\": [\n- [101, \"gold-standard-test-jobs\"]\n+ \"Media limitations of test devices\": [\n+ [96, \"media-limitations-of-test-devices\"]\n ],\n- \"User notifications in LAVA\": [\n- [107, \"user-notifications-in-lava\"]\n+ \"Primary media and primary bootloaders\": [\n+ [96, \"primary-media-and-primary-bootloaders\"]\n ],\n- \"Notification recipients\": [\n- [107, \"notification-recipients\"]\n+ \"Bootloader limitations\": [\n+ [96, \"bootloader-limitations\"]\n ],\n- \"Notification callbacks\": [\n- [107, \"notification-callbacks\"]\n+ \"Occasional debugging\": [\n+ [96, \"occasional-debugging\"]\n ],\n- \"Debugging notification callbacks\": [\n- [107, \"debugging-notification-callbacks\"]\n+ \"Installer testing\": [\n+ [96, \"installer-testing\"]\n ],\n- \"Using profile settings\": [\n- [107, \"using-profile-settings\"]\n+ \"Secondary media deployment of images\": [\n+ [96, \"secondary-media-deployment-of-images\"]\n ],\n- \"Direct listing of recipients\": [\n- [107, \"direct-listing-of-recipients\"]\n+ \"Principles and Requirements\": [\n+ [96, \"principles-and-requirements\"]\n ],\n- \"Result comparison in notifications\": [\n- [107, \"result-comparison-in-notifications\"]\n+ \"Test Writer steps\": [\n+ [96, \"test-writer-steps\"]\n+ ],\n+ \"Deploy commands\": [\n+ [96, \"deploy-commands\"]\n+ ],\n+ \"Boot commands\": [\n+ [96, \"boot-commands\"]\n ],\n \"Writing MultiNode tests\": [\n [110, \"writing-multinode-tests\"]\n ],\n \"Writing a MultiNode job file\": [\n [110, \"writing-a-multinode-job-file\"]\n ],\n@@ -9731,101 +9843,14 @@\n ],\n \"Writing jobs using MultiNode and LXC\": [\n [110, \"writing-jobs-using-multinode-and-lxc\"]\n ],\n \"Adding test actions\": [\n [110, \"adding-test-actions\"]\n ],\n- \"Getting support\": [\n- [102, \"getting-support\"]\n- ],\n- \"Guidelines\": [\n- [102, \"guidelines\"]\n- ],\n- \"Mailing lists\": [\n- [102, \"mailing-lists\"]\n- ],\n- \"lava-users\": [\n- [102, \"lava-users\"]\n- ],\n- \"lava-devel\": [\n- [102, \"lava-devel\"]\n- ],\n- \"lava-announce\": [\n- [102, \"lava-announce\"]\n- ],\n- \"IRC\": [\n- [102, \"irc\"]\n- ],\n- \"Pastebins\": [\n- [102, \"pastebins\"]\n- ],\n- \"Test definitions in version control\": [\n- [105, \"test-definitions-in-version-control\"]\n- ],\n- \"Job definitions in version control\": [\n- [105, \"job-definitions-in-version-control\"]\n- ],\n- \"Using specific branch of a test definition repository\": [\n- [105, \"using-specific-branch-of-a-test-definition-repository\"]\n- ],\n- \"Using specific revisions of a test definition\": [\n- [105, \"using-specific-revisions-of-a-test-definition\"]\n- ],\n- \"Shallow clones in GIT\": [\n- [105, \"shallow-clones-in-git\"]\n- ],\n- \"Removing git history\": [\n- [105, \"removing-git-history\"]\n- ],\n- \"Sharing the contents of test definitions\": [\n- [105, \"sharing-the-contents-of-test-definitions\"]\n- ],\n- \"Test repository for functional tests in LAVA\": [\n- [105, \"test-repository-for-functional-tests-in-lava\"]\n- ],\n- \"Using kernel messages in a test shell\": [\n- [105, \"using-kernel-messages-in-a-test-shell\"]\n- ],\n- \"Syntax\": [\n- [105, \"syntax\"]\n- ],\n- \"Login\": [\n- [105, \"login\"]\n- ],\n- \"stdout\": [\n- [105, \"stdout\"]\n- ],\n- \"Administering VLANd support in LAVA\": [\n- [109, \"administering-vland-support-in-lava\"]\n- ],\n- \"Mandatory Constraints\": [\n- [109, \"mandatory-constraints\"]\n- ],\n- \"Single set of switches\": [\n- [109, \"single-set-of-switches\"]\n- ],\n- \"Switches must have drivers in vland\": [\n- [109, \"switches-must-have-drivers-in-vland\"]\n- ],\n- \"Accurate map of network topology\": [\n- [109, \"accurate-map-of-network-topology\"]\n- ],\n- \"Identification of primary interfaces\": [\n- [109, \"identify-primary-interfaces\"]\n- ],\n- \"Additional advice\": [\n- [109, \"additional-advice\"]\n- ],\n- \"Example device dictionary\": [\n- [109, \"example-device-dictionary\"]\n- ],\n- \"Viewing the network map\": [\n- [109, \"viewing-the-network-map\"]\n- ],\n \"Writing a Lava-Test Test Definition 1.0\": [\n [111, \"writing-a-lava-test-test-definition-1-0\"]\n ],\n \"Writing a test definition YAML file\": [\n [111, \"writing-a-test-definition-yaml-file\"]\n ],\n \"Optional metadata\": [\n@@ -9974,122 +9999,162 @@\n ],\n \"Problems with output\": [\n [111, \"problems-with-output\"]\n ],\n \"Control the number of test cases reported\": [\n [111, \"control-the-number-of-test-cases-reported\"]\n ],\n- \"VLANd support in LAVA test jobs\": [\n- [108, \"vland-support-in-lava-test-jobs\"]\n+ \"Gold standard test jobs\": [\n+ [101, \"gold-standard-test-jobs\"]\n ],\n- \"What is a VLAN?\": [\n- [108, \"what-is-a-vlan\"]\n+ \"Administering VLANd support in LAVA\": [\n+ [109, \"administering-vland-support-in-lava\"]\n ],\n- \"VLANd and LAVA\": [\n- [108, \"vland-and-lava\"]\n+ \"Mandatory Constraints\": [\n+ [109, \"mandatory-constraints\"]\n ],\n- \"VLANd test shell helpers\": [\n- [108, \"vland-test-shell-helpers\"]\n+ \"Single set of switches\": [\n+ [109, \"single-set-of-switches\"]\n ],\n- \"lava-vland-self\": [\n- [108, \"lava-vland-self\"]\n+ \"Switches must have drivers in vland\": [\n+ [109, \"switches-must-have-drivers-in-vland\"]\n ],\n- \"lava-vland-tags\": [\n- [108, \"lava-vland-tags\"]\n+ \"Accurate map of network topology\": [\n+ [109, \"accurate-map-of-network-topology\"]\n ],\n- \"lava-vland-names\": [\n- [108, \"lava-vland-names\"]\n+ \"Identification of primary interfaces\": [\n+ [109, \"identify-primary-interfaces\"]\n ],\n- \"Identifying interface names\": [\n- [108, \"vland-identify-interface-names\"]\n+ \"Additional advice\": [\n+ [109, \"additional-advice\"]\n ],\n- \"VLANd Restrictions\": [\n- [108, \"vland-restrictions\"]\n+ \"Example device dictionary\": [\n+ [109, \"example-device-dictionary\"]\n ],\n- \"VLANd Design goals and considerations\": [\n- [108, \"vland-design-goals-and-considerations\"]\n+ \"Viewing the network map\": [\n+ [109, \"viewing-the-network-map\"]\n ],\n- \"LAVA and VLANd Device considerations\": [\n- [108, \"lava-and-vland-device-considerations\"]\n+ \"User notifications in LAVA\": [\n+ [107, \"user-notifications-in-lava\"]\n ],\n- \"Requirement for multiple interfaces\": [\n- [108, \"requirement-for-multiple-interfaces\"]\n+ \"Notification recipients\": [\n+ [107, \"notification-recipients\"]\n ],\n- \"LAVA and locked switch/port combinations\": [\n- [108, \"lava-and-locked-switch-port-combinations\"]\n+ \"Notification callbacks\": [\n+ [107, \"notification-callbacks\"]\n ],\n- \"VLANd and MultiNode\": [\n- [108, \"vland-and-multinode\"]\n+ \"Debugging notification callbacks\": [\n+ [107, \"debugging-notification-callbacks\"]\n ],\n- \"LAVA VLANd database support\": [\n- [108, \"lava-vland-database-support\"]\n+ \"Using profile settings\": [\n+ [107, \"using-profile-settings\"]\n ],\n- \"Interfaces and link speeds\": [\n- [108, \"interfaces-and-link-speeds\"]\n+ \"Direct listing of recipients\": [\n+ [107, \"direct-listing-of-recipients\"]\n ],\n- \"VLANd and interface tags in LAVA\": [\n- [108, \"vland-and-interface-tags-in-lava\"]\n+ \"Result comparison in notifications\": [\n+ [107, \"result-comparison-in-notifications\"]\n ],\n- \"Assigning roles to a VLAN\": [\n- [108, \"assigning-roles-to-a-vlan\"]\n+ \"Getting support\": [\n+ [102, \"getting-support\"]\n ],\n- \"Example vland protocol YAML\": [\n- [108, \"example-vland-protocol-yaml\"]\n+ \"Guidelines\": [\n+ [102, \"guidelines\"]\n ],\n- \"Example YAML for the protocols\": [\n- [108, \"example-yaml-for-the-protocols\"]\n+ \"Mailing lists\": [\n+ [102, \"mailing-lists\"]\n ],\n- \"Standard test job for beaglebone-black\": [\n- [98, \"standard-test-job-for-beaglebone-black\"],\n- [98, \"standard-armmp-bbb\"]\n+ \"lava-users\": [\n+ [102, \"lava-users\"]\n ],\n- \"Standard test jobs for other devices\": [\n- [98, \"standard-test-jobs-for-other-devices\"]\n+ \"lava-devel\": [\n+ [102, \"lava-devel\"]\n ],\n- \"Features of a ramdisk test job\": [\n- [98, \"features-of-a-ramdisk-test-job\"]\n+ \"lava-announce\": [\n+ [102, \"lava-announce\"]\n ],\n- \"Features of an NFS test job\": [\n- [98, \"features-of-an-nfs-test-job\"]\n+ \"IRC\": [\n+ [102, \"irc\"]\n ],\n- \"Specific options\": [\n- [98, \"specific-options\"]\n+ \"Pastebins\": [\n+ [102, \"pastebins\"]\n ],\n- \"Using tables in LAVA\": [\n- [103, \"using-tables-in-lava\"]\n+ \"Naming conventions and LAVA architecture\": [\n+ [75, \"naming-conventions-and-lava-architecture\"]\n ],\n- \"Table search support\": [\n- [103, \"table-search-support\"]\n+ \"Understanding the Pipeline - an administrator guide\": [\n+ [79, \"understanding-the-pipeline-an-administrator-guide\"]\n ],\n- \"Simple text search\": [\n- [103, \"simple-text-search\"]\n+ \"Device type templates\": [\n+ [79, \"device-type-templates\"]\n ],\n- \"Custom table queries\": [\n- [103, \"custom-table-queries\"]\n+ \"Checking your templates\": [\n+ [79, \"checking-your-templates\"]\n ],\n- \"Exclusive table searches\": [\n- [103, \"exclusive-table-searches\"]\n+ \"Finding your way around the files\": [\n+ [79, \"finding-your-way-around-the-files\"]\n ],\n- \"Other filters\": [\n- [103, \"other-filters\"]\n+ \"Information sources\": [\n+ [79, \"information-sources\"]\n ],\n- \"Resetting a table\": [\n- [103, \"resetting-a-table\"]\n+ \"The functional tests repository\": [\n+ [79, \"the-functional-tests-repository\"]\n ],\n- \"Unavailable entries\": [\n- [103, \"unavailable-entries\"]\n+ \"The lava-server unit test support\": [\n+ [79, \"the-lava-server-unit-test-support\"]\n ],\n- \"Job submission failure help\": [\n- [66, \"job-submission-failure-help\"]\n+ \"Extra device configuration\": [\n+ [79, \"extra-device-configuration\"]\n ],\n- \"Device type X is not available\": [\n- [66, \"device-type-x-is-not-available\"]\n+ \"Providing permanent IPv4 addresses\": [\n+ [79, \"providing-permanent-ipv4-addresses\"]\n ],\n- \"No devices of type X are currently available to user Y\": [\n- [66, \"no-devices-of-type-x-are-currently-available-to-user-y\"]\n+ \"Providing temporary filesystem storage\": [\n+ [79, \"providing-temporary-filesystem-storage\"]\n+ ],\n+ \"Extra dispatcher configuration\": [\n+ [79, \"extra-dispatcher-configuration\"]\n+ ],\n+ \"Per dispatcher environment settings\": [\n+ [79, \"per-dispatcher-environment-settings\"]\n+ ],\n+ \"Requirements for a LAVA device\": [\n+ [79, \"requirements-for-a-lava-device\"]\n+ ],\n+ \"Adding support for a device of a known type\": [\n+ [79, \"adding-support-for-a-device-of-a-known-type\"]\n+ ],\n+ \"Obtaining configuration of a known device\": [\n+ [79, \"obtaining-configuration-of-a-known-device\"]\n+ ],\n+ \"Creating a new device entry for a known device type\": [\n+ [79, \"creating-a-new-device-entry-for-a-known-device-type\"]\n+ ],\n+ \"Creating a device dictionary for the device\": [\n+ [79, \"creating-a-device-dictionary-for-the-device\"],\n+ [70, \"creating-a-device-dictionary-for-the-device\"]\n+ ],\n+ \"Based upon an existing device\": [\n+ [79, \"based-upon-an-existing-device\"]\n+ ],\n+ \"Viewing current device dictionary content\": [\n+ [79, \"viewing-current-device-dictionary-content\"]\n+ ],\n+ \"Updating a device dictionary\": [\n+ [79, \"updating-a-device-dictionary\"]\n+ ],\n+ \"Using the command line\": [\n+ [79, \"using-the-command-line\"]\n+ ],\n+ \"Using lavacli\": [\n+ [79, \"using-lavacli\"],\n+ [69, \"using-lavacli\"]\n+ ],\n+ \"Using XML-RPC\": [\n+ [79, \"using-xml-rpc\"]\n ],\n \"MultiNode LAVA\": [\n [73, \"multinode-lava\"]\n ],\n \"Using LAVA MultiNode synchronization\": [\n [73, \"using-lava-multinode-synchronization\"]\n ],\n@@ -10107,61 +10172,55 @@\n ],\n \"Making use of third party servers\": [\n [73, \"making-use-of-third-party-servers\"]\n ],\n \"Using wrapper scripts\": [\n [73, \"using-wrapper-scripts\"]\n ],\n- \"Continuous Integration\": [\n- [67, \"continuous-integration\"]\n- ],\n- \"Summary of CI best practices\": [\n- [67, \"summary-of-ci-best-practices\"]\n- ],\n- \"LAVA and CI\": [\n- [67, \"lava-and-ci\"]\n+ \"Worked example of migrating a known device\": [\n+ [70, \"worked-example-of-migrating-a-known-device\"]\n ],\n- \"Automation & CI\": [\n- [67, \"automation-ci\"]\n+ \"Writing a device configuration in YAML\": [\n+ [70, \"writing-a-device-configuration-in-yaml\"]\n ],\n- \"How does this affect testing with LAVA?\": [\n- [67, \"how-does-this-affect-testing-with-lava\"]\n+ \"Migrating a mustang\": [\n+ [70, \"migrating-a-mustang\"]\n ],\n- \"Migrating to LAVA V2\": [\n- [71, \"migrating-to-lava-v2\"]\n+ \"Complete device YAML\": [\n+ [70, \"complete-device-yaml\"]\n ],\n- \"Basics\": [\n- [71, \"basics\"]\n+ \"Writing a job submission in YAML\": [\n+ [70, \"writing-a-job-submission-in-yaml\"]\n ],\n- \"Specific information and guides\": [\n- [71, \"specific-information-and-guides\"]\n+ \"Migrating a job for the mustang\": [\n+ [70, \"migrating-a-job-for-the-mustang\"]\n ],\n- \"Test Writers\": [\n- [71, \"test-writers\"]\n+ \"Identifying the elements of the job\": [\n+ [70, \"identifying-the-elements-of-the-job\"]\n ],\n- \"Administrators\": [\n- [71, \"administrators\"]\n+ \"Complete YAML submission\": [\n+ [70, \"complete-yaml-submission\"]\n ],\n- \"Understanding test job objectives\": [\n- [71, \"understanding-test-job-objectives\"]\n+ \"Writing a device type template\": [\n+ [70, \"writing-a-device-type-template\"]\n ],\n- \"Pipeline support\": [\n- [71, \"pipeline-support\"]\n+ \"Starting a new device type template\": [\n+ [70, \"starting-a-new-device-type-template\"]\n ],\n- \"Viewing the available support\": [\n- [71, \"viewing-the-available-support\"]\n+ \"Completed mustang template\": [\n+ [70, \"completed-mustang-template\"]\n ],\n- \"Deployments\": [\n- [71, \"deployments\"]\n+ \"Testing the template and dictionary\": [\n+ [70, \"testing-the-template-and-dictionary\"]\n ],\n- \"Protocol support\": [\n- [71, \"protocol-support\"]\n+ \"Adapting the base commands to the device type\": [\n+ [70, \"adapting-the-base-commands-to-the-device-type\"]\n ],\n- \"Naming conventions and LAVA architecture\": [\n- [75, \"naming-conventions-and-lava-architecture\"]\n+ \"Completing the migration\": [\n+ [70, \"completing-the-migration\"]\n ],\n \"MultiNode API\": [\n [74, \"multinode-api\"]\n ],\n \"Guidance in using the API\": [\n [74, \"guidance-in-using-the-api\"]\n ],\n@@ -10213,14 +10272,80 @@\n ],\n \"Example 4: peer-to-peer application\": [\n [74, \"example-4-peer-to-peer-application\"]\n ],\n \"Using a flow table to plan the job\": [\n [74, \"using-a-flow-table-to-plan-the-job\"]\n ],\n+ \"Writing a monitors test action\": [\n+ [72, \"writing-a-monitors-test-action\"]\n+ ],\n+ \"Restrictions\": [\n+ [72, \"restrictions\"]\n+ ],\n+ \"Example test monitors job\": [\n+ [72, \"example-test-monitors-job\"]\n+ ],\n+ \"Other Topics\": [\n+ [76, \"other-topics\"]\n+ ],\n+ \"Migrating to LAVA V2\": [\n+ [71, \"migrating-to-lava-v2\"]\n+ ],\n+ \"Basics\": [\n+ [71, \"basics\"]\n+ ],\n+ \"Specific information and guides\": [\n+ [71, \"specific-information-and-guides\"]\n+ ],\n+ \"Test Writers\": [\n+ [71, \"test-writers\"]\n+ ],\n+ \"Administrators\": [\n+ [71, \"administrators\"]\n+ ],\n+ \"Understanding test job objectives\": [\n+ [71, \"understanding-test-job-objectives\"]\n+ ],\n+ \"Pipeline support\": [\n+ [71, \"pipeline-support\"]\n+ ],\n+ \"Viewing the available support\": [\n+ [71, \"viewing-the-available-support\"]\n+ ],\n+ \"Deployments\": [\n+ [71, \"deployments\"]\n+ ],\n+ \"Protocol support\": [\n+ [71, \"protocol-support\"]\n+ ],\n+ \"Device type information in LAVA Scheduler\": [\n+ [64, \"device-type-information-in-lava-scheduler\"]\n+ ],\n+ \"Static device-type information\": [\n+ [64, \"static-device-type-information\"]\n+ ],\n+ \"Device type template\": [\n+ [64, \"device-type-template\"]\n+ ],\n+ \"Dynamic device-type information\": [\n+ [64, \"dynamic-device-type-information\"]\n+ ],\n+ \"Device-type metadata\": [\n+ [64, \"device-type-metadata\"]\n+ ],\n+ \"Health Job Summary\": [\n+ [64, \"health-job-summary\"]\n+ ],\n+ \"Devices Overview\": [\n+ [64, \"devices-overview\"]\n+ ],\n+ \"Jobs for devices of this type\": [\n+ [64, \"jobs-for-devices-of-this-type\"]\n+ ],\n \"Lava-Test Test Definition 1.0\": [\n [68, \"lava-test-test-definition-1-0\"]\n ],\n \"Quick start to Test Definition 1.0\": [\n [68, \"quick-start-to-test-definition-1-0\"]\n ],\n \"Versioned test definitions\": [\n@@ -10267,59 +10392,14 @@\n ],\n \"Install Steps\": [\n [68, \"install-steps\"]\n ],\n \"Parse patterns\": [\n [68, \"parse-patterns\"]\n ],\n- \"Other Topics\": [\n- [76, \"other-topics\"]\n- ],\n- \"Device type information in LAVA Scheduler\": [\n- [64, \"device-type-information-in-lava-scheduler\"]\n- ],\n- \"Static device-type information\": [\n- [64, \"static-device-type-information\"]\n- ],\n- \"Device type template\": [\n- [64, \"device-type-template\"]\n- ],\n- \"Dynamic device-type information\": [\n- [64, \"dynamic-device-type-information\"]\n- ],\n- \"Device-type metadata\": [\n- [64, \"device-type-metadata\"]\n- ],\n- \"Health Job Summary\": [\n- [64, \"health-job-summary\"]\n- ],\n- \"Devices Overview\": [\n- [64, \"devices-overview\"]\n- ],\n- \"Jobs for devices of this type\": [\n- [64, \"jobs-for-devices-of-this-type\"]\n- ],\n- \"Packaging lava-server for distributions\": [\n- [77, \"packaging-lava-server-for-distributions\"]\n- ],\n- \"Apache distribution support\": [\n- [77, \"apache-distribution-support\"]\n- ],\n- \"Instance name\": [\n- [77, \"instance-name\"]\n- ],\n- \"LAVA Components\": [\n- [77, \"lava-components\"]\n- ],\n- \"Package dependencies\": [\n- [77, \"package-dependencies\"]\n- ],\n- \"Daemon renaming\": [\n- [77, \"daemon-renaming\"]\n- ],\n \"LAVA job failures, errors, comments and tags\": [\n [65, \"lava-job-failures-errors-comments-and-tags\"]\n ],\n \"Dispatcher error or test failure\": [\n [65, \"dispatcher-error-or-test-failure\"]\n ],\n \"Job failure tags\": [\n@@ -10342,138 +10422,58 @@\n ],\n \"Viewing reports of job failures\": [\n [65, \"viewing-reports-of-job-failures\"]\n ],\n \"Unreported test failures\": [\n [65, \"unreported-test-failures\"]\n ],\n- \"Worked example of migrating a known device\": [\n- [70, \"worked-example-of-migrating-a-known-device\"]\n- ],\n- \"Writing a device configuration in YAML\": [\n- [70, \"writing-a-device-configuration-in-yaml\"]\n- ],\n- \"Migrating a mustang\": [\n- [70, \"migrating-a-mustang\"]\n- ],\n- \"Complete device YAML\": [\n- [70, \"complete-device-yaml\"]\n- ],\n- \"Writing a job submission in YAML\": [\n- [70, \"writing-a-job-submission-in-yaml\"]\n- ],\n- \"Migrating a job for the mustang\": [\n- [70, \"migrating-a-job-for-the-mustang\"]\n- ],\n- \"Identifying the elements of the job\": [\n- [70, \"identifying-the-elements-of-the-job\"]\n- ],\n- \"Complete YAML submission\": [\n- [70, \"complete-yaml-submission\"]\n- ],\n- \"Writing a device type template\": [\n- [70, \"writing-a-device-type-template\"]\n- ],\n- \"Starting a new device type template\": [\n- [70, \"starting-a-new-device-type-template\"]\n+ \"Packaging lava-server for distributions\": [\n+ [77, \"packaging-lava-server-for-distributions\"]\n ],\n- \"Completed mustang template\": [\n- [70, \"completed-mustang-template\"]\n+ \"Apache distribution support\": [\n+ [77, \"apache-distribution-support\"]\n ],\n- \"Creating a device dictionary for the device\": [\n- [70, \"creating-a-device-dictionary-for-the-device\"],\n- [79, \"creating-a-device-dictionary-for-the-device\"]\n+ \"Instance name\": [\n+ [77, \"instance-name\"]\n ],\n- \"Testing the template and dictionary\": [\n- [70, \"testing-the-template-and-dictionary\"]\n+ \"LAVA Components\": [\n+ [77, \"lava-components\"]\n ],\n- \"Adapting the base commands to the device type\": [\n- [70, \"adapting-the-base-commands-to-the-device-type\"]\n+ \"Package dependencies\": [\n+ [77, \"package-dependencies\"]\n ],\n- \"Completing the migration\": [\n- [70, \"completing-the-migration\"]\n+ \"Daemon renaming\": [\n+ [77, \"daemon-renaming\"]\n ],\n \"PDUDaemon\": [\n [78, \"pdudaemon\"]\n ],\n- \"Understanding the Pipeline - an administrator guide\": [\n- [79, \"understanding-the-pipeline-an-administrator-guide\"]\n- ],\n- \"Device type templates\": [\n- [79, \"device-type-templates\"]\n- ],\n- \"Checking your templates\": [\n- [79, \"checking-your-templates\"]\n- ],\n- \"Finding your way around the files\": [\n- [79, \"finding-your-way-around-the-files\"]\n- ],\n- \"Information sources\": [\n- [79, \"information-sources\"]\n- ],\n- \"The functional tests repository\": [\n- [79, \"the-functional-tests-repository\"]\n- ],\n- \"The lava-server unit test support\": [\n- [79, \"the-lava-server-unit-test-support\"]\n- ],\n- \"Extra device configuration\": [\n- [79, \"extra-device-configuration\"]\n- ],\n- \"Providing permanent IPv4 addresses\": [\n- [79, \"providing-permanent-ipv4-addresses\"]\n- ],\n- \"Providing temporary filesystem storage\": [\n- [79, \"providing-temporary-filesystem-storage\"]\n- ],\n- \"Extra dispatcher configuration\": [\n- [79, \"extra-dispatcher-configuration\"]\n- ],\n- \"Per dispatcher environment settings\": [\n- [79, \"per-dispatcher-environment-settings\"]\n- ],\n- \"Requirements for a LAVA device\": [\n- [79, \"requirements-for-a-lava-device\"]\n- ],\n- \"Adding support for a device of a known type\": [\n- [79, \"adding-support-for-a-device-of-a-known-type\"]\n- ],\n- \"Obtaining configuration of a known device\": [\n- [79, \"obtaining-configuration-of-a-known-device\"]\n- ],\n- \"Creating a new device entry for a known device type\": [\n- [79, \"creating-a-new-device-entry-for-a-known-device-type\"]\n- ],\n- \"Based upon an existing device\": [\n- [79, \"based-upon-an-existing-device\"]\n- ],\n- \"Viewing current device dictionary content\": [\n- [79, \"viewing-current-device-dictionary-content\"]\n+ \"Job submission failure help\": [\n+ [66, \"job-submission-failure-help\"]\n ],\n- \"Updating a device dictionary\": [\n- [79, \"updating-a-device-dictionary\"]\n+ \"Device type X is not available\": [\n+ [66, \"device-type-x-is-not-available\"]\n ],\n- \"Using the command line\": [\n- [79, \"using-the-command-line\"]\n+ \"No devices of type X are currently available to user Y\": [\n+ [66, \"no-devices-of-type-x-are-currently-available-to-user-y\"]\n ],\n- \"Using lavacli\": [\n- [79, \"using-lavacli\"],\n- [69, \"using-lavacli\"]\n+ \"Continuous Integration\": [\n+ [67, \"continuous-integration\"]\n ],\n- \"Using XML-RPC\": [\n- [79, \"using-xml-rpc\"]\n+ \"Summary of CI best practices\": [\n+ [67, \"summary-of-ci-best-practices\"]\n ],\n- \"Writing a monitors test action\": [\n- [72, \"writing-a-monitors-test-action\"]\n+ \"LAVA and CI\": [\n+ [67, \"lava-and-ci\"]\n ],\n- \"Restrictions\": [\n- [72, \"restrictions\"]\n+ \"Automation & CI\": [\n+ [67, \"automation-ci\"]\n ],\n- \"Example test monitors job\": [\n- [72, \"example-test-monitors-job\"]\n+ \"How does this affect testing with LAVA?\": [\n+ [67, \"how-does-this-affect-testing-with-lava\"]\n ],\n \"lavacli\": [\n [69, \"lavacli\"]\n ],\n \"Installing lavacli\": [\n [69, \"installing-lavacli\"]\n ]\n"}]}]}]}]}]}