--- /srv/reproducible-results/rbuild-debian/r-b-build.NuC6giEa/b1/lava_2023.01-2_amd64.changes +++ /srv/reproducible-results/rbuild-debian/r-b-build.NuC6giEa/b2/lava_2023.01-2_amd64.changes ├── Files │ @@ -1,10 +1,10 @@ │ │ a35b08608e794a71744f0a759733a0c1 45260 net optional lava-common_2023.01-2_all.deb │ 78e9e60c98f794fc7fd5176962c48392 34596 net optional lava-coordinator_2023.01-2_all.deb │ 56c6da728bea231e3d0b0bad4c605599 31640 devel optional lava-dev_2023.01-2_all.deb │ d1a89cf95d9854ffdec4c45909833360 37368 net optional lava-dispatcher-host_2023.01-2_all.deb │ 12a9e4f89c605dec5c01c83141dcf033 190740 net optional lava-dispatcher_2023.01-2_all.deb │ 63969a7f9a735a2816bf3063d49728c8 34388 net optional lava-lxc-mocker_2023.01-2_all.deb │ - ee694d276fd62b227ca8e9cc5dd7268d 2487648 doc optional lava-server-doc_2023.01-2_all.deb │ + 875ee3ec8751afdddb3e8ea2f23380e7 2487644 doc optional lava-server-doc_2023.01-2_all.deb │ e6e3464f35b71bf37398752bffffe817 395816 net optional lava-server_2023.01-2_all.deb │ e7b2a8fe70dee79516fe30331b176b5e 24212 metapackages optional lava_2023.01-2_all.deb ├── lava-server-doc_2023.01-2_all.deb │ ├── file list │ │ @@ -1,3 +1,3 @@ │ │ -rw-r--r-- 0 0 0 4 2023-01-23 19:32:59.000000 debian-binary │ │ -rw-r--r-- 0 0 0 10788 2023-01-23 19:32:59.000000 control.tar.xz │ │ --rw-r--r-- 0 0 0 2476668 2023-01-23 19:32:59.000000 data.tar.xz │ │ +-rw-r--r-- 0 0 0 2476664 2023-01-23 19:32:59.000000 data.tar.xz │ ├── control.tar.xz │ │ ├── control.tar │ │ │ ├── ./md5sums │ │ │ │ ├── ./md5sums │ │ │ │ │┄ Files differ │ ├── data.tar.xz │ │ ├── data.tar │ │ │ ├── ./usr/share/doc/lava-server-doc/html/v2/searchindex.js │ │ │ │ ├── js-beautify {} │ │ │ │ │ @@ -6085,127 +6085,42 @@ │ │ │ │ │ "sphinx.domains.std": 2, │ │ │ │ │ "sphinx.ext.intersphinx": 1, │ │ │ │ │ "sphinx.ext.todo": 2, │ │ │ │ │ "sphinx.ext.viewcode": 1, │ │ │ │ │ "sphinx": 60 │ │ │ │ │ }, │ │ │ │ │ "alltitles": { │ │ │ │ │ - "Detailed device dictionary information in LAVA Scheduler": [ │ │ │ │ │ - [62, "detailed-device-dictionary-information-in-lava-scheduler"] │ │ │ │ │ - ], │ │ │ │ │ - "Commands": [ │ │ │ │ │ - [62, "commands"] │ │ │ │ │ - ], │ │ │ │ │ - "Connections": [ │ │ │ │ │ - [62, "connections"], │ │ │ │ │ - [16, "connections"] │ │ │ │ │ - ], │ │ │ │ │ - "VLANd support": [ │ │ │ │ │ - [62, "vland-support"] │ │ │ │ │ - ], │ │ │ │ │ - "Exported parameters": [ │ │ │ │ │ - [62, "exported-parameters"] │ │ │ │ │ - ], │ │ │ │ │ - "Other parameters": [ │ │ │ │ │ - [62, "other-parameters"] │ │ │ │ │ - ], │ │ │ │ │ - "Introduction to LAVA": [ │ │ │ │ │ - [50, "introduction-to-lava"] │ │ │ │ │ - ], │ │ │ │ │ - "Navigation": [ │ │ │ │ │ - [50, "navigation"] │ │ │ │ │ - ], │ │ │ │ │ - "Index": [ │ │ │ │ │ - [50, "id1"] │ │ │ │ │ - ], │ │ │ │ │ - "Contents": [ │ │ │ │ │ - [50, "id2"], │ │ │ │ │ - [17, "contents"], │ │ │ │ │ - [46, "contents"], │ │ │ │ │ - [0, "contents"], │ │ │ │ │ - [3, "contents"], │ │ │ │ │ - [5, "contents"], │ │ │ │ │ - [2, "contents"] │ │ │ │ │ - ], │ │ │ │ │ - "Page indices": [ │ │ │ │ │ - [50, "page-indices"] │ │ │ │ │ - ], │ │ │ │ │ - "About LAVA V2": [ │ │ │ │ │ - [50, "about-lava-v2"] │ │ │ │ │ - ], │ │ │ │ │ - "LAVA Overview": [ │ │ │ │ │ - [50, "lava-overview"] │ │ │ │ │ - ], │ │ │ │ │ - "What is LAVA?": [ │ │ │ │ │ - [50, "what-is-lava"] │ │ │ │ │ - ], │ │ │ │ │ - "What is LAVA not?": [ │ │ │ │ │ - [50, "what-is-lava-not"] │ │ │ │ │ - ], │ │ │ │ │ - "Features": [ │ │ │ │ │ - [50, "features"] │ │ │ │ │ - ], │ │ │ │ │ - "Architecture": [ │ │ │ │ │ - [50, "architecture"] │ │ │ │ │ - ], │ │ │ │ │ - "Elements of the Master": [ │ │ │ │ │ - [50, "elements-of-the-master"], │ │ │ │ │ - [39, "elements-of-the-master"] │ │ │ │ │ - ], │ │ │ │ │ - "Elements of the Worker": [ │ │ │ │ │ - [50, "elements-of-the-worker"], │ │ │ │ │ - [39, "elements-of-the-worker"] │ │ │ │ │ - ], │ │ │ │ │ - "Preparation": [ │ │ │ │ │ - [50, "preparation"] │ │ │ │ │ - ], │ │ │ │ │ - "Methods": [ │ │ │ │ │ - [50, "methods"] │ │ │ │ │ - ], │ │ │ │ │ - "Deployment methods": [ │ │ │ │ │ - [50, "deployment-methods"] │ │ │ │ │ - ], │ │ │ │ │ - "Boot methods": [ │ │ │ │ │ - [50, "boot-methods"], │ │ │ │ │ - [71, "boot-methods"] │ │ │ │ │ - ], │ │ │ │ │ - "Test methods": [ │ │ │ │ │ - [50, "test-methods"] │ │ │ │ │ - ], │ │ │ │ │ - "Multiple device testing": [ │ │ │ │ │ - [50, "multiple-device-testing"] │ │ │ │ │ - ], │ │ │ │ │ - "Scheduling": [ │ │ │ │ │ - [50, "scheduling"] │ │ │ │ │ - ], │ │ │ │ │ - "Advanced use cases": [ │ │ │ │ │ - [50, "advanced-use-cases"], │ │ │ │ │ - [16, "advanced-use-cases"] │ │ │ │ │ - ], │ │ │ │ │ - "Glossary": [ │ │ │ │ │ - [50, "glossary"] │ │ │ │ │ - ], │ │ │ │ │ - "Support": [ │ │ │ │ │ - [50, "support"] │ │ │ │ │ - ], │ │ │ │ │ - "Full documentation": [ │ │ │ │ │ - [50, "full-documentation"] │ │ │ │ │ - ], │ │ │ │ │ "Hidden device types": [ │ │ │ │ │ [49, "hidden-device-types"] │ │ │ │ │ ], │ │ │ │ │ "Changes needed when managing a hidden device type": [ │ │ │ │ │ [49, "changes-needed-when-managing-a-hidden-device-type"] │ │ │ │ │ ], │ │ │ │ │ "Private test job visibility": [ │ │ │ │ │ [49, "private-test-job-visibility"] │ │ │ │ │ ], │ │ │ │ │ "Health Checks": [ │ │ │ │ │ [49, "health-checks"] │ │ │ │ │ ], │ │ │ │ │ + "Internet of Things (IoT) Boards": [ │ │ │ │ │ + [53, "internet-of-things-iot-boards"] │ │ │ │ │ + ], │ │ │ │ │ + "Arduino101": [ │ │ │ │ │ + [53, "arduino101"] │ │ │ │ │ + ], │ │ │ │ │ + "Cons": [ │ │ │ │ │ + [53, "cons"], │ │ │ │ │ + [53, "id1"], │ │ │ │ │ + [56, "cons"], │ │ │ │ │ + [55, "cons"], │ │ │ │ │ + [55, "id1"] │ │ │ │ │ + ], │ │ │ │ │ + "FRDM-K64F": [ │ │ │ │ │ + [53, "frdm-k64f"] │ │ │ │ │ + ], │ │ │ │ │ "Using Test Results": [ │ │ │ │ │ [60, "using-test-results"] │ │ │ │ │ ], │ │ │ │ │ "LAVA result visualization": [ │ │ │ │ │ [60, "lava-result-visualization"] │ │ │ │ │ ], │ │ │ │ │ "LAVA Queries": [ │ │ │ │ │ @@ -6233,18 +6148,18 @@ │ │ │ │ │ [60, "deleting-a-query"] │ │ │ │ │ ], │ │ │ │ │ "Using Queries in XML-RPC scripts": [ │ │ │ │ │ [60, "using-queries-in-xml-rpc-scripts"] │ │ │ │ │ ], │ │ │ │ │ "Configuration": [ │ │ │ │ │ [60, "configuration"], │ │ │ │ │ - [54, "configuration"], │ │ │ │ │ [58, "configuration"], │ │ │ │ │ - [22, "configuration"], │ │ │ │ │ - [8, "configuration"] │ │ │ │ │ + [54, "configuration"], │ │ │ │ │ + [8, "configuration"], │ │ │ │ │ + [22, "configuration"] │ │ │ │ │ ], │ │ │ │ │ "Example output": [ │ │ │ │ │ [60, "example-output"] │ │ │ │ │ ], │ │ │ │ │ "LAVA Query use cases": [ │ │ │ │ │ [60, "lava-query-use-cases"] │ │ │ │ │ ], │ │ │ │ │ @@ -6283,81 +6198,14 @@ │ │ │ │ │ ], │ │ │ │ │ "Omitting Chart Results": [ │ │ │ │ │ [60, "omitting-chart-results"] │ │ │ │ │ ], │ │ │ │ │ "Chart by URL": [ │ │ │ │ │ [60, "chart-by-url"] │ │ │ │ │ ], │ │ │ │ │ - "U-Boot": [ │ │ │ │ │ - [54, "u-boot"] │ │ │ │ │ - ], │ │ │ │ │ - "Common U-Boot support": [ │ │ │ │ │ - [54, "common-u-boot-support"] │ │ │ │ │ - ], │ │ │ │ │ - "Prompts": [ │ │ │ │ │ - [54, "prompts"] │ │ │ │ │ - ], │ │ │ │ │ - "Interrupting U-Boot": [ │ │ │ │ │ - [54, "interrupting-u-boot"] │ │ │ │ │ - ], │ │ │ │ │ - "Troubleshooting Interrupting U-Boot": [ │ │ │ │ │ - [54, "troubleshooting-interrupting-u-boot"] │ │ │ │ │ - ], │ │ │ │ │ - "Load addresses": [ │ │ │ │ │ - [54, "load-addresses"] │ │ │ │ │ - ], │ │ │ │ │ - "Required configuration": [ │ │ │ │ │ - [54, "required-configuration"] │ │ │ │ │ - ], │ │ │ │ │ - "Booting the kernel": [ │ │ │ │ │ - [54, "booting-the-kernel"], │ │ │ │ │ - [99, "booting-the-kernel"] │ │ │ │ │ - ], │ │ │ │ │ - "U-Boot bootargs": [ │ │ │ │ │ - [54, "u-boot-bootargs"] │ │ │ │ │ - ], │ │ │ │ │ - "Using mkimage": [ │ │ │ │ │ - [54, "using-mkimage"] │ │ │ │ │ - ], │ │ │ │ │ - "Vendor builds": [ │ │ │ │ │ - [54, "vendor-builds"] │ │ │ │ │ - ], │ │ │ │ │ - "Network support": [ │ │ │ │ │ - [54, "network-support"] │ │ │ │ │ - ], │ │ │ │ │ - "Additional U-Boot support": [ │ │ │ │ │ - [54, "additional-u-boot-support"] │ │ │ │ │ - ], │ │ │ │ │ - "Filesystem support": [ │ │ │ │ │ - [54, "filesystem-support"] │ │ │ │ │ - ], │ │ │ │ │ - "Interface names": [ │ │ │ │ │ - [54, "interface-names"] │ │ │ │ │ - ], │ │ │ │ │ - "Initializing subsystems": [ │ │ │ │ │ - [54, "initializing-subsystems"] │ │ │ │ │ - ], │ │ │ │ │ - "Appending the DTB": [ │ │ │ │ │ - [54, "appending-the-dtb"] │ │ │ │ │ - ], │ │ │ │ │ - "Writing an interactive test action": [ │ │ │ │ │ - [57, "writing-an-interactive-test-action"] │ │ │ │ │ - ], │ │ │ │ │ - "Advantages of interactive pattern matching": [ │ │ │ │ │ - [57, "advantages-of-interactive-pattern-matching"] │ │ │ │ │ - ], │ │ │ │ │ - "Limits of interactive pattern matching": [ │ │ │ │ │ - [57, "limits-of-interactive-pattern-matching"] │ │ │ │ │ - ], │ │ │ │ │ - "Example interactive test job": [ │ │ │ │ │ - [57, "example-interactive-test-job"] │ │ │ │ │ - ], │ │ │ │ │ - "Combining different test actions": [ │ │ │ │ │ - [57, "combining-different-test-actions"] │ │ │ │ │ - ], │ │ │ │ │ "LAVA Scheduler summary help": [ │ │ │ │ │ [61, "lava-scheduler-summary-help"] │ │ │ │ │ ], │ │ │ │ │ "Device Type Overview": [ │ │ │ │ │ [61, "device-type-overview"] │ │ │ │ │ ], │ │ │ │ │ "Overall status": [ │ │ │ │ │ @@ -6388,27 +6236,85 @@ │ │ │ │ │ "Active Jobs": [ │ │ │ │ │ [61, "active-jobs"] │ │ │ │ │ ], │ │ │ │ │ "Workers": [ │ │ │ │ │ [61, "workers"], │ │ │ │ │ [95, "workers"] │ │ │ │ │ ], │ │ │ │ │ + "Detailed device information in LAVA Scheduler": [ │ │ │ │ │ + [63, "detailed-device-information-in-lava-scheduler"] │ │ │ │ │ + ], │ │ │ │ │ + "Static device information": [ │ │ │ │ │ + [63, "static-device-information"] │ │ │ │ │ + ], │ │ │ │ │ + "Device state": [ │ │ │ │ │ + [63, "device-state"] │ │ │ │ │ + ], │ │ │ │ │ + "State": [ │ │ │ │ │ + [63, "state"] │ │ │ │ │ + ], │ │ │ │ │ + "Health": [ │ │ │ │ │ + [63, "health"] │ │ │ │ │ + ], │ │ │ │ │ + "Health State": [ │ │ │ │ │ + [63, "health-state"] │ │ │ │ │ + ], │ │ │ │ │ + "Edit device description": [ │ │ │ │ │ + [63, "edit-device-description"] │ │ │ │ │ + ], │ │ │ │ │ + "Restrict submissions": [ │ │ │ │ │ + [63, "restrict-submissions"] │ │ │ │ │ + ], │ │ │ │ │ "Deploying an iPXE (x86) device": [ │ │ │ │ │ [59, "deploying-an-ipxe-x86-device"] │ │ │ │ │ ], │ │ │ │ │ "Preparing the target test device": [ │ │ │ │ │ [59, "preparing-the-target-test-device"] │ │ │ │ │ ], │ │ │ │ │ "Dispatch Steps": [ │ │ │ │ │ [59, "dispatch-steps"], │ │ │ │ │ [58, "dispatch-steps"] │ │ │ │ │ ], │ │ │ │ │ "Kernel, Ramdisk and Rootfs considerations": [ │ │ │ │ │ [59, "kernel-ramdisk-and-rootfs-considerations"] │ │ │ │ │ ], │ │ │ │ │ + "Detailed device dictionary information in LAVA Scheduler": [ │ │ │ │ │ + [62, "detailed-device-dictionary-information-in-lava-scheduler"] │ │ │ │ │ + ], │ │ │ │ │ + "Commands": [ │ │ │ │ │ + [62, "commands"] │ │ │ │ │ + ], │ │ │ │ │ + "Connections": [ │ │ │ │ │ + [62, "connections"], │ │ │ │ │ + [16, "connections"] │ │ │ │ │ + ], │ │ │ │ │ + "VLANd support": [ │ │ │ │ │ + [62, "vland-support"] │ │ │ │ │ + ], │ │ │ │ │ + "Exported parameters": [ │ │ │ │ │ + [62, "exported-parameters"] │ │ │ │ │ + ], │ │ │ │ │ + "Other parameters": [ │ │ │ │ │ + [62, "other-parameters"] │ │ │ │ │ + ], │ │ │ │ │ + "Writing an interactive test action": [ │ │ │ │ │ + [57, "writing-an-interactive-test-action"] │ │ │ │ │ + ], │ │ │ │ │ + "Advantages of interactive pattern matching": [ │ │ │ │ │ + [57, "advantages-of-interactive-pattern-matching"] │ │ │ │ │ + ], │ │ │ │ │ + "Limits of interactive pattern matching": [ │ │ │ │ │ + [57, "limits-of-interactive-pattern-matching"] │ │ │ │ │ + ], │ │ │ │ │ + "Example interactive test job": [ │ │ │ │ │ + [57, "example-interactive-test-job"] │ │ │ │ │ + ], │ │ │ │ │ + "Combining different test actions": [ │ │ │ │ │ + [57, "combining-different-test-actions"] │ │ │ │ │ + ], │ │ │ │ │ "Fastboot": [ │ │ │ │ │ [52, "fastboot"] │ │ │ │ │ ], │ │ │ │ │ "External constraints": [ │ │ │ │ │ [52, "external-constraints"] │ │ │ │ │ ], │ │ │ │ │ "Device changes": [ │ │ │ │ │ @@ -6419,38 +6325,14 @@ │ │ │ │ │ ], │ │ │ │ │ "Android": [ │ │ │ │ │ [52, "android"] │ │ │ │ │ ], │ │ │ │ │ "Specific support for fastboot devices in LAVA": [ │ │ │ │ │ [52, "specific-support-for-fastboot-devices-in-lava"] │ │ │ │ │ ], │ │ │ │ │ - "Detailed device information in LAVA Scheduler": [ │ │ │ │ │ - [63, "detailed-device-information-in-lava-scheduler"] │ │ │ │ │ - ], │ │ │ │ │ - "Static device information": [ │ │ │ │ │ - [63, "static-device-information"] │ │ │ │ │ - ], │ │ │ │ │ - "Device state": [ │ │ │ │ │ - [63, "device-state"] │ │ │ │ │ - ], │ │ │ │ │ - "State": [ │ │ │ │ │ - [63, "state"] │ │ │ │ │ - ], │ │ │ │ │ - "Health": [ │ │ │ │ │ - [63, "health"] │ │ │ │ │ - ], │ │ │ │ │ - "Health State": [ │ │ │ │ │ - [63, "health-state"] │ │ │ │ │ - ], │ │ │ │ │ - "Edit device description": [ │ │ │ │ │ - [63, "edit-device-description"] │ │ │ │ │ - ], │ │ │ │ │ - "Restrict submissions": [ │ │ │ │ │ - [63, "restrict-submissions"] │ │ │ │ │ - ], │ │ │ │ │ "Installing on a Debian system": [ │ │ │ │ │ [51, "installing-on-a-debian-system"] │ │ │ │ │ ], │ │ │ │ │ "Recommended Debian architectures": [ │ │ │ │ │ [51, "recommended-debian-architectures"] │ │ │ │ │ ], │ │ │ │ │ "LAVA repositories": [ │ │ │ │ │ @@ -6535,97 +6417,33 @@ │ │ │ │ │ ], │ │ │ │ │ "Creating the kernel and initrd for pxe booting": [ │ │ │ │ │ [58, "creating-the-kernel-and-initrd-for-pxe-booting"] │ │ │ │ │ ], │ │ │ │ │ "Debugging with initrd": [ │ │ │ │ │ [58, "debugging-with-initrd"] │ │ │ │ │ ], │ │ │ │ │ - "UEFI": [ │ │ │ │ │ - [55, "uefi"] │ │ │ │ │ - ], │ │ │ │ │ - "Introduction": [ │ │ │ │ │ - [55, "introduction"], │ │ │ │ │ - [24, "introduction"], │ │ │ │ │ - [12, "introduction"], │ │ │ │ │ - [79, "introduction"] │ │ │ │ │ - ], │ │ │ │ │ - "UEFI menus": [ │ │ │ │ │ - [55, "uefi-menus"] │ │ │ │ │ - ], │ │ │ │ │ - "UEFI graphical interfaces": [ │ │ │ │ │ - [55, "uefi-graphical-interfaces"] │ │ │ │ │ - ], │ │ │ │ │ - "D02/D03": [ │ │ │ │ │ - [55, "d02-d03"] │ │ │ │ │ - ], │ │ │ │ │ - "Cons": [ │ │ │ │ │ - [55, "cons"], │ │ │ │ │ - [55, "id1"], │ │ │ │ │ - [53, "cons"], │ │ │ │ │ - [53, "id1"], │ │ │ │ │ - [56, "cons"] │ │ │ │ │ - ], │ │ │ │ │ - "Mustang UEFI": [ │ │ │ │ │ - [55, "mustang-uefi"] │ │ │ │ │ - ], │ │ │ │ │ - "HiKey 620": [ │ │ │ │ │ - [55, "hikey-620"] │ │ │ │ │ - ], │ │ │ │ │ - "HiKey 960": [ │ │ │ │ │ - [55, "hikey-960"] │ │ │ │ │ - ], │ │ │ │ │ - "Internet of Things (IoT) Boards": [ │ │ │ │ │ - [53, "internet-of-things-iot-boards"] │ │ │ │ │ - ], │ │ │ │ │ - "Arduino101": [ │ │ │ │ │ - [53, "arduino101"] │ │ │ │ │ - ], │ │ │ │ │ - "FRDM-K64F": [ │ │ │ │ │ - [53, "frdm-k64f"] │ │ │ │ │ - ], │ │ │ │ │ - "Writing Health Checks for devices": [ │ │ │ │ │ - [48, "writing-health-checks-for-devices"] │ │ │ │ │ - ], │ │ │ │ │ - "LAVA YAML health checks": [ │ │ │ │ │ - [48, "lava-yaml-health-checks"] │ │ │ │ │ - ], │ │ │ │ │ - "Device Types and templates": [ │ │ │ │ │ - [48, "device-types-and-templates"] │ │ │ │ │ - ], │ │ │ │ │ - "Tasks within health checks": [ │ │ │ │ │ - [48, "tasks-within-health-checks"] │ │ │ │ │ - ], │ │ │ │ │ - "Checking infrastructure and peripherals in health checks": [ │ │ │ │ │ - [48, "checking-infrastructure-and-peripherals-in-health-checks"] │ │ │ │ │ - ], │ │ │ │ │ - "Using lava_test_shell inside health checks": [ │ │ │ │ │ - [48, "using-lava-test-shell-inside-health-checks"] │ │ │ │ │ - ], │ │ │ │ │ - "Infrastructure issues": [ │ │ │ │ │ - [48, "infrastructure-issues"] │ │ │ │ │ - ], │ │ │ │ │ "Integration Stories": [ │ │ │ │ │ [56, "integration-stories"] │ │ │ │ │ ], │ │ │ │ │ "Integration Story One - Nexus": [ │ │ │ │ │ [56, "integration-story-one-nexus"] │ │ │ │ │ ], │ │ │ │ │ "Deploy": [ │ │ │ │ │ [56, "deploy"], │ │ │ │ │ [56, "id2"], │ │ │ │ │ - [70, "deploy"], │ │ │ │ │ + [98, "deploy"], │ │ │ │ │ [100, "deploy"], │ │ │ │ │ - [98, "deploy"] │ │ │ │ │ + [70, "deploy"] │ │ │ │ │ ], │ │ │ │ │ "Boot": [ │ │ │ │ │ [56, "boot"], │ │ │ │ │ [56, "id3"], │ │ │ │ │ - [70, "boot"], │ │ │ │ │ + [98, "boot"], │ │ │ │ │ [100, "boot"], │ │ │ │ │ - [98, "boot"] │ │ │ │ │ + [70, "boot"] │ │ │ │ │ ], │ │ │ │ │ "Issues": [ │ │ │ │ │ [56, "issues"], │ │ │ │ │ [56, "id1"], │ │ │ │ │ [56, "id5"] │ │ │ │ │ ], │ │ │ │ │ "Integration Story Two - Pixel": [ │ │ │ │ │ @@ -6670,926 +6488,334 @@ │ │ │ │ │ ], │ │ │ │ │ "Integration Story - Dragonboard 410c": [ │ │ │ │ │ [56, "integration-story-dragonboard-410c"] │ │ │ │ │ ], │ │ │ │ │ "Integration Story Five - HiKey 960": [ │ │ │ │ │ [56, "integration-story-five-hikey-960"] │ │ │ │ │ ], │ │ │ │ │ - "Debugging LAVA test failures": [ │ │ │ │ │ - [23, "debugging-lava-test-failures"] │ │ │ │ │ - ], │ │ │ │ │ - "Read the logs": [ │ │ │ │ │ - [23, "index-1"] │ │ │ │ │ - ], │ │ │ │ │ - "Read the failure comment": [ │ │ │ │ │ - [23, "read-the-failure-comment"] │ │ │ │ │ - ], │ │ │ │ │ - "Boot failure": [ │ │ │ │ │ - [23, "index-2"] │ │ │ │ │ - ], │ │ │ │ │ - "Failure to find/mount the rootfs": [ │ │ │ │ │ - [23, "failure-to-find-mount-the-rootfs"] │ │ │ │ │ - ], │ │ │ │ │ - "Start simple": [ │ │ │ │ │ - [23, "start-simple"] │ │ │ │ │ - ], │ │ │ │ │ - "Change one thing at a time": [ │ │ │ │ │ - [23, "change-one-thing-at-a-time"] │ │ │ │ │ - ], │ │ │ │ │ - "Make your tests and setup verbose": [ │ │ │ │ │ - [23, "make-your-tests-and-setup-verbose"] │ │ │ │ │ - ], │ │ │ │ │ - "Provide debug data in all test jobs": [ │ │ │ │ │ - [23, "provide-debug-data-in-all-test-jobs"] │ │ │ │ │ - ], │ │ │ │ │ - "Common pitfalls": [ │ │ │ │ │ - [23, "common-pitfalls"] │ │ │ │ │ - ], │ │ │ │ │ - "Handling locally built files": [ │ │ │ │ │ - [23, "handling-locally-built-files"] │ │ │ │ │ - ], │ │ │ │ │ - "Avoid using shell operators in YAML lines": [ │ │ │ │ │ - [23, "avoid-using-shell-operators-in-yaml-lines"] │ │ │ │ │ - ], │ │ │ │ │ - "Test your result parsers": [ │ │ │ │ │ - [23, "test-your-result-parsers"] │ │ │ │ │ - ], │ │ │ │ │ - "Be obsessive about paths and scripts": [ │ │ │ │ │ - [23, "be-obsessive-about-paths-and-scripts"] │ │ │ │ │ - ], │ │ │ │ │ - "Debugging automation failures": [ │ │ │ │ │ - [23, "debugging-automation-failures"] │ │ │ │ │ - ], │ │ │ │ │ - "Infrastructure effects": [ │ │ │ │ │ - [23, "infrastructure-effects"] │ │ │ │ │ - ], │ │ │ │ │ - "Hidden assumptions in the manual operations": [ │ │ │ │ │ - [23, "hidden-assumptions-in-the-manual-operations"] │ │ │ │ │ - ], │ │ │ │ │ - "Differences in input speeds": [ │ │ │ │ │ - [23, "differences-in-input-speeds"] │ │ │ │ │ - ], │ │ │ │ │ - "Setting boot_character_delay": [ │ │ │ │ │ - [23, "setting-boot-character-delay"] │ │ │ │ │ - ], │ │ │ │ │ - "Setting test_character_delay": [ │ │ │ │ │ - [23, "setting-test-character-delay"] │ │ │ │ │ - ], │ │ │ │ │ - "Debugging MultiNode tests": [ │ │ │ │ │ - [23, "debugging-multinode-tests"] │ │ │ │ │ - ], │ │ │ │ │ - "Simplify your MultiNode test": [ │ │ │ │ │ - [23, "simplify-your-multinode-test"] │ │ │ │ │ - ], │ │ │ │ │ - "Check that your message ID labels are consistent": [ │ │ │ │ │ - [23, "check-that-your-message-id-labels-are-consistent"] │ │ │ │ │ - ], │ │ │ │ │ - "A failed test is not necessarily a bug in the test": [ │ │ │ │ │ - [23, "a-failed-test-is-not-necessarily-a-bug-in-the-test"] │ │ │ │ │ - ], │ │ │ │ │ - "Connections in device configuration": [ │ │ │ │ │ - [16, "connections-in-device-configuration"] │ │ │ │ │ + "UEFI": [ │ │ │ │ │ + [55, "uefi"] │ │ │ │ │ ], │ │ │ │ │ - "Connections in test jobs": [ │ │ │ │ │ - [16, "connections-in-test-jobs"] │ │ │ │ │ + "Introduction": [ │ │ │ │ │ + [55, "introduction"], │ │ │ │ │ + [12, "introduction"], │ │ │ │ │ + [24, "introduction"], │ │ │ │ │ + [79, "introduction"] │ │ │ │ │ ], │ │ │ │ │ - "Connections and namespaces": [ │ │ │ │ │ - [16, "connections-and-namespaces"] │ │ │ │ │ + "UEFI menus": [ │ │ │ │ │ + [55, "uefi-menus"] │ │ │ │ │ ], │ │ │ │ │ - "Multiple serial port support": [ │ │ │ │ │ - [16, "multiple-serial-port-support"] │ │ │ │ │ + "UEFI graphical interfaces": [ │ │ │ │ │ + [55, "uefi-graphical-interfaces"] │ │ │ │ │ ], │ │ │ │ │ - "Background": [ │ │ │ │ │ - [16, "background"], │ │ │ │ │ - [42, "background"] │ │ │ │ │ + "D02/D03": [ │ │ │ │ │ + [55, "d02-d03"] │ │ │ │ │ ], │ │ │ │ │ - "Isolating kernel messages from test output": [ │ │ │ │ │ - [16, "isolating-kernel-messages-from-test-output"] │ │ │ │ │ + "Mustang UEFI": [ │ │ │ │ │ + [55, "mustang-uefi"] │ │ │ │ │ ], │ │ │ │ │ - "Changes needed in the test image": [ │ │ │ │ │ - [16, "changes-needed-in-the-test-image"] │ │ │ │ │ + "HiKey 620": [ │ │ │ │ │ + [55, "hikey-620"] │ │ │ │ │ ], │ │ │ │ │ - "Adding extra serial ports to a test device": [ │ │ │ │ │ - [16, "adding-extra-serial-ports-to-a-test-device"] │ │ │ │ │ + "HiKey 960": [ │ │ │ │ │ + [55, "hikey-960"] │ │ │ │ │ ], │ │ │ │ │ - "Configuring serial ports": [ │ │ │ │ │ - [16, "configuring-serial-ports"] │ │ │ │ │ + "Introduction to LAVA": [ │ │ │ │ │ + [50, "introduction-to-lava"] │ │ │ │ │ ], │ │ │ │ │ - "Using multiple serial ports": [ │ │ │ │ │ - [16, "using-multiple-serial-ports"] │ │ │ │ │ + "Navigation": [ │ │ │ │ │ + [50, "navigation"] │ │ │ │ │ ], │ │ │ │ │ - "Example job 1: Simple beaglebone-black job with a second serial port": [ │ │ │ │ │ - [16, "example-job-1-simple-beaglebone-black-job-with-a-second-serial-port"] │ │ │ │ │ + "Index": [ │ │ │ │ │ + [50, "id1"] │ │ │ │ │ ], │ │ │ │ │ - "Deploy and boot the device": [ │ │ │ │ │ - [16, "deploy-and-boot-the-device"] │ │ │ │ │ + "Contents": [ │ │ │ │ │ + [50, "id2"], │ │ │ │ │ + [46, "contents"], │ │ │ │ │ + [0, "contents"], │ │ │ │ │ + [2, "contents"], │ │ │ │ │ + [5, "contents"], │ │ │ │ │ + [3, "contents"], │ │ │ │ │ + [17, "contents"] │ │ │ │ │ ], │ │ │ │ │ - "Create the connection to the second serial port": [ │ │ │ │ │ - [16, "create-the-connection-to-the-second-serial-port"], │ │ │ │ │ - [16, "multiple-serial-ports-example2-boot-connection"] │ │ │ │ │ + "Page indices": [ │ │ │ │ │ + [50, "page-indices"] │ │ │ │ │ ], │ │ │ │ │ - "Tell the test shell to use the new connection": [ │ │ │ │ │ - [16, "tell-the-test-shell-to-use-the-new-connection"], │ │ │ │ │ - [16, "multiple-serial-ports-example2-test-connection"] │ │ │ │ │ + "About LAVA V2": [ │ │ │ │ │ + [50, "about-lava-v2"] │ │ │ │ │ ], │ │ │ │ │ - "Example job 2: A more complicated setup including LXC": [ │ │ │ │ │ - [16, "example-job-2-a-more-complicated-setup-including-lxc"] │ │ │ │ │ + "LAVA Overview": [ │ │ │ │ │ + [50, "lava-overview"] │ │ │ │ │ ], │ │ │ │ │ - "Define the container": [ │ │ │ │ │ - [16, "define-the-container"] │ │ │ │ │ + "What is LAVA?": [ │ │ │ │ │ + [50, "what-is-lava"] │ │ │ │ │ ], │ │ │ │ │ - "Deploy and boot the container": [ │ │ │ │ │ - [16, "deploy-and-boot-the-container"] │ │ │ │ │ + "What is LAVA not?": [ │ │ │ │ │ + [50, "what-is-lava-not"] │ │ │ │ │ ], │ │ │ │ │ - "Use the container to deploy and boot the device": [ │ │ │ │ │ - [16, "use-the-container-to-deploy-and-boot-the-device"] │ │ │ │ │ + "Features": [ │ │ │ │ │ + [50, "features"] │ │ │ │ │ ], │ │ │ │ │ - "Limitations with multiple serial ports": [ │ │ │ │ │ - [16, "limitations-with-multiple-serial-ports"] │ │ │ │ │ + "Architecture": [ │ │ │ │ │ + [50, "architecture"] │ │ │ │ │ ], │ │ │ │ │ - "Secondary Connection": [ │ │ │ │ │ - [16, "secondary-connection"] │ │ │ │ │ + "Elements of the Master": [ │ │ │ │ │ + [50, "elements-of-the-master"], │ │ │ │ │ + [39, "elements-of-the-master"] │ │ │ │ │ ], │ │ │ │ │ - "Considerations with a secondary connection": [ │ │ │ │ │ - [16, "considerations-with-a-secondary-connection"] │ │ │ │ │ + "Elements of the Worker": [ │ │ │ │ │ + [50, "elements-of-the-worker"], │ │ │ │ │ + [39, "elements-of-the-worker"] │ │ │ │ │ ], │ │ │ │ │ - "Connections and hacking sessions": [ │ │ │ │ │ - [16, "connections-and-hacking-sessions"] │ │ │ │ │ + "Preparation": [ │ │ │ │ │ + [50, "preparation"] │ │ │ │ │ ], │ │ │ │ │ - "Using secondary connections with VM groups": [ │ │ │ │ │ - [16, "using-secondary-connections-with-vm-groups"] │ │ │ │ │ + "Methods": [ │ │ │ │ │ + [50, "methods"] │ │ │ │ │ ], │ │ │ │ │ - "Sequence": [ │ │ │ │ │ - [16, "sequence"] │ │ │ │ │ + "Deployment methods": [ │ │ │ │ │ + [50, "deployment-methods"] │ │ │ │ │ ], │ │ │ │ │ - "Basic use cases": [ │ │ │ │ │ - [16, "basic-use-cases"] │ │ │ │ │ + "Boot methods": [ │ │ │ │ │ + [50, "boot-methods"], │ │ │ │ │ + [71, "boot-methods"] │ │ │ │ │ ], │ │ │ │ │ - "Sample job definition for the VM job": [ │ │ │ │ │ - [16, "sample-job-definition-for-the-vm-job"] │ │ │ │ │ + "Test methods": [ │ │ │ │ │ + [50, "test-methods"] │ │ │ │ │ ], │ │ │ │ │ - "Primary remote connection": [ │ │ │ │ │ - [16, "primary-remote-connection"] │ │ │ │ │ + "Multiple device testing": [ │ │ │ │ │ + [50, "multiple-device-testing"] │ │ │ │ │ ], │ │ │ │ │ - "Devices supporting Primary Remote Connections": [ │ │ │ │ │ - [16, "devices-supporting-primary-remote-connections"] │ │ │ │ │ + "Scheduling": [ │ │ │ │ │ + [50, "scheduling"] │ │ │ │ │ ], │ │ │ │ │ - "SSH as the primary remote connection": [ │ │ │ │ │ - [16, "ssh-as-the-primary-remote-connection"] │ │ │ │ │ + "Advanced use cases": [ │ │ │ │ │ + [50, "advanced-use-cases"], │ │ │ │ │ + [16, "advanced-use-cases"] │ │ │ │ │ ], │ │ │ │ │ - "Security": [ │ │ │ │ │ - [16, "security"] │ │ │ │ │ + "Glossary": [ │ │ │ │ │ + [50, "glossary"] │ │ │ │ │ ], │ │ │ │ │ - "Persistence": [ │ │ │ │ │ - [16, "persistence"] │ │ │ │ │ + "Support": [ │ │ │ │ │ + [50, "support"] │ │ │ │ │ ], │ │ │ │ │ - "Disposable chroot deployments": [ │ │ │ │ │ - [16, "disposable-chroot-deployments"] │ │ │ │ │ + "Full documentation": [ │ │ │ │ │ + [50, "full-documentation"] │ │ │ │ │ ], │ │ │ │ │ - "LAVA Software Project Contribution - Introduction": [ │ │ │ │ │ - [19, "lava-software-project-contribution-introduction"] │ │ │ │ │ + "Writing Health Checks for devices": [ │ │ │ │ │ + [48, "writing-health-checks-for-devices"] │ │ │ │ │ ], │ │ │ │ │ - "Before you start": [ │ │ │ │ │ - [19, "before-you-start"] │ │ │ │ │ + "LAVA YAML health checks": [ │ │ │ │ │ + [48, "lava-yaml-health-checks"] │ │ │ │ │ ], │ │ │ │ │ - "Ways to contribute": [ │ │ │ │ │ - [19, "ways-to-contribute"] │ │ │ │ │ + "Device Types and templates": [ │ │ │ │ │ + [48, "device-types-and-templates"] │ │ │ │ │ ], │ │ │ │ │ - "Documentation": [ │ │ │ │ │ - [19, "documentation"] │ │ │ │ │ + "Tasks within health checks": [ │ │ │ │ │ + [48, "tasks-within-health-checks"] │ │ │ │ │ ], │ │ │ │ │ - "Issue Tracker": [ │ │ │ │ │ - [19, "issue-tracker"] │ │ │ │ │ + "Checking infrastructure and peripherals in health checks": [ │ │ │ │ │ + [48, "checking-infrastructure-and-peripherals-in-health-checks"] │ │ │ │ │ ], │ │ │ │ │ - "Bug Fixes and New Features": [ │ │ │ │ │ - [19, "bug-fixes-and-new-features"] │ │ │ │ │ + "Using lava_test_shell inside health checks": [ │ │ │ │ │ + [48, "using-lava-test-shell-inside-health-checks"] │ │ │ │ │ ], │ │ │ │ │ - "Contributing to the functional testing": [ │ │ │ │ │ - [19, "contributing-to-the-functional-testing"] │ │ │ │ │ + "Infrastructure issues": [ │ │ │ │ │ + [48, "infrastructure-issues"] │ │ │ │ │ ], │ │ │ │ │ - "Mailing lists and IRC": [ │ │ │ │ │ - [19, "mailing-lists-and-irc"] │ │ │ │ │ + "U-Boot": [ │ │ │ │ │ + [54, "u-boot"] │ │ │ │ │ ], │ │ │ │ │ - "Writing Tests": [ │ │ │ │ │ - [26, "writing-tests"] │ │ │ │ │ + "Common U-Boot support": [ │ │ │ │ │ + [54, "common-u-boot-support"] │ │ │ │ │ ], │ │ │ │ │ - "Introduction to the LAVA Test Developer Guide": [ │ │ │ │ │ - [26, "introduction-to-the-lava-test-developer-guide"] │ │ │ │ │ + "Prompts": [ │ │ │ │ │ + [54, "prompts"] │ │ │ │ │ ], │ │ │ │ │ - "Guide Contents": [ │ │ │ │ │ - [26, "guide-contents"] │ │ │ │ │ + "Interrupting U-Boot": [ │ │ │ │ │ + [54, "interrupting-u-boot"] │ │ │ │ │ ], │ │ │ │ │ - "Assumptions at the start of this guide": [ │ │ │ │ │ - [26, "assumptions-at-the-start-of-this-guide"] │ │ │ │ │ + "Troubleshooting Interrupting U-Boot": [ │ │ │ │ │ + [54, "troubleshooting-interrupting-u-boot"] │ │ │ │ │ ], │ │ │ │ │ - "Checking device availability": [ │ │ │ │ │ - [26, "checking-device-availability"] │ │ │ │ │ + "Load addresses": [ │ │ │ │ │ + [54, "load-addresses"] │ │ │ │ │ ], │ │ │ │ │ - "Finding an image to run on the device": [ │ │ │ │ │ - [26, "finding-an-image-to-run-on-the-device"] │ │ │ │ │ + "Required configuration": [ │ │ │ │ │ + [54, "required-configuration"] │ │ │ │ │ ], │ │ │ │ │ - "Actions to be run for a LAVA test": [ │ │ │ │ │ - [26, "actions-to-be-run-for-a-lava-test"] │ │ │ │ │ + "Booting the kernel": [ │ │ │ │ │ + [54, "booting-the-kernel"], │ │ │ │ │ + [99, "booting-the-kernel"] │ │ │ │ │ ], │ │ │ │ │ - "Example of Lava Test": [ │ │ │ │ │ - [26, "example-of-lava-test"] │ │ │ │ │ + "U-Boot bootargs": [ │ │ │ │ │ + [54, "u-boot-bootargs"] │ │ │ │ │ ], │ │ │ │ │ - "Deploying a pre-built QEMU image": [ │ │ │ │ │ - [26, "deploying-a-pre-built-qemu-image"] │ │ │ │ │ + "Using mkimage": [ │ │ │ │ │ + [54, "using-mkimage"] │ │ │ │ │ ], │ │ │ │ │ - "Using device tags": [ │ │ │ │ │ - [26, "using-device-tags"] │ │ │ │ │ + "Vendor builds": [ │ │ │ │ │ + [54, "vendor-builds"] │ │ │ │ │ ], │ │ │ │ │ - "Using checksums": [ │ │ │ │ │ - [26, "using-checksums"] │ │ │ │ │ + "Network support": [ │ │ │ │ │ + [54, "network-support"] │ │ │ │ │ ], │ │ │ │ │ - "Using Lava-Test Test Definition 1.0": [ │ │ │ │ │ - [26, "using-lava-test-test-definition-1-0"] │ │ │ │ │ + "Additional U-Boot support": [ │ │ │ │ │ + [54, "additional-u-boot-support"] │ │ │ │ │ ], │ │ │ │ │ - "LAVA development": [ │ │ │ │ │ - [27, "lava-development"] │ │ │ │ │ + "Filesystem support": [ │ │ │ │ │ + [54, "filesystem-support"] │ │ │ │ │ ], │ │ │ │ │ - "Run the unit tests": [ │ │ │ │ │ - [27, "run-the-unit-tests"] │ │ │ │ │ + "Interface names": [ │ │ │ │ │ + [54, "interface-names"] │ │ │ │ │ ], │ │ │ │ │ - "Functional testing": [ │ │ │ │ │ - [27, "functional-testing"] │ │ │ │ │ + "Initializing subsystems": [ │ │ │ │ │ + [54, "initializing-subsystems"] │ │ │ │ │ ], │ │ │ │ │ - "Make your changes": [ │ │ │ │ │ - [27, "make-your-changes"] │ │ │ │ │ + "Appending the DTB": [ │ │ │ │ │ + [54, "appending-the-dtb"] │ │ │ │ │ ], │ │ │ │ │ - "Source code formatting": [ │ │ │ │ │ - [27, "source-code-formatting"] │ │ │ │ │ + "Administering LAVA using Docker": [ │ │ │ │ │ + [36, "administering-lava-using-docker"] │ │ │ │ │ ], │ │ │ │ │ - "Add some unit tests": [ │ │ │ │ │ - [27, "add-some-unit-tests"] │ │ │ │ │ + "Prerequisites": [ │ │ │ │ │ + [36, "prerequisites"] │ │ │ │ │ ], │ │ │ │ │ - "lava_dispatcher": [ │ │ │ │ │ - [27, "lava-dispatcher"], │ │ │ │ │ - [27, "id2"] │ │ │ │ │ + "Docker Networking": [ │ │ │ │ │ + [36, "docker-networking"] │ │ │ │ │ ], │ │ │ │ │ - "lava_scheduler_app": [ │ │ │ │ │ - [27, "lava-scheduler-app"] │ │ │ │ │ + "Official LAVA Software Docker images": [ │ │ │ │ │ + [36, "official-lava-software-docker-images"] │ │ │ │ │ ], │ │ │ │ │ - "Re-run the unit tests": [ │ │ │ │ │ - [27, "re-run-the-unit-tests"] │ │ │ │ │ + "Official LAVA Releases using Docker": [ │ │ │ │ │ + [36, "official-lava-releases-using-docker"] │ │ │ │ │ ], │ │ │ │ │ - "Testing local changes": [ │ │ │ │ │ - [27, "testing-local-changes"] │ │ │ │ │ + "lava-dispatcher": [ │ │ │ │ │ + [36, "lava-dispatcher"], │ │ │ │ │ + [36, "id2"], │ │ │ │ │ + [35, "lava-dispatcher"], │ │ │ │ │ + [97, "lava-dispatcher"] │ │ │ │ │ ], │ │ │ │ │ "lava-server": [ │ │ │ │ │ - [27, "lava-server"], │ │ │ │ │ [36, "lava-server"], │ │ │ │ │ [36, "id3"], │ │ │ │ │ [35, "lava-server"], │ │ │ │ │ + [27, "lava-server"], │ │ │ │ │ [97, "lava-server"] │ │ │ │ │ ], │ │ │ │ │ - "lava-server-doc": [ │ │ │ │ │ - [27, "lava-server-doc"] │ │ │ │ │ - ], │ │ │ │ │ - "Debugging lava-dispatcher with pdb, the Python debugger": [ │ │ │ │ │ - [27, "debugging-lava-dispatcher-with-pdb-the-python-debugger"] │ │ │ │ │ - ], │ │ │ │ │ - "Send your commits for review": [ │ │ │ │ │ - [27, "send-your-commits-for-review"] │ │ │ │ │ - ], │ │ │ │ │ - "Adding reviewers": [ │ │ │ │ │ - [27, "adding-reviewers"] │ │ │ │ │ - ], │ │ │ │ │ - "Handling your local branches": [ │ │ │ │ │ - [27, "handling-your-local-branches"] │ │ │ │ │ - ], │ │ │ │ │ - "Future proofing": [ │ │ │ │ │ - [27, "future-proofing"] │ │ │ │ │ - ], │ │ │ │ │ - "Use templates to generate device configuration": [ │ │ │ │ │ - [27, "use-templates-to-generate-device-configuration"] │ │ │ │ │ - ], │ │ │ │ │ - "Database migrations": [ │ │ │ │ │ - [27, "database-migrations"] │ │ │ │ │ - ], │ │ │ │ │ - "Python 3.x": [ │ │ │ │ │ - [27, "python-3-x"] │ │ │ │ │ - ], │ │ │ │ │ - "XML-RPC changes": [ │ │ │ │ │ - [27, "xml-rpc-changes"] │ │ │ │ │ - ], │ │ │ │ │ - "Instance settings": [ │ │ │ │ │ - [27, "instance-settings"] │ │ │ │ │ - ], │ │ │ │ │ - "Pylint3": [ │ │ │ │ │ - [27, "pylint3"] │ │ │ │ │ - ], │ │ │ │ │ - "pep8": [ │ │ │ │ │ - [27, "pep8"] │ │ │ │ │ - ], │ │ │ │ │ - "Unit-tests": [ │ │ │ │ │ - [27, "unit-tests"] │ │ │ │ │ - ], │ │ │ │ │ - "LAVA database model visualization": [ │ │ │ │ │ - [27, "lava-database-model-visualization"] │ │ │ │ │ - ], │ │ │ │ │ - "Developer access to django shell": [ │ │ │ │ │ - [27, "developer-access-to-django-shell"] │ │ │ │ │ - ], │ │ │ │ │ - "Adding new device types": [ │ │ │ │ │ - [30, "adding-new-device-types"] │ │ │ │ │ - ], │ │ │ │ │ - "Device Requirements": [ │ │ │ │ │ - [30, "device-requirements"] │ │ │ │ │ - ], │ │ │ │ │ - "Reproducibility": [ │ │ │ │ │ - [30, "reproducibility"] │ │ │ │ │ - ], │ │ │ │ │ - "Example One": [ │ │ │ │ │ - [30, "example-one"], │ │ │ │ │ - [34, "example-one"] │ │ │ │ │ - ], │ │ │ │ │ - "Example Two": [ │ │ │ │ │ - [30, "example-two"], │ │ │ │ │ - [34, "example-two"] │ │ │ │ │ - ], │ │ │ │ │ - "Reliability": [ │ │ │ │ │ - [30, "reliability"], │ │ │ │ │ - [14, "reliability"] │ │ │ │ │ - ], │ │ │ │ │ - "Scriptability": [ │ │ │ │ │ - [30, "scriptability"] │ │ │ │ │ - ], │ │ │ │ │ - "Scalability": [ │ │ │ │ │ - [30, "scalability"], │ │ │ │ │ - [14, "scalability"] │ │ │ │ │ - ], │ │ │ │ │ - "Power": [ │ │ │ │ │ - [30, "power"] │ │ │ │ │ - ], │ │ │ │ │ - "Reset": [ │ │ │ │ │ - [30, "reset"] │ │ │ │ │ - ], │ │ │ │ │ - "Networking": [ │ │ │ │ │ - [30, "networking"] │ │ │ │ │ - ], │ │ │ │ │ - "Serial console": [ │ │ │ │ │ - [30, "serial-console"] │ │ │ │ │ - ], │ │ │ │ │ - "Integration process": [ │ │ │ │ │ - [30, "integration-process"] │ │ │ │ │ - ], │ │ │ │ │ - "Find a similar existing device type": [ │ │ │ │ │ - [30, "find-a-similar-existing-device-type"] │ │ │ │ │ - ], │ │ │ │ │ - "Extend from an existing device type template": [ │ │ │ │ │ - [30, "extend-from-an-existing-device-type-template"] │ │ │ │ │ - ], │ │ │ │ │ - "Extend the template unit tests": [ │ │ │ │ │ - [30, "extend-the-template-unit-tests"] │ │ │ │ │ - ], │ │ │ │ │ - "Exporting data out of LAVA": [ │ │ │ │ │ - [21, "exporting-data-out-of-lava"] │ │ │ │ │ - ], │ │ │ │ │ - "REST API": [ │ │ │ │ │ - [21, "rest-api"] │ │ │ │ │ - ], │ │ │ │ │ - "v0.2": [ │ │ │ │ │ - [21, "v0-2"] │ │ │ │ │ - ], │ │ │ │ │ - "Extra actions": [ │ │ │ │ │ - [21, "extra-actions"] │ │ │ │ │ - ], │ │ │ │ │ - "Filtering": [ │ │ │ │ │ - [21, "filtering"] │ │ │ │ │ - ], │ │ │ │ │ - "TestJob object": [ │ │ │ │ │ - [21, "testjob-object"] │ │ │ │ │ - ], │ │ │ │ │ - "DeviceType object": [ │ │ │ │ │ - [21, "devicetype-object"] │ │ │ │ │ - ], │ │ │ │ │ - "Architecture object": [ │ │ │ │ │ - [21, "architecture-object"] │ │ │ │ │ - ], │ │ │ │ │ - "ProcessorFamily object": [ │ │ │ │ │ - [21, "processorfamily-object"] │ │ │ │ │ - ], │ │ │ │ │ - "Alias object": [ │ │ │ │ │ - [21, "alias-object"] │ │ │ │ │ - ], │ │ │ │ │ - "Core object": [ │ │ │ │ │ - [21, "core-object"] │ │ │ │ │ - ], │ │ │ │ │ - "BitWidth object": [ │ │ │ │ │ - [21, "bitwidth-object"] │ │ │ │ │ - ], │ │ │ │ │ - "Device object": [ │ │ │ │ │ - [21, "device-object"] │ │ │ │ │ - ], │ │ │ │ │ - "Worker object": [ │ │ │ │ │ - [21, "worker-object"] │ │ │ │ │ - ], │ │ │ │ │ - "Tag object": [ │ │ │ │ │ - [21, "tag-object"] │ │ │ │ │ - ], │ │ │ │ │ - "JobFailureTag object": [ │ │ │ │ │ - [21, "jobfailuretag-object"] │ │ │ │ │ - ], │ │ │ │ │ - "User object": [ │ │ │ │ │ - [21, "user-object"] │ │ │ │ │ - ], │ │ │ │ │ - "Group object": [ │ │ │ │ │ - [21, "group-object"] │ │ │ │ │ - ], │ │ │ │ │ - "Nested filtering": [ │ │ │ │ │ - [21, "nested-filtering"] │ │ │ │ │ - ], │ │ │ │ │ - "Sorting": [ │ │ │ │ │ - [21, "sorting"] │ │ │ │ │ - ], │ │ │ │ │ - "Creating and modifying objects": [ │ │ │ │ │ - [21, "creating-and-modifying-objects"] │ │ │ │ │ - ], │ │ │ │ │ - "Submitting a test job": [ │ │ │ │ │ - [21, "submitting-a-test-job"] │ │ │ │ │ - ], │ │ │ │ │ - "Deprecated semi-REST API for retrieving results": [ │ │ │ │ │ - [21, "deprecated-semi-rest-api-for-retrieving-results"] │ │ │ │ │ - ], │ │ │ │ │ - "Chunking test suite results": [ │ │ │ │ │ - [21, "chunking-test-suite-results"] │ │ │ │ │ - ], │ │ │ │ │ - "XML-RPC": [ │ │ │ │ │ - [21, "xml-rpc"] │ │ │ │ │ - ], │ │ │ │ │ - "User specified notifications": [ │ │ │ │ │ - [21, "user-specified-notifications"] │ │ │ │ │ - ], │ │ │ │ │ - "Example test job notification": [ │ │ │ │ │ - [21, "example-test-job-notification"] │ │ │ │ │ - ], │ │ │ │ │ - "Event notifications": [ │ │ │ │ │ - [21, "event-notifications"] │ │ │ │ │ - ], │ │ │ │ │ - "Example metadata": [ │ │ │ │ │ - [21, "example-metadata"] │ │ │ │ │ - ], │ │ │ │ │ - "Event notification types": [ │ │ │ │ │ - [21, "event-notification-types"] │ │ │ │ │ - ], │ │ │ │ │ - "Example device notification": [ │ │ │ │ │ - [21, "example-device-notification"] │ │ │ │ │ - ], │ │ │ │ │ - "Example testjob notification": [ │ │ │ │ │ - [21, "example-testjob-notification"] │ │ │ │ │ - ], │ │ │ │ │ - "Example log event notification": [ │ │ │ │ │ - [21, "example-log-event-notification"] │ │ │ │ │ - ], │ │ │ │ │ - "Example test event notification": [ │ │ │ │ │ - [21, "example-test-event-notification"] │ │ │ │ │ - ], │ │ │ │ │ - "Write your own event notification client": [ │ │ │ │ │ - [21, "write-your-own-event-notification-client"] │ │ │ │ │ - ], │ │ │ │ │ - "Submit a job and wait on notifications": [ │ │ │ │ │ - [21, "submit-a-job-and-wait-on-notifications"] │ │ │ │ │ - ], │ │ │ │ │ - "Guide to development within LAVA": [ │ │ │ │ │ - [28, "guide-to-development-within-lava"] │ │ │ │ │ - ], │ │ │ │ │ - "Dependencies required to run unit tests": [ │ │ │ │ │ - [28, "dependencies-required-to-run-unit-tests"] │ │ │ │ │ - ], │ │ │ │ │ - "Developing using device-type templates": [ │ │ │ │ │ - [28, "developing-using-device-type-templates"] │ │ │ │ │ - ], │ │ │ │ │ - "Device type templates as code": [ │ │ │ │ │ - [28, "device-type-templates-as-code"] │ │ │ │ │ - ], │ │ │ │ │ - "Testing new device-type templates": [ │ │ │ │ │ - [28, "testing-new-device-type-templates"] │ │ │ │ │ - ], │ │ │ │ │ - "Use version-control for device-type templates": [ │ │ │ │ │ - [28, "use-version-control-for-device-type-templates"] │ │ │ │ │ - ], │ │ │ │ │ - "Contribute device-type templates back upstream": [ │ │ │ │ │ - [28, "contribute-device-type-templates-back-upstream"] │ │ │ │ │ - ], │ │ │ │ │ - "Developer workflows": [ │ │ │ │ │ - [28, "developer-workflows"] │ │ │ │ │ - ], │ │ │ │ │ - "Code locations": [ │ │ │ │ │ - [28, "code-locations"] │ │ │ │ │ - ], │ │ │ │ │ - "Compatibility": [ │ │ │ │ │ - [28, "compatibility"] │ │ │ │ │ - ], │ │ │ │ │ - "Jinja2 support": [ │ │ │ │ │ - [28, "jinja2-support"] │ │ │ │ │ - ], │ │ │ │ │ - "Device dictionaries": [ │ │ │ │ │ - [28, "device-dictionaries"] │ │ │ │ │ - ], │ │ │ │ │ - "Dispatcher device configurations": [ │ │ │ │ │ - [28, "dispatcher-device-configurations"] │ │ │ │ │ - ], │ │ │ │ │ - "Contributing Upstream": [ │ │ │ │ │ - [28, "contributing-upstream"] │ │ │ │ │ - ], │ │ │ │ │ - "Planning": [ │ │ │ │ │ - [28, "planning"] │ │ │ │ │ - ], │ │ │ │ │ - "Report a Bug": [ │ │ │ │ │ - [28, "report-a-bug"] │ │ │ │ │ - ], │ │ │ │ │ - "Community contributions": [ │ │ │ │ │ - [28, "community-contributions"] │ │ │ │ │ - ], │ │ │ │ │ - "Contributing via your distribution": [ │ │ │ │ │ - [28, "contributing-via-your-distribution"] │ │ │ │ │ - ], │ │ │ │ │ - "Contributing via GitHub": [ │ │ │ │ │ - [28, "contributing-via-github"] │ │ │ │ │ - ], │ │ │ │ │ - "Developing LAVA on Debian": [ │ │ │ │ │ - [22, "developing-lava-on-debian"] │ │ │ │ │ - ], │ │ │ │ │ - "Why Debian?": [ │ │ │ │ │ - [22, "why-debian"] │ │ │ │ │ - ], │ │ │ │ │ - "Options for other distributions": [ │ │ │ │ │ - [22, "options-for-other-distributions"] │ │ │ │ │ - ], │ │ │ │ │ - "Preparing for LAVA development": [ │ │ │ │ │ - [22, "preparing-for-lava-development"] │ │ │ │ │ - ], │ │ │ │ │ - "Developer package build": [ │ │ │ │ │ - [22, "developer-package-build"] │ │ │ │ │ - ], │ │ │ │ │ - "Changes from 2018.10 onwards": [ │ │ │ │ │ - [22, "changes-from-2018-10-onwards"] │ │ │ │ │ - ], │ │ │ │ │ - "Which branch to use for changes": [ │ │ │ │ │ - [22, "which-branch-to-use-for-changes"] │ │ │ │ │ - ], │ │ │ │ │ - "Local version strings": [ │ │ │ │ │ - [22, "local-version-strings"] │ │ │ │ │ - ], │ │ │ │ │ - "Distribution differences": [ │ │ │ │ │ - [22, "distribution-differences"] │ │ │ │ │ - ], │ │ │ │ │ - "Example": [ │ │ │ │ │ - [22, "example"], │ │ │ │ │ - [0, "example"] │ │ │ │ │ - ], │ │ │ │ │ - "Developer build versions": [ │ │ │ │ │ - [22, "developer-build-versions"] │ │ │ │ │ - ], │ │ │ │ │ - "Development using Python3": [ │ │ │ │ │ - [22, "development-using-python3"] │ │ │ │ │ - ], │ │ │ │ │ - "Quick fixes and testing": [ │ │ │ │ │ - [22, "quick-fixes-and-testing"] │ │ │ │ │ - ], │ │ │ │ │ - "Viewing changes": [ │ │ │ │ │ - [22, "viewing-changes"] │ │ │ │ │ - ], │ │ │ │ │ - "Migrating postgresql versions": [ │ │ │ │ │ - [22, "migrating-postgresql-versions"] │ │ │ │ │ - ], │ │ │ │ │ - "Determining the active cluster": [ │ │ │ │ │ - [22, "determining-the-active-cluster"] │ │ │ │ │ - ], │ │ │ │ │ - "Performing the migration": [ │ │ │ │ │ - [22, "performing-the-migration"] │ │ │ │ │ - ], │ │ │ │ │ - "Dependency Requirements": [ │ │ │ │ │ - [22, "dependency-requirements"] │ │ │ │ │ - ], │ │ │ │ │ - "Outputting the requirements.txt format": [ │ │ │ │ │ - [22, "outputting-the-requirements-txt-format"] │ │ │ │ │ - ], │ │ │ │ │ - "Outputting a list of binary package names": [ │ │ │ │ │ - [22, "outputting-a-list-of-binary-package-names"] │ │ │ │ │ - ], │ │ │ │ │ - "Adding packages needed for the unittests": [ │ │ │ │ │ - [22, "adding-packages-needed-for-the-unittests"] │ │ │ │ │ - ], │ │ │ │ │ - "Javascript handling": [ │ │ │ │ │ - [22, "javascript-handling"] │ │ │ │ │ - ], │ │ │ │ │ - "Javascript and security": [ │ │ │ │ │ - [22, "javascript-and-security"] │ │ │ │ │ - ], │ │ │ │ │ - "Javascript maintenance": [ │ │ │ │ │ - [22, "javascript-maintenance"] │ │ │ │ │ - ], │ │ │ │ │ - "Packaging changes": [ │ │ │ │ │ - [22, "packaging-changes"] │ │ │ │ │ - ], │ │ │ │ │ - "Building for other architectures": [ │ │ │ │ │ - [22, "building-for-other-architectures"] │ │ │ │ │ - ], │ │ │ │ │ - "Debugging Django issues": [ │ │ │ │ │ - [22, "debugging-django-issues"] │ │ │ │ │ - ], │ │ │ │ │ - "Installing": [ │ │ │ │ │ - [22, "installing"] │ │ │ │ │ - ], │ │ │ │ │ - "Performance overhead": [ │ │ │ │ │ - [22, "performance-overhead"] │ │ │ │ │ - ], │ │ │ │ │ - "LAVA Software Community Project Contribution Guide": [ │ │ │ │ │ - [18, "lava-software-community-project-contribution-guide"], │ │ │ │ │ - [17, "lava-software-community-project-contribution-guide"] │ │ │ │ │ - ], │ │ │ │ │ - "About the Contribution Guidelines": [ │ │ │ │ │ - [18, "about-the-contribution-guidelines"] │ │ │ │ │ - ], │ │ │ │ │ - "Conflicting priorities": [ │ │ │ │ │ - [18, "conflicting-priorities"] │ │ │ │ │ - ], │ │ │ │ │ - "Pre-requisites to start with development": [ │ │ │ │ │ - [18, "pre-requisites-to-start-with-development"] │ │ │ │ │ - ], │ │ │ │ │ - "Other elements involved in LAVA development": [ │ │ │ │ │ - [18, "other-elements-involved-in-lava-development"] │ │ │ │ │ - ], │ │ │ │ │ - "Updating online documentation": [ │ │ │ │ │ - [18, "updating-online-documentation"] │ │ │ │ │ - ], │ │ │ │ │ - "The LAVA contribution process": [ │ │ │ │ │ - [18, "the-lava-contribution-process"] │ │ │ │ │ - ], │ │ │ │ │ - "Creating a GitLab Account": [ │ │ │ │ │ - [18, "creating-a-gitlab-account"] │ │ │ │ │ - ], │ │ │ │ │ - "Request GitLab Fork Permissions": [ │ │ │ │ │ - [18, "request-gitlab-fork-permissions"] │ │ │ │ │ - ], │ │ │ │ │ - "Fork the code": [ │ │ │ │ │ - [18, "fork-the-code"] │ │ │ │ │ - ], │ │ │ │ │ - "Access to the CI runners": [ │ │ │ │ │ - [18, "access-to-the-ci-runners"] │ │ │ │ │ - ], │ │ │ │ │ - "Create a development branch": [ │ │ │ │ │ - [18, "create-a-development-branch"] │ │ │ │ │ - ], │ │ │ │ │ - "Make, test and commit your changes": [ │ │ │ │ │ - [18, "make-test-and-commit-your-changes"] │ │ │ │ │ - ], │ │ │ │ │ - "Push your changes to your development branch": [ │ │ │ │ │ - [18, "push-your-changes-to-your-development-branch"] │ │ │ │ │ - ], │ │ │ │ │ - "Submit a Merge Request (MR)": [ │ │ │ │ │ - [18, "submit-a-merge-request-mr"] │ │ │ │ │ - ], │ │ │ │ │ - "MRs are reviewed (and rebased and reworked as needed)": [ │ │ │ │ │ - [18, "mrs-are-reviewed-and-rebased-and-reworked-as-needed"] │ │ │ │ │ - ], │ │ │ │ │ - "How changes get merged": [ │ │ │ │ │ - [18, "how-changes-get-merged"] │ │ │ │ │ - ], │ │ │ │ │ - "Custom result handling": [ │ │ │ │ │ - [20, "custom-result-handling"] │ │ │ │ │ - ], │ │ │ │ │ - "Closing the CI loop": [ │ │ │ │ │ - [20, "closing-the-ci-loop"] │ │ │ │ │ - ], │ │ │ │ │ - "Important features of a CI loop": [ │ │ │ │ │ - [20, "important-features-of-a-ci-loop"] │ │ │ │ │ - ], │ │ │ │ │ - "Where LAVA fits into the testing": [ │ │ │ │ │ - [20, "where-lava-fits-into-the-testing"] │ │ │ │ │ - ], │ │ │ │ │ - "Splitting the testing": [ │ │ │ │ │ - [20, "splitting-the-testing"] │ │ │ │ │ - ], │ │ │ │ │ - "Questions to ask": [ │ │ │ │ │ - [20, "questions-to-ask"] │ │ │ │ │ - ], │ │ │ │ │ - "KernelCI.org": [ │ │ │ │ │ - [20, "kernelci-org"] │ │ │ │ │ - ], │ │ │ │ │ - "SQUAD": [ │ │ │ │ │ - [20, "squad"] │ │ │ │ │ - ], │ │ │ │ │ - "Deploying test images using LXC": [ │ │ │ │ │ - [24, "deploying-test-images-using-lxc"] │ │ │ │ │ - ], │ │ │ │ │ - "Using LXC as Device Type": [ │ │ │ │ │ - [24, "using-lxc-as-device-type"] │ │ │ │ │ - ], │ │ │ │ │ - "Protocol elements": [ │ │ │ │ │ - [24, "protocol-elements"], │ │ │ │ │ - [24, "id2"], │ │ │ │ │ - [3, "protocol-elements"] │ │ │ │ │ - ], │ │ │ │ │ - "Sample Job Definition": [ │ │ │ │ │ - [24, "sample-job-definition"], │ │ │ │ │ - [24, "id3"] │ │ │ │ │ - ], │ │ │ │ │ - "Namespaces": [ │ │ │ │ │ - [24, "namespaces"] │ │ │ │ │ - ], │ │ │ │ │ - "Using the LXC protocol to support Android": [ │ │ │ │ │ - [24, "using-the-lxc-protocol-to-support-android"] │ │ │ │ │ - ], │ │ │ │ │ - "LAVA Android Naming Conventions": [ │ │ │ │ │ - [24, "lava-android-naming-conventions"] │ │ │ │ │ - ], │ │ │ │ │ - "Requirements and Limitations": [ │ │ │ │ │ - [24, "requirements-and-limitations"] │ │ │ │ │ - ], │ │ │ │ │ - "Feedback from the device": [ │ │ │ │ │ - [24, "feedback-from-the-device"] │ │ │ │ │ - ], │ │ │ │ │ - "Differences between LXC releases": [ │ │ │ │ │ - [24, "differences-between-lxc-releases"] │ │ │ │ │ - ], │ │ │ │ │ - "Permanency": [ │ │ │ │ │ - [31, "permanency"] │ │ │ │ │ - ], │ │ │ │ │ - "Device sub-types": [ │ │ │ │ │ - [31, "device-sub-types"] │ │ │ │ │ - ], │ │ │ │ │ - "Choosing a name for a device type": [ │ │ │ │ │ - [31, "choosing-a-name-for-a-device-type"] │ │ │ │ │ - ], │ │ │ │ │ - "Matching the template": [ │ │ │ │ │ - [31, "matching-the-template"] │ │ │ │ │ - ], │ │ │ │ │ - "Example device types": [ │ │ │ │ │ - [31, "example-device-types"] │ │ │ │ │ - ], │ │ │ │ │ - "Database elements for a device type": [ │ │ │ │ │ - [31, "database-elements-for-a-device-type"] │ │ │ │ │ - ], │ │ │ │ │ - "Descriptive fields": [ │ │ │ │ │ - [31, "descriptive-fields"] │ │ │ │ │ - ], │ │ │ │ │ - "Device Capabilities Support": [ │ │ │ │ │ - [29, "device-capabilities-support"] │ │ │ │ │ - ], │ │ │ │ │ - "Device owner abilities": [ │ │ │ │ │ - [29, "device-owner-abilities"] │ │ │ │ │ - ], │ │ │ │ │ - "Developing new classes for LAVA V2": [ │ │ │ │ │ - [25, "developing-new-classes-for-lava-v2"] │ │ │ │ │ - ], │ │ │ │ │ - "Test with simple scripts": [ │ │ │ │ │ - [25, "test-with-simple-scripts"] │ │ │ │ │ - ], │ │ │ │ │ - "Start with new classes": [ │ │ │ │ │ - [25, "start-with-new-classes"] │ │ │ │ │ - ], │ │ │ │ │ - "Add support files for unit tests": [ │ │ │ │ │ - [25, "add-support-files-for-unit-tests"] │ │ │ │ │ - ], │ │ │ │ │ - "Add unit tests": [ │ │ │ │ │ - [25, "add-unit-tests"] │ │ │ │ │ - ], │ │ │ │ │ - "Run all the unit tests": [ │ │ │ │ │ - [25, "run-all-the-unit-tests"] │ │ │ │ │ - ], │ │ │ │ │ - "Incorporate the test script into the classes": [ │ │ │ │ │ - [25, "incorporate-the-test-script-into-the-classes"] │ │ │ │ │ - ], │ │ │ │ │ - "Check the new classes": [ │ │ │ │ │ - [25, "check-the-new-classes"] │ │ │ │ │ - ], │ │ │ │ │ - "Startup achieved": [ │ │ │ │ │ - [25, "startup-achieved"] │ │ │ │ │ - ], │ │ │ │ │ - "First steps using LAVA": [ │ │ │ │ │ - [17, "first-steps-using-lava"] │ │ │ │ │ - ], │ │ │ │ │ - "First steps installing LAVA": [ │ │ │ │ │ - [17, "first-steps-installing-lava"], │ │ │ │ │ - [39, "first-steps-installing-lava"] │ │ │ │ │ - ], │ │ │ │ │ - "CI with LAVA": [ │ │ │ │ │ - [17, "ci-with-lava"] │ │ │ │ │ - ], │ │ │ │ │ - "Writing tests for LAVA": [ │ │ │ │ │ - [17, "writing-tests-for-lava"] │ │ │ │ │ - ], │ │ │ │ │ - "Results in LAVA": [ │ │ │ │ │ - [17, "results-in-lava"], │ │ │ │ │ - [93, "results-in-lava"] │ │ │ │ │ - ], │ │ │ │ │ - "LAVA administration guide": [ │ │ │ │ │ - [17, "lava-administration-guide"] │ │ │ │ │ + "Command lines": [ │ │ │ │ │ + [36, "command-lines"] │ │ │ │ │ ], │ │ │ │ │ - "LAVA device integration guide": [ │ │ │ │ │ - [17, "lava-device-integration-guide"] │ │ │ │ │ + "POSIX shell": [ │ │ │ │ │ + [36, "posix-shell"] │ │ │ │ │ ], │ │ │ │ │ - "Migrating to V2": [ │ │ │ │ │ - [17, "migrating-to-v2"] │ │ │ │ │ + "Python": [ │ │ │ │ │ + [36, "python"] │ │ │ │ │ ], │ │ │ │ │ - "Context help": [ │ │ │ │ │ - [17, "context-help"] │ │ │ │ │ + "lava-dispatcher in docker": [ │ │ │ │ │ + [36, "lava-dispatcher-in-docker"] │ │ │ │ │ ], │ │ │ │ │ - "Dispatcher Action Reference": [ │ │ │ │ │ - [32, "dispatcher-action-reference"] │ │ │ │ │ + "Mocking up LXC inside docker": [ │ │ │ │ │ + [36, "mocking-up-lxc-inside-docker"] │ │ │ │ │ ], │ │ │ │ │ - "Deploy Actions": [ │ │ │ │ │ - [32, "deploy-actions"] │ │ │ │ │ + "lava-server in docker": [ │ │ │ │ │ + [36, "lava-server-in-docker"] │ │ │ │ │ ], │ │ │ │ │ - "Boot Actions": [ │ │ │ │ │ - [32, "boot-actions"] │ │ │ │ │ + "LAVA Coordinator": [ │ │ │ │ │ + [36, "lava-coordinator"] │ │ │ │ │ ], │ │ │ │ │ - "Test Actions": [ │ │ │ │ │ - [32, "test-actions"] │ │ │ │ │ + "CI images": [ │ │ │ │ │ + [36, "ci-images"] │ │ │ │ │ ], │ │ │ │ │ - "Other test job elements": [ │ │ │ │ │ - [32, "other-test-job-elements"] │ │ │ │ │ + "Superusers": [ │ │ │ │ │ + [36, "superusers"] │ │ │ │ │ ], │ │ │ │ │ - "reboot_to_fastboot": [ │ │ │ │ │ - [32, "reboot-to-fastboot"] │ │ │ │ │ + "Running lava-server & lava-dispatcher together": [ │ │ │ │ │ + [36, "running-lava-server-lava-dispatcher-together"] │ │ │ │ │ ], │ │ │ │ │ - "Further Examples": [ │ │ │ │ │ - [32, "further-examples"] │ │ │ │ │ + "Separate services in separate Docker containers": [ │ │ │ │ │ + [36, "separate-services-in-separate-docker-containers"] │ │ │ │ │ ], │ │ │ │ │ - "Writing YAML job submission files": [ │ │ │ │ │ - [34, "writing-yaml-job-submission-files"] │ │ │ │ │ + "First steps as a user": [ │ │ │ │ │ + [41, "first-steps-as-a-user"] │ │ │ │ │ ], │ │ │ │ │ - "Basics of the YAML format": [ │ │ │ │ │ - [34, "basics-of-the-yaml-format"] │ │ │ │ │ + "Logging In": [ │ │ │ │ │ + [41, "logging-in"] │ │ │ │ │ ], │ │ │ │ │ - "Basic structure for job submission": [ │ │ │ │ │ - [34, "basic-structure-for-job-submission"] │ │ │ │ │ + "Local User Account": [ │ │ │ │ │ + [41, "local-user-account"] │ │ │ │ │ ], │ │ │ │ │ - "Sample JOB definition for a KVM": [ │ │ │ │ │ - [34, "sample-job-definition-for-a-kvm"] │ │ │ │ │ + "Linaro lab users": [ │ │ │ │ │ + [41, "linaro-lab-users"] │ │ │ │ │ ], │ │ │ │ │ - "Basic structure for device_type configuration": [ │ │ │ │ │ - [34, "basic-structure-for-device-type-configuration"] │ │ │ │ │ + "Authentication Tokens": [ │ │ │ │ │ + [41, "authentication-tokens"] │ │ │ │ │ ], │ │ │ │ │ - "Basic structure for device configuration": [ │ │ │ │ │ - [34, "basic-structure-for-device-configuration"] │ │ │ │ │ + "LAVA Hacking Sessions": [ │ │ │ │ │ + [47, "lava-hacking-sessions"] │ │ │ │ │ ], │ │ │ │ │ - "Overriding values in device type, device dictionary and the job context": [ │ │ │ │ │ - [34, "overriding-values-in-device-type-device-dictionary-and-the-job-context"] │ │ │ │ │ + "Assumptions": [ │ │ │ │ │ + [47, "assumptions"], │ │ │ │ │ + [46, "assumptions"] │ │ │ │ │ ], │ │ │ │ │ - "Example Three": [ │ │ │ │ │ - [34, "example-three"] │ │ │ │ │ + "Limitations": [ │ │ │ │ │ + [47, "limitations"], │ │ │ │ │ + [96, "limitations"], │ │ │ │ │ + [96, "id2"], │ │ │ │ │ + [105, "limitations"] │ │ │ │ │ ], │ │ │ │ │ - "Provide environment variables for the device in the job description": [ │ │ │ │ │ - [34, "provide-environment-variables-for-the-device-in-the-job-description"] │ │ │ │ │ + "Device requirements": [ │ │ │ │ │ + [47, "device-requirements"], │ │ │ │ │ + [39, "device-requirements"] │ │ │ │ │ ], │ │ │ │ │ - "Pipeline Device Configuration": [ │ │ │ │ │ - [34, "pipeline-device-configuration"] │ │ │ │ │ + "Definitions": [ │ │ │ │ │ + [47, "definitions"], │ │ │ │ │ + [5, "definitions"], │ │ │ │ │ + [105, "definitions"] │ │ │ │ │ ], │ │ │ │ │ - "Viewing the Device Dictionary": [ │ │ │ │ │ - [34, "viewing-the-device-dictionary"] │ │ │ │ │ + "Parameters": [ │ │ │ │ │ + [47, "parameters"], │ │ │ │ │ + [70, "parameters"] │ │ │ │ │ ], │ │ │ │ │ - "On scheduler device detail page": [ │ │ │ │ │ - [34, "on-scheduler-device-detail-page"] │ │ │ │ │ + "Starting a Hacking Session": [ │ │ │ │ │ + [47, "starting-a-hacking-session"] │ │ │ │ │ ], │ │ │ │ │ - "On Job Description Tab": [ │ │ │ │ │ - [34, "on-job-description-tab"] │ │ │ │ │ + "Connecting to a Hacking Session": [ │ │ │ │ │ + [47, "connecting-to-a-hacking-session"] │ │ │ │ │ ], │ │ │ │ │ - "As Admin": [ │ │ │ │ │ - [34, "as-admin"] │ │ │ │ │ + "SSH tunnels": [ │ │ │ │ │ + [47, "ssh-tunnels"] │ │ │ │ │ ], │ │ │ │ │ - "Dispatcher actions": [ │ │ │ │ │ - [34, "dispatcher-actions"] │ │ │ │ │ + "lava-test-shell helper functions in a hack session": [ │ │ │ │ │ + [47, "lava-test-shell-helper-functions-in-a-hack-session"] │ │ │ │ │ ], │ │ │ │ │ - "Mapping deployment actions to the python code": [ │ │ │ │ │ - [34, "mapping-deployment-actions-to-the-python-code"] │ │ │ │ │ + "Record text to the LAVA log": [ │ │ │ │ │ + [47, "record-text-to-the-lava-log"] │ │ │ │ │ ], │ │ │ │ │ - "Deployment actions": [ │ │ │ │ │ - [34, "deployment-actions"] │ │ │ │ │ + "Stopping a Hacking Session": [ │ │ │ │ │ + [47, "stopping-a-hacking-session"] │ │ │ │ │ ], │ │ │ │ │ - "Supported methods": [ │ │ │ │ │ - [34, "supported-methods"], │ │ │ │ │ - [34, "id1"] │ │ │ │ │ + "Hacking Session timeouts": [ │ │ │ │ │ + [47, "hacking-session-timeouts"] │ │ │ │ │ ], │ │ │ │ │ - "Boot actions": [ │ │ │ │ │ - [34, "boot-actions"] │ │ │ │ │ + "Continuing a Hacking Session": [ │ │ │ │ │ + [47, "continuing-a-hacking-session"] │ │ │ │ │ ], │ │ │ │ │ - "Test actions": [ │ │ │ │ │ - [34, "test-actions"] │ │ │ │ │ + "Multiple hacking sessions": [ │ │ │ │ │ + [47, "multiple-hacking-sessions"] │ │ │ │ │ ], │ │ │ │ │ - "Metadata": [ │ │ │ │ │ - [34, "metadata"], │ │ │ │ │ - [92, "metadata"], │ │ │ │ │ - [101, "metadata"], │ │ │ │ │ - [111, "metadata"] │ │ │ │ │ + "Sharing a single device": [ │ │ │ │ │ + [47, "sharing-a-single-device"] │ │ │ │ │ ], │ │ │ │ │ - "Submit actions": [ │ │ │ │ │ - [34, "submit-actions"] │ │ │ │ │ + "Separating users using virtual machines": [ │ │ │ │ │ + [47, "separating-users-using-virtual-machines"] │ │ │ │ │ ], │ │ │ │ │ "Growing your lab": [ │ │ │ │ │ [46, "growing-your-lab"] │ │ │ │ │ ], │ │ │ │ │ - "Assumptions": [ │ │ │ │ │ - [46, "assumptions"], │ │ │ │ │ - [47, "assumptions"] │ │ │ │ │ - ], │ │ │ │ │ "Requirements": [ │ │ │ │ │ [46, "requirements"], │ │ │ │ │ [38, "requirements"], │ │ │ │ │ [12, "requirements"], │ │ │ │ │ [97, "requirements"] │ │ │ │ │ ], │ │ │ │ │ "Logical layouts": [ │ │ │ │ │ @@ -7642,14 +6868,48 @@ │ │ │ │ │ ], │ │ │ │ │ "Firewalls": [ │ │ │ │ │ [46, "firewalls"] │ │ │ │ │ ], │ │ │ │ │ "Using a frontend with remote labs": [ │ │ │ │ │ [46, "using-a-frontend-with-remote-labs"] │ │ │ │ │ ], │ │ │ │ │ + "Adding your first devices": [ │ │ │ │ │ + [38, "adding-your-first-devices"] │ │ │ │ │ + ], │ │ │ │ │ + "Django administration interface": [ │ │ │ │ │ + [38, "django-administration-interface"] │ │ │ │ │ + ], │ │ │ │ │ + "Administrative interface site links": [ │ │ │ │ │ + [38, "administrative-interface-site-links"] │ │ │ │ │ + ], │ │ │ │ │ + "Start with a known device type": [ │ │ │ │ │ + [38, "start-with-a-known-device-type"] │ │ │ │ │ + ], │ │ │ │ │ + "QEMU": [ │ │ │ │ │ + [38, "qemu"] │ │ │ │ │ + ], │ │ │ │ │ + "Create a Device Type": [ │ │ │ │ │ + [38, "create-a-device-type"] │ │ │ │ │ + ], │ │ │ │ │ + "Create a device in the database": [ │ │ │ │ │ + [38, "create-a-device-in-the-database"] │ │ │ │ │ + ], │ │ │ │ │ + "Adding a dictionary to the first QEMU device": [ │ │ │ │ │ + [38, "adding-a-dictionary-to-the-first-qemu-device"] │ │ │ │ │ + ], │ │ │ │ │ + "Adding other devices of known device-types": [ │ │ │ │ │ + [38, "adding-other-devices-of-known-device-types"] │ │ │ │ │ + ], │ │ │ │ │ + "Check existing instances": [ │ │ │ │ │ + [38, "check-existing-instances"] │ │ │ │ │ + ], │ │ │ │ │ + "First steps installing LAVA": [ │ │ │ │ │ + [39, "first-steps-installing-lava"], │ │ │ │ │ + [17, "first-steps-installing-lava"] │ │ │ │ │ + ], │ │ │ │ │ "Initial LAVA Installation": [ │ │ │ │ │ [39, "initial-lava-installation"] │ │ │ │ │ ], │ │ │ │ │ "Requirements to Consider Before Installing LAVA": [ │ │ │ │ │ [39, "requirements-to-consider-before-installing-lava"], │ │ │ │ │ [10, "requirements-to-consider-before-installing-lava"] │ │ │ │ │ ], │ │ │ │ │ @@ -7657,18 +6917,14 @@ │ │ │ │ │ [39, "software-requirements"], │ │ │ │ │ [79, "software-requirements"] │ │ │ │ │ ], │ │ │ │ │ "Hardware Requirements": [ │ │ │ │ │ [39, "hardware-requirements"], │ │ │ │ │ [79, "hardware-requirements"] │ │ │ │ │ ], │ │ │ │ │ - "Device requirements": [ │ │ │ │ │ - [39, "device-requirements"], │ │ │ │ │ - [47, "device-requirements"] │ │ │ │ │ - ], │ │ │ │ │ "MultiNode hardware requirements": [ │ │ │ │ │ [39, "multinode-hardware-requirements"] │ │ │ │ │ ], │ │ │ │ │ "Which release to install": [ │ │ │ │ │ [39, "which-release-to-install"] │ │ │ │ │ ], │ │ │ │ │ "Installation Types": [ │ │ │ │ │ @@ -7697,199 +6953,58 @@ │ │ │ │ │ ], │ │ │ │ │ "StarTech rackmount usb": [ │ │ │ │ │ [39, "startech-rackmount-usb"] │ │ │ │ │ ], │ │ │ │ │ "Contact and bug reports": [ │ │ │ │ │ [39, "contact-and-bug-reports"] │ │ │ │ │ ], │ │ │ │ │ - "Providing gold standard images": [ │ │ │ │ │ - [45, "providing-gold-standard-images"] │ │ │ │ │ - ], │ │ │ │ │ - "Creating a gold standard image": [ │ │ │ │ │ - [45, "creating-a-gold-standard-image"] │ │ │ │ │ - ], │ │ │ │ │ - "Other gold standard components": [ │ │ │ │ │ - [45, "other-gold-standard-components"] │ │ │ │ │ - ], │ │ │ │ │ - "FVP": [ │ │ │ │ │ - [43, "fvp"] │ │ │ │ │ - ], │ │ │ │ │ - "LAVA FVP Dispatcher Setup": [ │ │ │ │ │ - [43, "lava-fvp-dispatcher-setup"] │ │ │ │ │ - ], │ │ │ │ │ - "FVP Binaries": [ │ │ │ │ │ - [43, "fvp-binaries"] │ │ │ │ │ - ], │ │ │ │ │ - "Building FVP Docker Images": [ │ │ │ │ │ - [43, "building-fvp-docker-images"] │ │ │ │ │ - ], │ │ │ │ │ - "Networking inside Models": [ │ │ │ │ │ - [43, "networking-inside-models"] │ │ │ │ │ - ], │ │ │ │ │ - "Reading from all model consoles": [ │ │ │ │ │ - [43, "reading-from-all-model-consoles"] │ │ │ │ │ - ], │ │ │ │ │ - "Administering LAVA using Docker": [ │ │ │ │ │ - [36, "administering-lava-using-docker"] │ │ │ │ │ - ], │ │ │ │ │ - "Prerequisites": [ │ │ │ │ │ - [36, "prerequisites"] │ │ │ │ │ - ], │ │ │ │ │ - "Docker Networking": [ │ │ │ │ │ - [36, "docker-networking"] │ │ │ │ │ - ], │ │ │ │ │ - "Official LAVA Software Docker images": [ │ │ │ │ │ - [36, "official-lava-software-docker-images"] │ │ │ │ │ - ], │ │ │ │ │ - "Official LAVA Releases using Docker": [ │ │ │ │ │ - [36, "official-lava-releases-using-docker"] │ │ │ │ │ - ], │ │ │ │ │ - "lava-dispatcher": [ │ │ │ │ │ - [36, "lava-dispatcher"], │ │ │ │ │ - [36, "id2"], │ │ │ │ │ - [35, "lava-dispatcher"], │ │ │ │ │ - [97, "lava-dispatcher"] │ │ │ │ │ - ], │ │ │ │ │ - "Command lines": [ │ │ │ │ │ - [36, "command-lines"] │ │ │ │ │ - ], │ │ │ │ │ - "POSIX shell": [ │ │ │ │ │ - [36, "posix-shell"] │ │ │ │ │ - ], │ │ │ │ │ - "Python": [ │ │ │ │ │ - [36, "python"] │ │ │ │ │ - ], │ │ │ │ │ - "lava-dispatcher in docker": [ │ │ │ │ │ - [36, "lava-dispatcher-in-docker"] │ │ │ │ │ - ], │ │ │ │ │ - "Mocking up LXC inside docker": [ │ │ │ │ │ - [36, "mocking-up-lxc-inside-docker"] │ │ │ │ │ - ], │ │ │ │ │ - "lava-server in docker": [ │ │ │ │ │ - [36, "lava-server-in-docker"] │ │ │ │ │ - ], │ │ │ │ │ - "LAVA Coordinator": [ │ │ │ │ │ - [36, "lava-coordinator"] │ │ │ │ │ - ], │ │ │ │ │ - "CI images": [ │ │ │ │ │ - [36, "ci-images"] │ │ │ │ │ - ], │ │ │ │ │ - "Superusers": [ │ │ │ │ │ - [36, "superusers"] │ │ │ │ │ - ], │ │ │ │ │ - "Running lava-server & lava-dispatcher together": [ │ │ │ │ │ - [36, "running-lava-server-lava-dispatcher-together"] │ │ │ │ │ - ], │ │ │ │ │ - "Separate services in separate Docker containers": [ │ │ │ │ │ - [36, "separate-services-in-separate-docker-containers"] │ │ │ │ │ - ], │ │ │ │ │ - "Glossary of terms": [ │ │ │ │ │ - [44, "glossary-of-terms"] │ │ │ │ │ - ], │ │ │ │ │ - "Functional testing of LAVA source code": [ │ │ │ │ │ - [42, "functional-testing-of-lava-source-code"] │ │ │ │ │ - ], │ │ │ │ │ - "meta-lava": [ │ │ │ │ │ - [42, "meta-lava"] │ │ │ │ │ - ], │ │ │ │ │ - "Future plans": [ │ │ │ │ │ - [42, "future-plans"] │ │ │ │ │ - ], │ │ │ │ │ - "Purpose of functional tests": [ │ │ │ │ │ - [42, "purpose-of-functional-tests"] │ │ │ │ │ - ], │ │ │ │ │ - "Requirements for a functional test job": [ │ │ │ │ │ - [42, "requirements-for-a-functional-test-job"] │ │ │ │ │ - ], │ │ │ │ │ - "Using the functional test frontend": [ │ │ │ │ │ - [42, "using-the-functional-test-frontend"] │ │ │ │ │ - ], │ │ │ │ │ - "Dedicated workers": [ │ │ │ │ │ - [42, "dedicated-workers"] │ │ │ │ │ - ], │ │ │ │ │ - "Adding your first devices": [ │ │ │ │ │ - [38, "adding-your-first-devices"] │ │ │ │ │ - ], │ │ │ │ │ - "Django administration interface": [ │ │ │ │ │ - [38, "django-administration-interface"] │ │ │ │ │ - ], │ │ │ │ │ - "Administrative interface site links": [ │ │ │ │ │ - [38, "administrative-interface-site-links"] │ │ │ │ │ - ], │ │ │ │ │ - "Start with a known device type": [ │ │ │ │ │ - [38, "start-with-a-known-device-type"] │ │ │ │ │ - ], │ │ │ │ │ - "QEMU": [ │ │ │ │ │ - [38, "qemu"] │ │ │ │ │ - ], │ │ │ │ │ - "Create a Device Type": [ │ │ │ │ │ - [38, "create-a-device-type"] │ │ │ │ │ - ], │ │ │ │ │ - "Create a device in the database": [ │ │ │ │ │ - [38, "create-a-device-in-the-database"] │ │ │ │ │ - ], │ │ │ │ │ - "Adding a dictionary to the first QEMU device": [ │ │ │ │ │ - [38, "adding-a-dictionary-to-the-first-qemu-device"] │ │ │ │ │ - ], │ │ │ │ │ - "Adding other devices of known device-types": [ │ │ │ │ │ - [38, "adding-other-devices-of-known-device-types"] │ │ │ │ │ - ], │ │ │ │ │ - "Check existing instances": [ │ │ │ │ │ - [38, "check-existing-instances"] │ │ │ │ │ - ], │ │ │ │ │ - "LAVA Hacking Sessions": [ │ │ │ │ │ - [47, "lava-hacking-sessions"] │ │ │ │ │ + "Submitting your first job": [ │ │ │ │ │ + [40, "submitting-your-first-job"] │ │ │ │ │ ], │ │ │ │ │ - "Limitations": [ │ │ │ │ │ - [47, "limitations"], │ │ │ │ │ - [96, "limitations"], │ │ │ │ │ - [96, "id2"], │ │ │ │ │ - [105, "limitations"] │ │ │ │ │ + "Job Definition": [ │ │ │ │ │ + [40, "job-definition"] │ │ │ │ │ ], │ │ │ │ │ - "Definitions": [ │ │ │ │ │ - [47, "definitions"], │ │ │ │ │ - [5, "definitions"], │ │ │ │ │ - [105, "definitions"] │ │ │ │ │ + "Job Submission": [ │ │ │ │ │ + [40, "job-submission"] │ │ │ │ │ ], │ │ │ │ │ - "Parameters": [ │ │ │ │ │ - [47, "parameters"], │ │ │ │ │ - [70, "parameters"] │ │ │ │ │ + "Test Definitions": [ │ │ │ │ │ + [40, "test-definitions"] │ │ │ │ │ ], │ │ │ │ │ - "Starting a Hacking Session": [ │ │ │ │ │ - [47, "starting-a-hacking-session"] │ │ │ │ │ + "Viewing test results": [ │ │ │ │ │ + [40, "viewing-test-results"] │ │ │ │ │ ], │ │ │ │ │ - "Connecting to a Hacking Session": [ │ │ │ │ │ - [47, "connecting-to-a-hacking-session"] │ │ │ │ │ + "Downloading test results": [ │ │ │ │ │ + [40, "downloading-test-results"] │ │ │ │ │ ], │ │ │ │ │ - "SSH tunnels": [ │ │ │ │ │ - [47, "ssh-tunnels"] │ │ │ │ │ + "Web Based Job Submission": [ │ │ │ │ │ + [40, "web-based-job-submission"] │ │ │ │ │ ], │ │ │ │ │ - "lava-test-shell helper functions in a hack session": [ │ │ │ │ │ - [47, "lava-test-shell-helper-functions-in-a-hack-session"] │ │ │ │ │ + "XML-RPC Job Submission": [ │ │ │ │ │ + [40, "xml-rpc-job-submission"] │ │ │ │ │ ], │ │ │ │ │ - "Record text to the LAVA log": [ │ │ │ │ │ - [47, "record-text-to-the-lava-log"] │ │ │ │ │ + "Explaining the first job in detail": [ │ │ │ │ │ + [37, "explaining-the-first-job-in-detail"] │ │ │ │ │ ], │ │ │ │ │ - "Stopping a Hacking Session": [ │ │ │ │ │ - [47, "stopping-a-hacking-session"] │ │ │ │ │ + "Top level elements of a test job": [ │ │ │ │ │ + [37, "top-level-elements-of-a-test-job"] │ │ │ │ │ ], │ │ │ │ │ - "Hacking Session timeouts": [ │ │ │ │ │ - [47, "hacking-session-timeouts"] │ │ │ │ │ + "Actions within the test job": [ │ │ │ │ │ + [37, "actions-within-the-test-job"] │ │ │ │ │ ], │ │ │ │ │ - "Continuing a Hacking Session": [ │ │ │ │ │ - [47, "continuing-a-hacking-session"] │ │ │ │ │ + "Deploy action for QEMU": [ │ │ │ │ │ + [37, "deploy-action-for-qemu"] │ │ │ │ │ ], │ │ │ │ │ - "Multiple hacking sessions": [ │ │ │ │ │ - [47, "multiple-hacking-sessions"] │ │ │ │ │ + "Example of deploy label substitution": [ │ │ │ │ │ + [37, "example-of-deploy-label-substitution"] │ │ │ │ │ ], │ │ │ │ │ - "Sharing a single device": [ │ │ │ │ │ - [47, "sharing-a-single-device"] │ │ │ │ │ + "Boot action for QEMU": [ │ │ │ │ │ + [37, "boot-action-for-qemu"] │ │ │ │ │ ], │ │ │ │ │ - "Separating users using virtual machines": [ │ │ │ │ │ - [47, "separating-users-using-virtual-machines"] │ │ │ │ │ + "Test action for QEMU": [ │ │ │ │ │ + [37, "test-action-for-qemu"] │ │ │ │ │ ], │ │ │ │ │ "Lava Dispatcher Design": [ │ │ │ │ │ [33, "lava-dispatcher-design"] │ │ │ │ │ ], │ │ │ │ │ "Pipeline Architecture": [ │ │ │ │ │ [33, "pipeline-architecture"] │ │ │ │ │ ], │ │ │ │ │ @@ -7956,73 +7071,167 @@ │ │ │ │ │ ], │ │ │ │ │ "Creating a new template": [ │ │ │ │ │ [33, "creating-a-new-template"] │ │ │ │ │ ], │ │ │ │ │ "Running lava-run directly": [ │ │ │ │ │ [33, "running-lava-run-directly"] │ │ │ │ │ ], │ │ │ │ │ - "Explaining the first job in detail": [ │ │ │ │ │ - [37, "explaining-the-first-job-in-detail"] │ │ │ │ │ + "Glossary of terms": [ │ │ │ │ │ + [44, "glossary-of-terms"] │ │ │ │ │ ], │ │ │ │ │ - "Top level elements of a test job": [ │ │ │ │ │ - [37, "top-level-elements-of-a-test-job"] │ │ │ │ │ + "Dispatcher Action Reference": [ │ │ │ │ │ + [32, "dispatcher-action-reference"] │ │ │ │ │ ], │ │ │ │ │ - "Actions within the test job": [ │ │ │ │ │ - [37, "actions-within-the-test-job"] │ │ │ │ │ + "Deploy Actions": [ │ │ │ │ │ + [32, "deploy-actions"] │ │ │ │ │ ], │ │ │ │ │ - "Deploy action for QEMU": [ │ │ │ │ │ - [37, "deploy-action-for-qemu"] │ │ │ │ │ + "Boot Actions": [ │ │ │ │ │ + [32, "boot-actions"] │ │ │ │ │ ], │ │ │ │ │ - "Example of deploy label substitution": [ │ │ │ │ │ - [37, "example-of-deploy-label-substitution"] │ │ │ │ │ + "Test Actions": [ │ │ │ │ │ + [32, "test-actions"] │ │ │ │ │ ], │ │ │ │ │ - "Boot action for QEMU": [ │ │ │ │ │ - [37, "boot-action-for-qemu"] │ │ │ │ │ + "Other test job elements": [ │ │ │ │ │ + [32, "other-test-job-elements"] │ │ │ │ │ ], │ │ │ │ │ - "Test action for QEMU": [ │ │ │ │ │ - [37, "test-action-for-qemu"] │ │ │ │ │ + "reboot_to_fastboot": [ │ │ │ │ │ + [32, "reboot-to-fastboot"] │ │ │ │ │ ], │ │ │ │ │ - "First steps as a user": [ │ │ │ │ │ - [41, "first-steps-as-a-user"] │ │ │ │ │ + "Further Examples": [ │ │ │ │ │ + [32, "further-examples"] │ │ │ │ │ ], │ │ │ │ │ - "Logging In": [ │ │ │ │ │ - [41, "logging-in"] │ │ │ │ │ + "FVP": [ │ │ │ │ │ + [43, "fvp"] │ │ │ │ │ ], │ │ │ │ │ - "Local User Account": [ │ │ │ │ │ - [41, "local-user-account"] │ │ │ │ │ + "LAVA FVP Dispatcher Setup": [ │ │ │ │ │ + [43, "lava-fvp-dispatcher-setup"] │ │ │ │ │ ], │ │ │ │ │ - "Linaro lab users": [ │ │ │ │ │ - [41, "linaro-lab-users"] │ │ │ │ │ + "FVP Binaries": [ │ │ │ │ │ + [43, "fvp-binaries"] │ │ │ │ │ ], │ │ │ │ │ - "Authentication Tokens": [ │ │ │ │ │ - [41, "authentication-tokens"] │ │ │ │ │ + "Building FVP Docker Images": [ │ │ │ │ │ + [43, "building-fvp-docker-images"] │ │ │ │ │ ], │ │ │ │ │ - "Submitting your first job": [ │ │ │ │ │ - [40, "submitting-your-first-job"] │ │ │ │ │ + "Networking inside Models": [ │ │ │ │ │ + [43, "networking-inside-models"] │ │ │ │ │ ], │ │ │ │ │ - "Job Definition": [ │ │ │ │ │ - [40, "job-definition"] │ │ │ │ │ + "Reading from all model consoles": [ │ │ │ │ │ + [43, "reading-from-all-model-consoles"] │ │ │ │ │ ], │ │ │ │ │ - "Job Submission": [ │ │ │ │ │ - [40, "job-submission"] │ │ │ │ │ + "Providing gold standard images": [ │ │ │ │ │ + [45, "providing-gold-standard-images"] │ │ │ │ │ ], │ │ │ │ │ - "Test Definitions": [ │ │ │ │ │ - [40, "test-definitions"] │ │ │ │ │ + "Creating a gold standard image": [ │ │ │ │ │ + [45, "creating-a-gold-standard-image"] │ │ │ │ │ ], │ │ │ │ │ - "Viewing test results": [ │ │ │ │ │ - [40, "viewing-test-results"] │ │ │ │ │ + "Other gold standard components": [ │ │ │ │ │ + [45, "other-gold-standard-components"] │ │ │ │ │ ], │ │ │ │ │ - "Downloading test results": [ │ │ │ │ │ - [40, "downloading-test-results"] │ │ │ │ │ + "Functional testing of LAVA source code": [ │ │ │ │ │ + [42, "functional-testing-of-lava-source-code"] │ │ │ │ │ ], │ │ │ │ │ - "Web Based Job Submission": [ │ │ │ │ │ - [40, "web-based-job-submission"] │ │ │ │ │ + "Background": [ │ │ │ │ │ + [42, "background"], │ │ │ │ │ + [16, "background"] │ │ │ │ │ ], │ │ │ │ │ - "XML-RPC Job Submission": [ │ │ │ │ │ - [40, "xml-rpc-job-submission"] │ │ │ │ │ + "meta-lava": [ │ │ │ │ │ + [42, "meta-lava"] │ │ │ │ │ + ], │ │ │ │ │ + "Future plans": [ │ │ │ │ │ + [42, "future-plans"] │ │ │ │ │ + ], │ │ │ │ │ + "Purpose of functional tests": [ │ │ │ │ │ + [42, "purpose-of-functional-tests"] │ │ │ │ │ + ], │ │ │ │ │ + "Requirements for a functional test job": [ │ │ │ │ │ + [42, "requirements-for-a-functional-test-job"] │ │ │ │ │ + ], │ │ │ │ │ + "Using the functional test frontend": [ │ │ │ │ │ + [42, "using-the-functional-test-frontend"] │ │ │ │ │ + ], │ │ │ │ │ + "Dedicated workers": [ │ │ │ │ │ + [42, "dedicated-workers"] │ │ │ │ │ + ], │ │ │ │ │ + "Writing YAML job submission files": [ │ │ │ │ │ + [34, "writing-yaml-job-submission-files"] │ │ │ │ │ + ], │ │ │ │ │ + "Basics of the YAML format": [ │ │ │ │ │ + [34, "basics-of-the-yaml-format"] │ │ │ │ │ + ], │ │ │ │ │ + "Basic structure for job submission": [ │ │ │ │ │ + [34, "basic-structure-for-job-submission"] │ │ │ │ │ + ], │ │ │ │ │ + "Sample JOB definition for a KVM": [ │ │ │ │ │ + [34, "sample-job-definition-for-a-kvm"] │ │ │ │ │ + ], │ │ │ │ │ + "Basic structure for device_type configuration": [ │ │ │ │ │ + [34, "basic-structure-for-device-type-configuration"] │ │ │ │ │ + ], │ │ │ │ │ + "Basic structure for device configuration": [ │ │ │ │ │ + [34, "basic-structure-for-device-configuration"] │ │ │ │ │ + ], │ │ │ │ │ + "Overriding values in device type, device dictionary and the job context": [ │ │ │ │ │ + [34, "overriding-values-in-device-type-device-dictionary-and-the-job-context"] │ │ │ │ │ + ], │ │ │ │ │ + "Example One": [ │ │ │ │ │ + [34, "example-one"], │ │ │ │ │ + [30, "example-one"] │ │ │ │ │ + ], │ │ │ │ │ + "Example Two": [ │ │ │ │ │ + [34, "example-two"], │ │ │ │ │ + [30, "example-two"] │ │ │ │ │ + ], │ │ │ │ │ + "Example Three": [ │ │ │ │ │ + [34, "example-three"] │ │ │ │ │ + ], │ │ │ │ │ + "Provide environment variables for the device in the job description": [ │ │ │ │ │ + [34, "provide-environment-variables-for-the-device-in-the-job-description"] │ │ │ │ │ + ], │ │ │ │ │ + "Pipeline Device Configuration": [ │ │ │ │ │ + [34, "pipeline-device-configuration"] │ │ │ │ │ + ], │ │ │ │ │ + "Viewing the Device Dictionary": [ │ │ │ │ │ + [34, "viewing-the-device-dictionary"] │ │ │ │ │ + ], │ │ │ │ │ + "On scheduler device detail page": [ │ │ │ │ │ + [34, "on-scheduler-device-detail-page"] │ │ │ │ │ + ], │ │ │ │ │ + "On Job Description Tab": [ │ │ │ │ │ + [34, "on-job-description-tab"] │ │ │ │ │ + ], │ │ │ │ │ + "As Admin": [ │ │ │ │ │ + [34, "as-admin"] │ │ │ │ │ + ], │ │ │ │ │ + "Dispatcher actions": [ │ │ │ │ │ + [34, "dispatcher-actions"] │ │ │ │ │ + ], │ │ │ │ │ + "Mapping deployment actions to the python code": [ │ │ │ │ │ + [34, "mapping-deployment-actions-to-the-python-code"] │ │ │ │ │ + ], │ │ │ │ │ + "Deployment actions": [ │ │ │ │ │ + [34, "deployment-actions"] │ │ │ │ │ + ], │ │ │ │ │ + "Supported methods": [ │ │ │ │ │ + [34, "supported-methods"], │ │ │ │ │ + [34, "id1"] │ │ │ │ │ + ], │ │ │ │ │ + "Boot actions": [ │ │ │ │ │ + [34, "boot-actions"] │ │ │ │ │ + ], │ │ │ │ │ + "Test actions": [ │ │ │ │ │ + [34, "test-actions"] │ │ │ │ │ + ], │ │ │ │ │ + "Metadata": [ │ │ │ │ │ + [34, "metadata"], │ │ │ │ │ + [92, "metadata"], │ │ │ │ │ + [101, "metadata"], │ │ │ │ │ + [111, "metadata"] │ │ │ │ │ + ], │ │ │ │ │ + "Submit actions": [ │ │ │ │ │ + [34, "submit-actions"] │ │ │ │ │ ], │ │ │ │ │ "Testing the design": [ │ │ │ │ │ [35, "testing-the-design"] │ │ │ │ │ ], │ │ │ │ │ "Jinja2 templates": [ │ │ │ │ │ [35, "jinja2-templates"] │ │ │ │ │ ], │ │ │ │ │ @@ -8097,427 +7306,217 @@ │ │ │ │ │ ], │ │ │ │ │ "Use memory analysis tools": [ │ │ │ │ │ [35, "use-memory-analysis-tools"] │ │ │ │ │ ], │ │ │ │ │ "Pre-boot deployment manipulation": [ │ │ │ │ │ [35, "pre-boot-deployment-manipulation"] │ │ │ │ │ ], │ │ │ │ │ - "Advanced Use Cases": [ │ │ │ │ │ - [84, "advanced-use-cases"] │ │ │ │ │ - ], │ │ │ │ │ - "LAVA review criteria": [ │ │ │ │ │ - [94, "lava-review-criteria"] │ │ │ │ │ - ], │ │ │ │ │ - "Keep the dispatcher dumb": [ │ │ │ │ │ - [94, "keep-the-dispatcher-dumb"] │ │ │ │ │ - ], │ │ │ │ │ - "Avoid defaults in dispatcher code": [ │ │ │ │ │ - [94, "avoid-defaults-in-dispatcher-code"] │ │ │ │ │ - ], │ │ │ │ │ - "Let the test fail and diagnose later": [ │ │ │ │ │ - [94, "let-the-test-fail-and-diagnose-later"] │ │ │ │ │ - ], │ │ │ │ │ - "Treat the deployment as a black box": [ │ │ │ │ │ - [94, "treat-the-deployment-as-a-black-box"] │ │ │ │ │ - ], │ │ │ │ │ - "Only protect the essential components": [ │ │ │ │ │ - [94, "only-protect-the-essential-components"] │ │ │ │ │ - ], │ │ │ │ │ - "Give the test writer enough rope": [ │ │ │ │ │ - [94, "give-the-test-writer-enough-rope"] │ │ │ │ │ - ], │ │ │ │ │ - "Guidance": [ │ │ │ │ │ - [94, "guidance"] │ │ │ │ │ - ], │ │ │ │ │ - "Administrator debugging": [ │ │ │ │ │ - [80, "administrator-debugging"] │ │ │ │ │ - ], │ │ │ │ │ - "Debugging a LAVA instance": [ │ │ │ │ │ - [80, "debugging-a-lava-instance"] │ │ │ │ │ - ], │ │ │ │ │ - "Components": [ │ │ │ │ │ - [80, "components"] │ │ │ │ │ - ], │ │ │ │ │ - "Log files": [ │ │ │ │ │ - [80, "log-files"], │ │ │ │ │ - [97, "log-files"] │ │ │ │ │ - ], │ │ │ │ │ - "Command line debugging": [ │ │ │ │ │ - [80, "command-line-debugging"] │ │ │ │ │ - ], │ │ │ │ │ - "Configuration files": [ │ │ │ │ │ - [80, "configuration-files"] │ │ │ │ │ - ], │ │ │ │ │ - "Check LAVA instance": [ │ │ │ │ │ - [80, "check-lava-instance"] │ │ │ │ │ - ], │ │ │ │ │ - "Displaying current settings": [ │ │ │ │ │ - [80, "displaying-current-settings"] │ │ │ │ │ - ], │ │ │ │ │ - "Django support in 1.11": [ │ │ │ │ │ - [80, "django-support-in-1-11"] │ │ │ │ │ - ], │ │ │ │ │ - "Replacing VMGroups using Secondary Connections": [ │ │ │ │ │ - [87, "replacing-vmgroups-using-secondary-connections"] │ │ │ │ │ - ], │ │ │ │ │ - "Structure of an example job for a mustang": [ │ │ │ │ │ - [87, "structure-of-an-example-job-for-a-mustang"] │ │ │ │ │ - ], │ │ │ │ │ - "Notes": [ │ │ │ │ │ - [87, "notes"] │ │ │ │ │ - ], │ │ │ │ │ - "Running operations inside the guest VM": [ │ │ │ │ │ - [87, "running-operations-inside-the-guest-vm"] │ │ │ │ │ - ], │ │ │ │ │ - "Development process": [ │ │ │ │ │ - [88, "development-process"] │ │ │ │ │ - ], │ │ │ │ │ - "Design meeting": [ │ │ │ │ │ - [88, "design-meeting"] │ │ │ │ │ - ], │ │ │ │ │ - "Release process": [ │ │ │ │ │ - [88, "release-process"] │ │ │ │ │ - ], │ │ │ │ │ - "Reporting Bugs": [ │ │ │ │ │ - [88, "reporting-bugs"] │ │ │ │ │ - ], │ │ │ │ │ - "Pipeline Design": [ │ │ │ │ │ - [81, "pipeline-design"] │ │ │ │ │ - ], │ │ │ │ │ - "Principles of the LAVA design": [ │ │ │ │ │ - [81, "principles-of-the-lava-design"] │ │ │ │ │ - ], │ │ │ │ │ - "Test Writer aspects": [ │ │ │ │ │ - [81, "test-writer-aspects"] │ │ │ │ │ - ], │ │ │ │ │ - "Administrator aspects": [ │ │ │ │ │ - [81, "administrator-aspects"] │ │ │ │ │ - ], │ │ │ │ │ - "Publishing artifacts": [ │ │ │ │ │ - [90, "publishing-artifacts"] │ │ │ │ │ - ], │ │ │ │ │ - "Linaro LAVA-lab": [ │ │ │ │ │ - [90, "linaro-lava-lab"] │ │ │ │ │ - ], │ │ │ │ │ - "LAVA schema": [ │ │ │ │ │ - [82, "lava-schema"] │ │ │ │ │ - ], │ │ │ │ │ - "Job Submission Schema": [ │ │ │ │ │ - [82, "job-submission-schema"] │ │ │ │ │ - ], │ │ │ │ │ - "Schema elements": [ │ │ │ │ │ - [82, "schema-elements"] │ │ │ │ │ - ], │ │ │ │ │ - "Comments": [ │ │ │ │ │ - [82, "comments"] │ │ │ │ │ - ], │ │ │ │ │ - "Job Name": [ │ │ │ │ │ - [82, "job-name"] │ │ │ │ │ - ], │ │ │ │ │ - "Device Type": [ │ │ │ │ │ - [82, "device-type"] │ │ │ │ │ - ], │ │ │ │ │ - "Timeouts": [ │ │ │ │ │ - [82, "timeouts"], │ │ │ │ │ - [70, "timeouts"], │ │ │ │ │ - [106, "timeouts"] │ │ │ │ │ - ], │ │ │ │ │ - "Priority": [ │ │ │ │ │ - [82, "priority"] │ │ │ │ │ - ], │ │ │ │ │ - "Context": [ │ │ │ │ │ - [82, "context"], │ │ │ │ │ - [100, "context"] │ │ │ │ │ - ], │ │ │ │ │ - "Protocols": [ │ │ │ │ │ - [82, "protocols"] │ │ │ │ │ - ], │ │ │ │ │ - "Actions": [ │ │ │ │ │ - [82, "actions"], │ │ │ │ │ - [70, "actions"] │ │ │ │ │ - ], │ │ │ │ │ - "Deploy Action": [ │ │ │ │ │ - [82, "deploy-action"] │ │ │ │ │ - ], │ │ │ │ │ - "Boot Action": [ │ │ │ │ │ - [82, "boot-action"] │ │ │ │ │ - ], │ │ │ │ │ - "Test Action": [ │ │ │ │ │ - [82, "test-action"] │ │ │ │ │ - ], │ │ │ │ │ - "Writing jobs using Secondary Connections": [ │ │ │ │ │ - [86, "writing-jobs-using-secondary-connections"] │ │ │ │ │ - ], │ │ │ │ │ - "Secure Shell connections (ssh)": [ │ │ │ │ │ - [86, "secure-shell-connections-ssh"] │ │ │ │ │ - ], │ │ │ │ │ - "Delaying the start of a job using Multinode": [ │ │ │ │ │ - [86, "delaying-the-start-of-a-job-using-multinode"] │ │ │ │ │ - ], │ │ │ │ │ - "Picking up the data in the guest role": [ │ │ │ │ │ - [86, "picking-up-the-data-in-the-guest-role"] │ │ │ │ │ - ], │ │ │ │ │ - "Test definition for the host role": [ │ │ │ │ │ - [86, "test-definition-for-the-host-role"] │ │ │ │ │ - ], │ │ │ │ │ - "Test definition for the guest role": [ │ │ │ │ │ - [86, "test-definition-for-the-guest-role"] │ │ │ │ │ - ], │ │ │ │ │ - "Complete Multinode test definition": [ │ │ │ │ │ - [86, "complete-multinode-test-definition"] │ │ │ │ │ - ], │ │ │ │ │ - "Setting up a LAVA instance": [ │ │ │ │ │ - [83, "setting-up-a-lava-instance"] │ │ │ │ │ - ], │ │ │ │ │ - "Installing just lava-server": [ │ │ │ │ │ - [83, "installing-just-lava-server"] │ │ │ │ │ - ], │ │ │ │ │ - "Installing the full lava set": [ │ │ │ │ │ - [83, "installing-the-full-lava-set"] │ │ │ │ │ - ], │ │ │ │ │ - "Installing master without Recommends": [ │ │ │ │ │ - [83, "installing-master-without-recommends"] │ │ │ │ │ - ], │ │ │ │ │ - "Installing lava-dispatcher": [ │ │ │ │ │ - [83, "installing-lava-dispatcher"] │ │ │ │ │ - ], │ │ │ │ │ - "Configuring apache2 on a worker": [ │ │ │ │ │ - [83, "configuring-apache2-on-a-worker"] │ │ │ │ │ - ], │ │ │ │ │ - "Adding workers to the master": [ │ │ │ │ │ - [83, "adding-workers-to-the-master"] │ │ │ │ │ - ], │ │ │ │ │ - "Adding devices to a worker": [ │ │ │ │ │ - [83, "adding-devices-to-a-worker"] │ │ │ │ │ - ], │ │ │ │ │ - "Correlating a test result with the source code": [ │ │ │ │ │ - [92, "correlating-a-test-result-with-the-source-code"] │ │ │ │ │ - ], │ │ │ │ │ - "Problems within test suites": [ │ │ │ │ │ - [92, "problems-within-test-suites"] │ │ │ │ │ - ], │ │ │ │ │ - "Avoid reliance on the total count": [ │ │ │ │ │ - [92, "avoid-reliance-on-the-total-count"] │ │ │ │ │ - ], │ │ │ │ │ - "Control the test operations": [ │ │ │ │ │ - [92, "control-the-test-operations"] │ │ │ │ │ - ], │ │ │ │ │ - "Control the output": [ │ │ │ │ │ - [92, "control-the-output"] │ │ │ │ │ - ], │ │ │ │ │ - "Control the base system": [ │ │ │ │ │ - [92, "control-the-base-system"] │ │ │ │ │ - ], │ │ │ │ │ - "Control the build system": [ │ │ │ │ │ - [92, "control-the-build-system"] │ │ │ │ │ - ], │ │ │ │ │ - "Control the list of tests": [ │ │ │ │ │ - [92, "control-the-list-of-tests"] │ │ │ │ │ - ], │ │ │ │ │ - "Distinguish between CI tests and functional tests": [ │ │ │ │ │ - [92, "distinguish-between-ci-tests-and-functional-tests"] │ │ │ │ │ - ], │ │ │ │ │ - "Manage testing of complete software stacks": [ │ │ │ │ │ - [92, "manage-testing-of-complete-software-stacks"] │ │ │ │ │ - ], │ │ │ │ │ - "Reproducing test jobs": [ │ │ │ │ │ - [92, "reproducing-test-jobs"] │ │ │ │ │ - ], │ │ │ │ │ - "Introduction to Results in LAVA": [ │ │ │ │ │ - [93, "introduction-to-results-in-lava"] │ │ │ │ │ - ], │ │ │ │ │ - "Accessing results": [ │ │ │ │ │ - [93, "accessing-results"] │ │ │ │ │ + "Enabling Secondary Media": [ │ │ │ │ │ + [9, "enabling-secondary-media"] │ │ │ │ │ ], │ │ │ │ │ - "Accessing specific test results": [ │ │ │ │ │ - [93, "accessing-specific-test-results"] │ │ │ │ │ + "Device configuration": [ │ │ │ │ │ + [9, "device-configuration"], │ │ │ │ │ + [0, "device-configuration"] │ │ │ │ │ ], │ │ │ │ │ - "Test Suite": [ │ │ │ │ │ - [93, "test-suite"] │ │ │ │ │ + "Identifying secondary media": [ │ │ │ │ │ + [9, "identifying-secondary-media"] │ │ │ │ │ ], │ │ │ │ │ - "Test Set": [ │ │ │ │ │ - [93, "test-set"] │ │ │ │ │ + "Secondary media configuration": [ │ │ │ │ │ + [9, "secondary-media-configuration"] │ │ │ │ │ ], │ │ │ │ │ - "Test Case": [ │ │ │ │ │ - [93, "test-case"] │ │ │ │ │ + "Using Grub with SATA secondary media": [ │ │ │ │ │ + [9, "using-grub-with-sata-secondary-media"] │ │ │ │ │ ], │ │ │ │ │ - "Test Raise": [ │ │ │ │ │ - [93, "test-raise"] │ │ │ │ │ + "Device dictionary": [ │ │ │ │ │ + [9, "device-dictionary"], │ │ │ │ │ + [9, "id3"], │ │ │ │ │ + [79, "device-dictionary"] │ │ │ │ │ ], │ │ │ │ │ - "Accessing the test job logs from results": [ │ │ │ │ │ - [93, "accessing-the-test-job-logs-from-results"] │ │ │ │ │ + "Device template example": [ │ │ │ │ │ + [9, "device-template-example"], │ │ │ │ │ + [9, "id4"] │ │ │ │ │ ], │ │ │ │ │ - "Multiple occurrences": [ │ │ │ │ │ - [93, "multiple-occurrences"] │ │ │ │ │ + "Dispatcher configuration": [ │ │ │ │ │ + [9, "dispatcher-configuration"], │ │ │ │ │ + [9, "id5"] │ │ │ │ │ ], │ │ │ │ │ - "Accessing associated sections of test job logs": [ │ │ │ │ │ - [93, "accessing-associated-sections-of-test-job-logs"] │ │ │ │ │ + "Grub SATA Test Job submission": [ │ │ │ │ │ + [9, "grub-sata-test-job-submission"] │ │ │ │ │ ], │ │ │ │ │ - "Sample output for lava-test-case shell": [ │ │ │ │ │ - [93, "sample-output-for-lava-test-case-name-shell"] │ │ │ │ │ + "Using UBoot with USB secondary media": [ │ │ │ │ │ + [9, "using-uboot-with-usb-secondary-media"] │ │ │ │ │ ], │ │ │ │ │ - "Test Writer use cases": [ │ │ │ │ │ - [85, "test-writer-use-cases"] │ │ │ │ │ + "USB UBoot Test Job submission": [ │ │ │ │ │ + [9, "usb-uboot-test-job-submission"] │ │ │ │ │ ], │ │ │ │ │ - "Writing a LAVA job submission": [ │ │ │ │ │ - [85, "writing-a-lava-job-submission"] │ │ │ │ │ + "Building and manipulating images for your devices": [ │ │ │ │ │ + [13, "building-and-manipulating-images-for-your-devices"] │ │ │ │ │ ], │ │ │ │ │ - "General principles": [ │ │ │ │ │ - [85, "general-principles"] │ │ │ │ │ + "Basics of building an image": [ │ │ │ │ │ + [13, "basics-of-building-an-image"] │ │ │ │ │ ], │ │ │ │ │ - "API": [ │ │ │ │ │ - [85, "api"] │ │ │ │ │ + "Obtaining a kernel": [ │ │ │ │ │ + [13, "obtaining-a-kernel"] │ │ │ │ │ ], │ │ │ │ │ - "Validity checks": [ │ │ │ │ │ - [85, "validity-checks"] │ │ │ │ │ + "Obtaining a bootloader": [ │ │ │ │ │ + [13, "obtaining-a-bootloader"] │ │ │ │ │ ], │ │ │ │ │ - "Results": [ │ │ │ │ │ - [85, "results"] │ │ │ │ │ + "Inspecting existing images": [ │ │ │ │ │ + [13, "inspecting-existing-images"] │ │ │ │ │ ], │ │ │ │ │ - "Job submission data": [ │ │ │ │ │ - [85, "job-submission-data"] │ │ │ │ │ + "Tools to install and get to know": [ │ │ │ │ │ + [13, "tools-to-install-and-get-to-know"] │ │ │ │ │ ], │ │ │ │ │ - "Writing a new TestJob": [ │ │ │ │ │ - [85, "writing-a-new-testjob"] │ │ │ │ │ + "Concepts behind boot images": [ │ │ │ │ │ + [13, "concepts-behind-boot-images"] │ │ │ │ │ ], │ │ │ │ │ - "YAML syntax": [ │ │ │ │ │ - [85, "yaml-syntax"] │ │ │ │ │ + "Find the offset": [ │ │ │ │ │ + [13, "find-the-offset"] │ │ │ │ │ ], │ │ │ │ │ - "Common YAML errors": [ │ │ │ │ │ - [85, "common-yaml-errors"] │ │ │ │ │ + "Mounting partitions using loop and offset": [ │ │ │ │ │ + [13, "mounting-partitions-using-loop-and-offset"] │ │ │ │ │ ], │ │ │ │ │ - "Understanding available support": [ │ │ │ │ │ - [85, "understanding-available-support"] │ │ │ │ │ + "Creating new images": [ │ │ │ │ │ + [13, "creating-new-images"] │ │ │ │ │ ], │ │ │ │ │ - "Understanding a TestJob": [ │ │ │ │ │ - [85, "understanding-a-testjob"] │ │ │ │ │ + "Making a bootstrap rootfs usable": [ │ │ │ │ │ + [13, "making-a-bootstrap-rootfs-usable"] │ │ │ │ │ ], │ │ │ │ │ - "Submissions using advanced features": [ │ │ │ │ │ - [85, "submissions-using-advanced-features"] │ │ │ │ │ + "Other steps which may be required": [ │ │ │ │ │ + [13, "other-steps-which-may-be-required"] │ │ │ │ │ ], │ │ │ │ │ - "Templating": [ │ │ │ │ │ - [85, "templating"] │ │ │ │ │ + "Increasing the number of loop devices": [ │ │ │ │ │ + [13, "increasing-the-number-of-loop-devices"] │ │ │ │ │ ], │ │ │ │ │ - "Including YAML": [ │ │ │ │ │ - [85, "including-yaml"] │ │ │ │ │ + "Further information": [ │ │ │ │ │ + [13, "further-information"], │ │ │ │ │ + [77, "further-information"] │ │ │ │ │ ], │ │ │ │ │ - "QEMU options": [ │ │ │ │ │ - [91, "qemu-options"] │ │ │ │ │ + "Advanced Installation Topics": [ │ │ │ │ │ + [10, "advanced-installation-topics"] │ │ │ │ │ ], │ │ │ │ │ - "Virtualization testing": [ │ │ │ │ │ - [91, "virtualization-testing"] │ │ │ │ │ + "Laptops": [ │ │ │ │ │ + [10, "laptops"] │ │ │ │ │ ], │ │ │ │ │ - "Emulation testing": [ │ │ │ │ │ - [91, "emulation-testing"] │ │ │ │ │ + "Virtual Machines": [ │ │ │ │ │ + [10, "virtual-machines"] │ │ │ │ │ ], │ │ │ │ │ - "Substitution support": [ │ │ │ │ │ - [91, "substitution-support"] │ │ │ │ │ + "Workload": [ │ │ │ │ │ + [10, "workload"] │ │ │ │ │ ], │ │ │ │ │ - "Mandatory support": [ │ │ │ │ │ - [91, "mandatory-support"] │ │ │ │ │ + "Localhost": [ │ │ │ │ │ + [10, "localhost"] │ │ │ │ │ ], │ │ │ │ │ - "Specific support": [ │ │ │ │ │ - [91, "specific-support"] │ │ │ │ │ + "Other infrastructure": [ │ │ │ │ │ + [10, "other-infrastructure"] │ │ │ │ │ ], │ │ │ │ │ - "Example command lines": [ │ │ │ │ │ - [91, "example-command-lines"] │ │ │ │ │ + "Remote power control": [ │ │ │ │ │ + [10, "remote-power-control"] │ │ │ │ │ ], │ │ │ │ │ - "How to override variables": [ │ │ │ │ │ - [91, "how-to-override-variables"] │ │ │ │ │ + "Serial console support": [ │ │ │ │ │ + [10, "serial-console-support"] │ │ │ │ │ ], │ │ │ │ │ - "How to specify QEMU environment options": [ │ │ │ │ │ - [91, "how-to-specify-qemu-environment-options"] │ │ │ │ │ + "Network switches": [ │ │ │ │ │ + [10, "network-switches"] │ │ │ │ │ ], │ │ │ │ │ - "Host architecture support": [ │ │ │ │ │ - [91, "host-architecture-support"] │ │ │ │ │ + "Power supply": [ │ │ │ │ │ + [10, "power-supply"] │ │ │ │ │ ], │ │ │ │ │ - "LAVA test storage": [ │ │ │ │ │ - [91, "lava-test-storage"] │ │ │ │ │ + "Fileserver": [ │ │ │ │ │ + [10, "fileserver"] │ │ │ │ │ ], │ │ │ │ │ - "HTTP proxies": [ │ │ │ │ │ - [89, "http-proxies"] │ │ │ │ │ + "Shelving and racks": [ │ │ │ │ │ + [10, "shelving-and-racks"] │ │ │ │ │ ], │ │ │ │ │ - "Using the HTTP proxy": [ │ │ │ │ │ - [89, "using-the-http-proxy"] │ │ │ │ │ + "Recommended Installation Types": [ │ │ │ │ │ + [10, "recommended-installation-types"] │ │ │ │ │ ], │ │ │ │ │ - "Using the HTTP cache": [ │ │ │ │ │ - [89, "using-the-http-cache"] │ │ │ │ │ + "Single instance": [ │ │ │ │ │ + [10, "single-instance"] │ │ │ │ │ ], │ │ │ │ │ - "Handling bots": [ │ │ │ │ │ - [89, "handling-bots"] │ │ │ │ │ + "Master with one or more remote workers": [ │ │ │ │ │ + [10, "master-with-one-or-more-remote-workers"] │ │ │ │ │ ], │ │ │ │ │ - "State machine": [ │ │ │ │ │ - [95, "state-machine"] │ │ │ │ │ + "Authentication and encryption": [ │ │ │ │ │ + [10, "authentication-and-encryption"] │ │ │ │ │ ], │ │ │ │ │ - "Devices": [ │ │ │ │ │ - [95, "devices"] │ │ │ │ │ + "Other installation notes": [ │ │ │ │ │ + [10, "other-installation-notes"] │ │ │ │ │ ], │ │ │ │ │ - "TestJobs": [ │ │ │ │ │ - [95, "testjobs"] │ │ │ │ │ + "LAVA server branding support": [ │ │ │ │ │ + [10, "lava-server-branding-support"] │ │ │ │ │ ], │ │ │ │ │ - "Scheduler": [ │ │ │ │ │ - [95, "scheduler"] │ │ │ │ │ + "Unattended upgrades": [ │ │ │ │ │ + [10, "unattended-upgrades"] │ │ │ │ │ ], │ │ │ │ │ - "Health-checks": [ │ │ │ │ │ - [95, "health-checks"] │ │ │ │ │ + "Example changes": [ │ │ │ │ │ + [10, "example-changes"] │ │ │ │ │ ], │ │ │ │ │ - "Test jobs": [ │ │ │ │ │ - [95, "test-jobs"] │ │ │ │ │ + "Configuring event notifications": [ │ │ │ │ │ + [10, "configuring-event-notifications"] │ │ │ │ │ ], │ │ │ │ │ - "Configuring user authentication": [ │ │ │ │ │ - [11, "configuring-user-authentication"] │ │ │ │ │ + "Events and network reliability": [ │ │ │ │ │ + [10, "events-and-network-reliability"] │ │ │ │ │ ], │ │ │ │ │ - "Using Lightweight Directory Access Protocol (LDAP)": [ │ │ │ │ │ - [11, "using-lightweight-directory-access-protocol-ldap"] │ │ │ │ │ + "PostgreSQL Port configuration": [ │ │ │ │ │ + [10, "postgresql-port-configuration"] │ │ │ │ │ ], │ │ │ │ │ - "Using external authentication provider supported by django-allauth": [ │ │ │ │ │ - [11, "using-external-authentication-provider-supported-by-django-allauth"] │ │ │ │ │ + "Configuring the LAVA UI": [ │ │ │ │ │ + [10, "configuring-the-lava-ui"] │ │ │ │ │ ], │ │ │ │ │ - "Using Open ID Connect (OIDC) authentication providers": [ │ │ │ │ │ - [11, "using-open-id-connect-oidc-authentication-providers"] │ │ │ │ │ + "Gunicorn3 bind addresses": [ │ │ │ │ │ + [10, "gunicorn3-bind-addresses"] │ │ │ │ │ ], │ │ │ │ │ - "User permissions and authorization": [ │ │ │ │ │ - [12, "user-permissions-and-authorization"] │ │ │ │ │ + "Apache proxy configuration": [ │ │ │ │ │ + [10, "apache-proxy-configuration"] │ │ │ │ │ ], │ │ │ │ │ - "Global authorization": [ │ │ │ │ │ - [12, "global-authorization"] │ │ │ │ │ + "Apache headers": [ │ │ │ │ │ + [10, "apache-headers"] │ │ │ │ │ ], │ │ │ │ │ - "Per-object authorization": [ │ │ │ │ │ - [12, "per-object-authorization"] │ │ │ │ │ + "Banning badly behaved bots": [ │ │ │ │ │ + [10, "banning-badly-behaved-bots"] │ │ │ │ │ ], │ │ │ │ │ - "Permission inheritance": [ │ │ │ │ │ - [12, "permission-inheritance"] │ │ │ │ │ + "Tracking errors": [ │ │ │ │ │ + [10, "tracking-errors"] │ │ │ │ │ ], │ │ │ │ │ - "Anonymous users vs authenticated users": [ │ │ │ │ │ - [12, "anonymous-users-vs-authenticated-users"] │ │ │ │ │ + "Configuring default table length": [ │ │ │ │ │ + [10, "configuring-default-table-length"] │ │ │ │ │ ], │ │ │ │ │ - "Test job specifics on visibility": [ │ │ │ │ │ - [12, "test-job-specifics-on-visibility"] │ │ │ │ │ + "Configuring submitter full name": [ │ │ │ │ │ + [10, "configuring-submitter-full-name"] │ │ │ │ │ ], │ │ │ │ │ - "Setup": [ │ │ │ │ │ - [12, "setup"] │ │ │ │ │ + "Controlling the Django Admin Interface": [ │ │ │ │ │ + [10, "controlling-the-django-admin-interface"] │ │ │ │ │ ], │ │ │ │ │ - "Data migration": [ │ │ │ │ │ - [12, "data-migration"] │ │ │ │ │ + "Configuring log file display": [ │ │ │ │ │ + [10, "configuring-log-file-display"] │ │ │ │ │ ], │ │ │ │ │ - "Visibility decision trees": [ │ │ │ │ │ - [12, "visibility-decision-trees"] │ │ │ │ │ + "Extending the schema white list": [ │ │ │ │ │ + [10, "extending-the-schema-white-list"] │ │ │ │ │ ], │ │ │ │ │ "Bootloader/Firmware Testing and Recovery": [ │ │ │ │ │ [14, "bootloader-firmware-testing-and-recovery"] │ │ │ │ │ ], │ │ │ │ │ "What is recovery mode?": [ │ │ │ │ │ [14, "what-is-recovery-mode"] │ │ │ │ │ ], │ │ │ │ │ "Bootloader recovery criteria": [ │ │ │ │ │ [14, "bootloader-recovery-criteria"] │ │ │ │ │ ], │ │ │ │ │ + "Reliability": [ │ │ │ │ │ + [14, "reliability"], │ │ │ │ │ + [30, "reliability"] │ │ │ │ │ + ], │ │ │ │ │ "Uniqueness": [ │ │ │ │ │ [14, "uniqueness"] │ │ │ │ │ ], │ │ │ │ │ + "Scalability": [ │ │ │ │ │ + [14, "scalability"], │ │ │ │ │ + [30, "scalability"] │ │ │ │ │ + ], │ │ │ │ │ "Deployment": [ │ │ │ │ │ [14, "deployment"] │ │ │ │ │ ], │ │ │ │ │ "Comparison of barriers to bootloader testing and recovery": [ │ │ │ │ │ [14, "comparison-of-barriers-to-bootloader-testing-and-recovery"] │ │ │ │ │ ], │ │ │ │ │ "Defensive testing": [ │ │ │ │ │ @@ -8555,14 +7554,35 @@ │ │ │ │ │ ], │ │ │ │ │ "U-Boot boot action": [ │ │ │ │ │ [14, "u-boot-boot-action"] │ │ │ │ │ ], │ │ │ │ │ "X15 GPEVM": [ │ │ │ │ │ [14, "x15-gpevm"] │ │ │ │ │ ], │ │ │ │ │ + "LAVA Software Community Project Code of Conduct": [ │ │ │ │ │ + [15, "lava-software-community-project-code-of-conduct"] │ │ │ │ │ + ], │ │ │ │ │ + "Be respectful": [ │ │ │ │ │ + [15, "be-respectful"] │ │ │ │ │ + ], │ │ │ │ │ + "Assume good faith": [ │ │ │ │ │ + [15, "assume-good-faith"] │ │ │ │ │ + ], │ │ │ │ │ + "Be collaborative": [ │ │ │ │ │ + [15, "be-collaborative"] │ │ │ │ │ + ], │ │ │ │ │ + "Try to be concise": [ │ │ │ │ │ + [15, "try-to-be-concise"] │ │ │ │ │ + ], │ │ │ │ │ + "Be open": [ │ │ │ │ │ + [15, "be-open"] │ │ │ │ │ + ], │ │ │ │ │ + "In case of problems": [ │ │ │ │ │ + [15, "in-case-of-problems"] │ │ │ │ │ + ], │ │ │ │ │ "Boot Action Reference": [ │ │ │ │ │ [0, "boot-action-reference"] │ │ │ │ │ ], │ │ │ │ │ "auto_login": [ │ │ │ │ │ [0, "auto-login"] │ │ │ │ │ ], │ │ │ │ │ "login_prompt": [ │ │ │ │ │ @@ -8683,261 +7703,39 @@ │ │ │ │ │ ], │ │ │ │ │ "Deployment differences": [ │ │ │ │ │ [0, "deployment-differences"] │ │ │ │ │ ], │ │ │ │ │ "u-boot": [ │ │ │ │ │ [0, "u-boot"] │ │ │ │ │ ], │ │ │ │ │ + "Example": [ │ │ │ │ │ + [0, "example"], │ │ │ │ │ + [22, "example"] │ │ │ │ │ + ], │ │ │ │ │ "uefi-menu": [ │ │ │ │ │ [0, "uefi-menu"] │ │ │ │ │ ], │ │ │ │ │ "uuu": [ │ │ │ │ │ [0, "uuu"] │ │ │ │ │ ], │ │ │ │ │ "Installation": [ │ │ │ │ │ [0, "installation"] │ │ │ │ │ ], │ │ │ │ │ - "Device configuration": [ │ │ │ │ │ - [0, "device-configuration"], │ │ │ │ │ - [9, "device-configuration"] │ │ │ │ │ - ], │ │ │ │ │ "Usage": [ │ │ │ │ │ [0, "usage"] │ │ │ │ │ ], │ │ │ │ │ "Using built-in scripts": [ │ │ │ │ │ [0, "using-built-in-scripts"] │ │ │ │ │ ], │ │ │ │ │ "Using commands": [ │ │ │ │ │ [0, "using-commands"] │ │ │ │ │ ], │ │ │ │ │ "BCU Integration": [ │ │ │ │ │ [0, "bcu-integration"] │ │ │ │ │ ], │ │ │ │ │ - "LAVA Software Community Project Code of Conduct": [ │ │ │ │ │ - [15, "lava-software-community-project-code-of-conduct"] │ │ │ │ │ - ], │ │ │ │ │ - "Be respectful": [ │ │ │ │ │ - [15, "be-respectful"] │ │ │ │ │ - ], │ │ │ │ │ - "Assume good faith": [ │ │ │ │ │ - [15, "assume-good-faith"] │ │ │ │ │ - ], │ │ │ │ │ - "Be collaborative": [ │ │ │ │ │ - [15, "be-collaborative"] │ │ │ │ │ - ], │ │ │ │ │ - "Try to be concise": [ │ │ │ │ │ - [15, "try-to-be-concise"] │ │ │ │ │ - ], │ │ │ │ │ - "Be open": [ │ │ │ │ │ - [15, "be-open"] │ │ │ │ │ - ], │ │ │ │ │ - "In case of problems": [ │ │ │ │ │ - [15, "in-case-of-problems"] │ │ │ │ │ - ], │ │ │ │ │ - "Protocol Reference": [ │ │ │ │ │ - [3, "protocol-reference"] │ │ │ │ │ - ], │ │ │ │ │ - "Using protocols from actions": [ │ │ │ │ │ - [3, "using-protocols-from-actions"] │ │ │ │ │ - ], │ │ │ │ │ - "MultiNode Protocol": [ │ │ │ │ │ - [3, "multinode-protocol"] │ │ │ │ │ - ], │ │ │ │ │ - "lava-start API call": [ │ │ │ │ │ - [3, "lava-start-api-call"] │ │ │ │ │ - ], │ │ │ │ │ - "Passing data at startup": [ │ │ │ │ │ - [3, "passing-data-at-startup"] │ │ │ │ │ - ], │ │ │ │ │ - "Managing flow using inline definitions": [ │ │ │ │ │ - [3, "managing-flow-using-inline-definitions"] │ │ │ │ │ - ], │ │ │ │ │ - "Marking some roles as essential": [ │ │ │ │ │ - [3, "marking-some-roles-as-essential"] │ │ │ │ │ - ], │ │ │ │ │ - "Protocol requests from actions": [ │ │ │ │ │ - [3, "protocol-requests-from-actions"], │ │ │ │ │ - [3, "vland-protocol-requests"], │ │ │ │ │ - [3, "lxc-protocol-requests"] │ │ │ │ │ - ], │ │ │ │ │ - "VLANd protocol": [ │ │ │ │ │ - [3, "vland-protocol"] │ │ │ │ │ - ], │ │ │ │ │ - "LXC protocol": [ │ │ │ │ │ - [3, "lxc-protocol"] │ │ │ │ │ - ], │ │ │ │ │ - "Test Action Reference": [ │ │ │ │ │ - [5, "test-action-reference"] │ │ │ │ │ - ], │ │ │ │ │ - "repository": [ │ │ │ │ │ - [5, "repository"] │ │ │ │ │ - ], │ │ │ │ │ - "from": [ │ │ │ │ │ - [5, "from"] │ │ │ │ │ - ], │ │ │ │ │ - "git": [ │ │ │ │ │ - [5, "git"] │ │ │ │ │ - ], │ │ │ │ │ - "inline": [ │ │ │ │ │ - [5, "inline"] │ │ │ │ │ - ], │ │ │ │ │ - "path": [ │ │ │ │ │ - [5, "path"] │ │ │ │ │ - ], │ │ │ │ │ - "name": [ │ │ │ │ │ - [5, "name"], │ │ │ │ │ - [5, "id2"], │ │ │ │ │ - [5, "id3"], │ │ │ │ │ - [2, "name"] │ │ │ │ │ - ], │ │ │ │ │ - "params": [ │ │ │ │ │ - [5, "params"] │ │ │ │ │ - ], │ │ │ │ │ - "Skipping elements of test definitions": [ │ │ │ │ │ - [5, "skipping-elements-of-test-definitions"] │ │ │ │ │ - ], │ │ │ │ │ - "deps": [ │ │ │ │ │ - [5, "deps"] │ │ │ │ │ - ], │ │ │ │ │ - "keys": [ │ │ │ │ │ - [5, "keys"] │ │ │ │ │ - ], │ │ │ │ │ - "sources": [ │ │ │ │ │ - [5, "sources"] │ │ │ │ │ - ], │ │ │ │ │ - "steps": [ │ │ │ │ │ - [5, "steps"] │ │ │ │ │ - ], │ │ │ │ │ - "all": [ │ │ │ │ │ - [5, "all"] │ │ │ │ │ - ], │ │ │ │ │ - "Inline test definition example": [ │ │ │ │ │ - [5, "inline-test-definition-example"] │ │ │ │ │ - ], │ │ │ │ │ - "Additional support": [ │ │ │ │ │ - [5, "additional-support"] │ │ │ │ │ - ], │ │ │ │ │ - "Result checks": [ │ │ │ │ │ - [5, "result-checks"] │ │ │ │ │ - ], │ │ │ │ │ - "TestSets": [ │ │ │ │ │ - [5, "testsets"] │ │ │ │ │ - ], │ │ │ │ │ - "Interactive": [ │ │ │ │ │ - [5, "interactive"] │ │ │ │ │ - ], │ │ │ │ │ - "echo": [ │ │ │ │ │ - [5, "echo"] │ │ │ │ │ - ], │ │ │ │ │ - "script": [ │ │ │ │ │ - [5, "script"] │ │ │ │ │ - ], │ │ │ │ │ - "Monitors": [ │ │ │ │ │ - [5, "monitors"] │ │ │ │ │ - ], │ │ │ │ │ - "Creating Backups": [ │ │ │ │ │ - [7, "creating-backups"] │ │ │ │ │ - ], │ │ │ │ │ - "Dependencies within backups": [ │ │ │ │ │ - [7, "dependencies-within-backups"] │ │ │ │ │ - ], │ │ │ │ │ - "Issues with the base suite": [ │ │ │ │ │ - [7, "issues-with-the-base-suite"] │ │ │ │ │ - ], │ │ │ │ │ - "What to include in your configuration management": [ │ │ │ │ │ - [7, "what-to-include-in-your-configuration-management"] │ │ │ │ │ - ], │ │ │ │ │ - "What to include in your master backups": [ │ │ │ │ │ - [7, "what-to-include-in-your-master-backups"] │ │ │ │ │ - ], │ │ │ │ │ - "What to include in your worker backups": [ │ │ │ │ │ - [7, "what-to-include-in-your-worker-backups"] │ │ │ │ │ - ], │ │ │ │ │ - "Restoring a master from a backup": [ │ │ │ │ │ - [7, "restoring-a-master-from-a-backup"] │ │ │ │ │ - ], │ │ │ │ │ - "Restoring a worker from backups": [ │ │ │ │ │ - [7, "restoring-a-worker-from-backups"] │ │ │ │ │ - ], │ │ │ │ │ - "Command Action Reference": [ │ │ │ │ │ - [1, "command-action-reference"] │ │ │ │ │ - ], │ │ │ │ │ - "Admin Setup": [ │ │ │ │ │ - [1, "admin-setup"] │ │ │ │ │ - ], │ │ │ │ │ - "Deploying LXC devices": [ │ │ │ │ │ - [8, "deploying-lxc-devices"] │ │ │ │ │ - ], │ │ │ │ │ - "Prerequisite": [ │ │ │ │ │ - [8, "prerequisite"] │ │ │ │ │ - ], │ │ │ │ │ - "Android testing with LXC support": [ │ │ │ │ │ - [8, "android-testing-with-lxc-support"] │ │ │ │ │ - ], │ │ │ │ │ - "Arbitrary external devices needing LXC support": [ │ │ │ │ │ - [8, "arbitrary-external-devices-needing-lxc-support"] │ │ │ │ │ - ], │ │ │ │ │ - "USB attached devices": [ │ │ │ │ │ - [8, "usb-attached-devices"] │ │ │ │ │ - ], │ │ │ │ │ - "Other related devices": [ │ │ │ │ │ - [8, "other-related-devices"] │ │ │ │ │ - ], │ │ │ │ │ - "Persistent Containers": [ │ │ │ │ │ - [8, "persistent-containers"] │ │ │ │ │ - ], │ │ │ │ │ - "Unprivileged containers as root": [ │ │ │ │ │ - [8, "unprivileged-containers-as-root"] │ │ │ │ │ - ], │ │ │ │ │ - "Other resources": [ │ │ │ │ │ - [8, "other-resources"] │ │ │ │ │ - ], │ │ │ │ │ - "Building and manipulating images for your devices": [ │ │ │ │ │ - [13, "building-and-manipulating-images-for-your-devices"] │ │ │ │ │ - ], │ │ │ │ │ - "Basics of building an image": [ │ │ │ │ │ - [13, "basics-of-building-an-image"] │ │ │ │ │ - ], │ │ │ │ │ - "Obtaining a kernel": [ │ │ │ │ │ - [13, "obtaining-a-kernel"] │ │ │ │ │ - ], │ │ │ │ │ - "Obtaining a bootloader": [ │ │ │ │ │ - [13, "obtaining-a-bootloader"] │ │ │ │ │ - ], │ │ │ │ │ - "Inspecting existing images": [ │ │ │ │ │ - [13, "inspecting-existing-images"] │ │ │ │ │ - ], │ │ │ │ │ - "Tools to install and get to know": [ │ │ │ │ │ - [13, "tools-to-install-and-get-to-know"] │ │ │ │ │ - ], │ │ │ │ │ - "Concepts behind boot images": [ │ │ │ │ │ - [13, "concepts-behind-boot-images"] │ │ │ │ │ - ], │ │ │ │ │ - "Find the offset": [ │ │ │ │ │ - [13, "find-the-offset"] │ │ │ │ │ - ], │ │ │ │ │ - "Mounting partitions using loop and offset": [ │ │ │ │ │ - [13, "mounting-partitions-using-loop-and-offset"] │ │ │ │ │ - ], │ │ │ │ │ - "Creating new images": [ │ │ │ │ │ - [13, "creating-new-images"] │ │ │ │ │ - ], │ │ │ │ │ - "Making a bootstrap rootfs usable": [ │ │ │ │ │ - [13, "making-a-bootstrap-rootfs-usable"] │ │ │ │ │ - ], │ │ │ │ │ - "Other steps which may be required": [ │ │ │ │ │ - [13, "other-steps-which-may-be-required"] │ │ │ │ │ - ], │ │ │ │ │ - "Increasing the number of loop devices": [ │ │ │ │ │ - [13, "increasing-the-number-of-loop-devices"] │ │ │ │ │ - ], │ │ │ │ │ - "Further information": [ │ │ │ │ │ - [13, "further-information"], │ │ │ │ │ - [77, "further-information"] │ │ │ │ │ - ], │ │ │ │ │ "Deploy Action Reference": [ │ │ │ │ │ [2, "deploy-action-reference"] │ │ │ │ │ ], │ │ │ │ │ "Deploy action roles": [ │ │ │ │ │ [2, "deploy-action-roles"] │ │ │ │ │ ], │ │ │ │ │ "Required parameters": [ │ │ │ │ │ @@ -8954,14 +7752,20 @@ │ │ │ │ │ ], │ │ │ │ │ "os": [ │ │ │ │ │ [2, "os"] │ │ │ │ │ ], │ │ │ │ │ "image": [ │ │ │ │ │ [2, "image"] │ │ │ │ │ ], │ │ │ │ │ + "name": [ │ │ │ │ │ + [2, "name"], │ │ │ │ │ + [5, "name"], │ │ │ │ │ + [5, "id2"], │ │ │ │ │ + [5, "id3"] │ │ │ │ │ + ], │ │ │ │ │ "local": [ │ │ │ │ │ [2, "local"] │ │ │ │ │ ], │ │ │ │ │ "to: download": [ │ │ │ │ │ [2, "to-download"] │ │ │ │ │ ], │ │ │ │ │ "images": [ │ │ │ │ │ @@ -9241,14 +8045,125 @@ │ │ │ │ │ ], │ │ │ │ │ "to: uuu": [ │ │ │ │ │ [2, "to-uuu"] │ │ │ │ │ ], │ │ │ │ │ "os *": [ │ │ │ │ │ [2, "deploy-os"] │ │ │ │ │ ], │ │ │ │ │ + "Timeout Reference": [ │ │ │ │ │ + [6, "timeout-reference"] │ │ │ │ │ + ], │ │ │ │ │ + "Job timeout": [ │ │ │ │ │ + [6, "job-timeout"] │ │ │ │ │ + ], │ │ │ │ │ + "Action timeout": [ │ │ │ │ │ + [6, "action-timeout"] │ │ │ │ │ + ], │ │ │ │ │ + "Individual action timeouts": [ │ │ │ │ │ + [6, "individual-action-timeouts"] │ │ │ │ │ + ], │ │ │ │ │ + "Connection timeout": [ │ │ │ │ │ + [6, "connection-timeout"] │ │ │ │ │ + ], │ │ │ │ │ + "Individual connection timeouts": [ │ │ │ │ │ + [6, "individual-connection-timeouts"] │ │ │ │ │ + ], │ │ │ │ │ + "Test Action Reference": [ │ │ │ │ │ + [5, "test-action-reference"] │ │ │ │ │ + ], │ │ │ │ │ + "repository": [ │ │ │ │ │ + [5, "repository"] │ │ │ │ │ + ], │ │ │ │ │ + "from": [ │ │ │ │ │ + [5, "from"] │ │ │ │ │ + ], │ │ │ │ │ + "git": [ │ │ │ │ │ + [5, "git"] │ │ │ │ │ + ], │ │ │ │ │ + "inline": [ │ │ │ │ │ + [5, "inline"] │ │ │ │ │ + ], │ │ │ │ │ + "path": [ │ │ │ │ │ + [5, "path"] │ │ │ │ │ + ], │ │ │ │ │ + "params": [ │ │ │ │ │ + [5, "params"] │ │ │ │ │ + ], │ │ │ │ │ + "Skipping elements of test definitions": [ │ │ │ │ │ + [5, "skipping-elements-of-test-definitions"] │ │ │ │ │ + ], │ │ │ │ │ + "deps": [ │ │ │ │ │ + [5, "deps"] │ │ │ │ │ + ], │ │ │ │ │ + "keys": [ │ │ │ │ │ + [5, "keys"] │ │ │ │ │ + ], │ │ │ │ │ + "sources": [ │ │ │ │ │ + [5, "sources"] │ │ │ │ │ + ], │ │ │ │ │ + "steps": [ │ │ │ │ │ + [5, "steps"] │ │ │ │ │ + ], │ │ │ │ │ + "all": [ │ │ │ │ │ + [5, "all"] │ │ │ │ │ + ], │ │ │ │ │ + "Inline test definition example": [ │ │ │ │ │ + [5, "inline-test-definition-example"] │ │ │ │ │ + ], │ │ │ │ │ + "Additional support": [ │ │ │ │ │ + [5, "additional-support"] │ │ │ │ │ + ], │ │ │ │ │ + "Result checks": [ │ │ │ │ │ + [5, "result-checks"] │ │ │ │ │ + ], │ │ │ │ │ + "TestSets": [ │ │ │ │ │ + [5, "testsets"] │ │ │ │ │ + ], │ │ │ │ │ + "Interactive": [ │ │ │ │ │ + [5, "interactive"] │ │ │ │ │ + ], │ │ │ │ │ + "echo": [ │ │ │ │ │ + [5, "echo"] │ │ │ │ │ + ], │ │ │ │ │ + "script": [ │ │ │ │ │ + [5, "script"] │ │ │ │ │ + ], │ │ │ │ │ + "Monitors": [ │ │ │ │ │ + [5, "monitors"] │ │ │ │ │ + ], │ │ │ │ │ + "Creating Backups": [ │ │ │ │ │ + [7, "creating-backups"] │ │ │ │ │ + ], │ │ │ │ │ + "Dependencies within backups": [ │ │ │ │ │ + [7, "dependencies-within-backups"] │ │ │ │ │ + ], │ │ │ │ │ + "Issues with the base suite": [ │ │ │ │ │ + [7, "issues-with-the-base-suite"] │ │ │ │ │ + ], │ │ │ │ │ + "What to include in your configuration management": [ │ │ │ │ │ + [7, "what-to-include-in-your-configuration-management"] │ │ │ │ │ + ], │ │ │ │ │ + "What to include in your master backups": [ │ │ │ │ │ + [7, "what-to-include-in-your-master-backups"] │ │ │ │ │ + ], │ │ │ │ │ + "What to include in your worker backups": [ │ │ │ │ │ + [7, "what-to-include-in-your-worker-backups"] │ │ │ │ │ + ], │ │ │ │ │ + "Restoring a master from a backup": [ │ │ │ │ │ + [7, "restoring-a-master-from-a-backup"] │ │ │ │ │ + ], │ │ │ │ │ + "Restoring a worker from backups": [ │ │ │ │ │ + [7, "restoring-a-worker-from-backups"] │ │ │ │ │ + ], │ │ │ │ │ + "Command Action Reference": [ │ │ │ │ │ + [1, "command-action-reference"] │ │ │ │ │ + ], │ │ │ │ │ + "Admin Setup": [ │ │ │ │ │ + [1, "admin-setup"] │ │ │ │ │ + ], │ │ │ │ │ "Repeat": [ │ │ │ │ │ [4, "repeat"] │ │ │ │ │ ], │ │ │ │ │ "Handling repeats": [ │ │ │ │ │ [4, "handling-repeats"] │ │ │ │ │ ], │ │ │ │ │ "Repeating single actions": [ │ │ │ │ │ @@ -9259,828 +8174,1285 @@ │ │ │ │ │ ], │ │ │ │ │ "Retry interval on failure": [ │ │ │ │ │ [4, "retry-interval-on-failure"] │ │ │ │ │ ], │ │ │ │ │ "Repeating blocks of actions": [ │ │ │ │ │ [4, "repeating-blocks-of-actions"] │ │ │ │ │ ], │ │ │ │ │ - "Enabling Secondary Media": [ │ │ │ │ │ - [9, "enabling-secondary-media"] │ │ │ │ │ + "Protocol Reference": [ │ │ │ │ │ + [3, "protocol-reference"] │ │ │ │ │ ], │ │ │ │ │ - "Identifying secondary media": [ │ │ │ │ │ - [9, "identifying-secondary-media"] │ │ │ │ │ + "Using protocols from actions": [ │ │ │ │ │ + [3, "using-protocols-from-actions"] │ │ │ │ │ ], │ │ │ │ │ - "Secondary media configuration": [ │ │ │ │ │ - [9, "secondary-media-configuration"] │ │ │ │ │ + "MultiNode Protocol": [ │ │ │ │ │ + [3, "multinode-protocol"] │ │ │ │ │ ], │ │ │ │ │ - "Using Grub with SATA secondary media": [ │ │ │ │ │ - [9, "using-grub-with-sata-secondary-media"] │ │ │ │ │ + "lava-start API call": [ │ │ │ │ │ + [3, "lava-start-api-call"] │ │ │ │ │ ], │ │ │ │ │ - "Device dictionary": [ │ │ │ │ │ - [9, "device-dictionary"], │ │ │ │ │ - [9, "id3"], │ │ │ │ │ - [79, "device-dictionary"] │ │ │ │ │ + "Passing data at startup": [ │ │ │ │ │ + [3, "passing-data-at-startup"] │ │ │ │ │ ], │ │ │ │ │ - "Device template example": [ │ │ │ │ │ - [9, "device-template-example"], │ │ │ │ │ - [9, "id4"] │ │ │ │ │ + "Managing flow using inline definitions": [ │ │ │ │ │ + [3, "managing-flow-using-inline-definitions"] │ │ │ │ │ ], │ │ │ │ │ - "Dispatcher configuration": [ │ │ │ │ │ - [9, "dispatcher-configuration"], │ │ │ │ │ - [9, "id5"] │ │ │ │ │ + "Marking some roles as essential": [ │ │ │ │ │ + [3, "marking-some-roles-as-essential"] │ │ │ │ │ ], │ │ │ │ │ - "Grub SATA Test Job submission": [ │ │ │ │ │ - [9, "grub-sata-test-job-submission"] │ │ │ │ │ + "Protocol requests from actions": [ │ │ │ │ │ + [3, "protocol-requests-from-actions"], │ │ │ │ │ + [3, "vland-protocol-requests"], │ │ │ │ │ + [3, "lxc-protocol-requests"] │ │ │ │ │ ], │ │ │ │ │ - "Using UBoot with USB secondary media": [ │ │ │ │ │ - [9, "using-uboot-with-usb-secondary-media"] │ │ │ │ │ + "VLANd protocol": [ │ │ │ │ │ + [3, "vland-protocol"] │ │ │ │ │ ], │ │ │ │ │ - "USB UBoot Test Job submission": [ │ │ │ │ │ - [9, "usb-uboot-test-job-submission"] │ │ │ │ │ + "LXC protocol": [ │ │ │ │ │ + [3, "lxc-protocol"] │ │ │ │ │ ], │ │ │ │ │ - "Timeout Reference": [ │ │ │ │ │ - [6, "timeout-reference"] │ │ │ │ │ + "Protocol elements": [ │ │ │ │ │ + [3, "protocol-elements"], │ │ │ │ │ + [24, "protocol-elements"], │ │ │ │ │ + [24, "id2"] │ │ │ │ │ ], │ │ │ │ │ - "Job timeout": [ │ │ │ │ │ - [6, "job-timeout"] │ │ │ │ │ + "User permissions and authorization": [ │ │ │ │ │ + [12, "user-permissions-and-authorization"] │ │ │ │ │ ], │ │ │ │ │ - "Action timeout": [ │ │ │ │ │ - [6, "action-timeout"] │ │ │ │ │ + "Global authorization": [ │ │ │ │ │ + [12, "global-authorization"] │ │ │ │ │ ], │ │ │ │ │ - "Individual action timeouts": [ │ │ │ │ │ - [6, "individual-action-timeouts"] │ │ │ │ │ + "Per-object authorization": [ │ │ │ │ │ + [12, "per-object-authorization"] │ │ │ │ │ ], │ │ │ │ │ - "Connection timeout": [ │ │ │ │ │ - [6, "connection-timeout"] │ │ │ │ │ + "Permission inheritance": [ │ │ │ │ │ + [12, "permission-inheritance"] │ │ │ │ │ ], │ │ │ │ │ - "Individual connection timeouts": [ │ │ │ │ │ - [6, "individual-connection-timeouts"] │ │ │ │ │ + "Anonymous users vs authenticated users": [ │ │ │ │ │ + [12, "anonymous-users-vs-authenticated-users"] │ │ │ │ │ ], │ │ │ │ │ - "Advanced Installation Topics": [ │ │ │ │ │ - [10, "advanced-installation-topics"] │ │ │ │ │ + "Test job specifics on visibility": [ │ │ │ │ │ + [12, "test-job-specifics-on-visibility"] │ │ │ │ │ ], │ │ │ │ │ - "Laptops": [ │ │ │ │ │ - [10, "laptops"] │ │ │ │ │ + "Setup": [ │ │ │ │ │ + [12, "setup"] │ │ │ │ │ ], │ │ │ │ │ - "Virtual Machines": [ │ │ │ │ │ - [10, "virtual-machines"] │ │ │ │ │ + "Data migration": [ │ │ │ │ │ + [12, "data-migration"] │ │ │ │ │ ], │ │ │ │ │ - "Workload": [ │ │ │ │ │ - [10, "workload"] │ │ │ │ │ + "Visibility decision trees": [ │ │ │ │ │ + [12, "visibility-decision-trees"] │ │ │ │ │ ], │ │ │ │ │ - "Localhost": [ │ │ │ │ │ - [10, "localhost"] │ │ │ │ │ + "Deploying LXC devices": [ │ │ │ │ │ + [8, "deploying-lxc-devices"] │ │ │ │ │ ], │ │ │ │ │ - "Other infrastructure": [ │ │ │ │ │ - [10, "other-infrastructure"] │ │ │ │ │ + "Prerequisite": [ │ │ │ │ │ + [8, "prerequisite"] │ │ │ │ │ ], │ │ │ │ │ - "Remote power control": [ │ │ │ │ │ - [10, "remote-power-control"] │ │ │ │ │ + "Android testing with LXC support": [ │ │ │ │ │ + [8, "android-testing-with-lxc-support"] │ │ │ │ │ ], │ │ │ │ │ - "Serial console support": [ │ │ │ │ │ - [10, "serial-console-support"] │ │ │ │ │ + "Arbitrary external devices needing LXC support": [ │ │ │ │ │ + [8, "arbitrary-external-devices-needing-lxc-support"] │ │ │ │ │ ], │ │ │ │ │ - "Network switches": [ │ │ │ │ │ - [10, "network-switches"] │ │ │ │ │ + "USB attached devices": [ │ │ │ │ │ + [8, "usb-attached-devices"] │ │ │ │ │ ], │ │ │ │ │ - "Power supply": [ │ │ │ │ │ - [10, "power-supply"] │ │ │ │ │ + "Other related devices": [ │ │ │ │ │ + [8, "other-related-devices"] │ │ │ │ │ ], │ │ │ │ │ - "Fileserver": [ │ │ │ │ │ - [10, "fileserver"] │ │ │ │ │ + "Persistent Containers": [ │ │ │ │ │ + [8, "persistent-containers"] │ │ │ │ │ ], │ │ │ │ │ - "Shelving and racks": [ │ │ │ │ │ - [10, "shelving-and-racks"] │ │ │ │ │ + "Unprivileged containers as root": [ │ │ │ │ │ + [8, "unprivileged-containers-as-root"] │ │ │ │ │ ], │ │ │ │ │ - "Recommended Installation Types": [ │ │ │ │ │ - [10, "recommended-installation-types"] │ │ │ │ │ + "Other resources": [ │ │ │ │ │ + [8, "other-resources"] │ │ │ │ │ ], │ │ │ │ │ - "Single instance": [ │ │ │ │ │ - [10, "single-instance"] │ │ │ │ │ + "Configuring user authentication": [ │ │ │ │ │ + [11, "configuring-user-authentication"] │ │ │ │ │ ], │ │ │ │ │ - "Master with one or more remote workers": [ │ │ │ │ │ - [10, "master-with-one-or-more-remote-workers"] │ │ │ │ │ + "Using Lightweight Directory Access Protocol (LDAP)": [ │ │ │ │ │ + [11, "using-lightweight-directory-access-protocol-ldap"] │ │ │ │ │ ], │ │ │ │ │ - "Authentication and encryption": [ │ │ │ │ │ - [10, "authentication-and-encryption"] │ │ │ │ │ + "Using external authentication provider supported by django-allauth": [ │ │ │ │ │ + [11, "using-external-authentication-provider-supported-by-django-allauth"] │ │ │ │ │ ], │ │ │ │ │ - "Other installation notes": [ │ │ │ │ │ - [10, "other-installation-notes"] │ │ │ │ │ + "Using Open ID Connect (OIDC) authentication providers": [ │ │ │ │ │ + [11, "using-open-id-connect-oidc-authentication-providers"] │ │ │ │ │ ], │ │ │ │ │ - "LAVA server branding support": [ │ │ │ │ │ - [10, "lava-server-branding-support"] │ │ │ │ │ + "Publishing artifacts": [ │ │ │ │ │ + [90, "publishing-artifacts"] │ │ │ │ │ ], │ │ │ │ │ - "Unattended upgrades": [ │ │ │ │ │ - [10, "unattended-upgrades"] │ │ │ │ │ + "Linaro LAVA-lab": [ │ │ │ │ │ + [90, "linaro-lava-lab"] │ │ │ │ │ ], │ │ │ │ │ - "Example changes": [ │ │ │ │ │ - [10, "example-changes"] │ │ │ │ │ + "Pipeline Design": [ │ │ │ │ │ + [81, "pipeline-design"] │ │ │ │ │ ], │ │ │ │ │ - "Configuring event notifications": [ │ │ │ │ │ - [10, "configuring-event-notifications"] │ │ │ │ │ + "Principles of the LAVA design": [ │ │ │ │ │ + [81, "principles-of-the-lava-design"] │ │ │ │ │ ], │ │ │ │ │ - "Events and network reliability": [ │ │ │ │ │ - [10, "events-and-network-reliability"] │ │ │ │ │ + "Test Writer aspects": [ │ │ │ │ │ + [81, "test-writer-aspects"] │ │ │ │ │ ], │ │ │ │ │ - "PostgreSQL Port configuration": [ │ │ │ │ │ - [10, "postgresql-port-configuration"] │ │ │ │ │ + "Administrator aspects": [ │ │ │ │ │ + [81, "administrator-aspects"] │ │ │ │ │ ], │ │ │ │ │ - "Configuring the LAVA UI": [ │ │ │ │ │ - [10, "configuring-the-lava-ui"] │ │ │ │ │ + "LAVA review criteria": [ │ │ │ │ │ + [94, "lava-review-criteria"] │ │ │ │ │ ], │ │ │ │ │ - "Gunicorn3 bind addresses": [ │ │ │ │ │ - [10, "gunicorn3-bind-addresses"] │ │ │ │ │ + "Keep the dispatcher dumb": [ │ │ │ │ │ + [94, "keep-the-dispatcher-dumb"] │ │ │ │ │ ], │ │ │ │ │ - "Apache proxy configuration": [ │ │ │ │ │ - [10, "apache-proxy-configuration"] │ │ │ │ │ + "Avoid defaults in dispatcher code": [ │ │ │ │ │ + [94, "avoid-defaults-in-dispatcher-code"] │ │ │ │ │ ], │ │ │ │ │ - "Apache headers": [ │ │ │ │ │ - [10, "apache-headers"] │ │ │ │ │ + "Let the test fail and diagnose later": [ │ │ │ │ │ + [94, "let-the-test-fail-and-diagnose-later"] │ │ │ │ │ ], │ │ │ │ │ - "Banning badly behaved bots": [ │ │ │ │ │ - [10, "banning-badly-behaved-bots"] │ │ │ │ │ + "Treat the deployment as a black box": [ │ │ │ │ │ + [94, "treat-the-deployment-as-a-black-box"] │ │ │ │ │ ], │ │ │ │ │ - "Tracking errors": [ │ │ │ │ │ - [10, "tracking-errors"] │ │ │ │ │ + "Only protect the essential components": [ │ │ │ │ │ + [94, "only-protect-the-essential-components"] │ │ │ │ │ ], │ │ │ │ │ - "Configuring default table length": [ │ │ │ │ │ - [10, "configuring-default-table-length"] │ │ │ │ │ + "Give the test writer enough rope": [ │ │ │ │ │ + [94, "give-the-test-writer-enough-rope"] │ │ │ │ │ ], │ │ │ │ │ - "Configuring submitter full name": [ │ │ │ │ │ - [10, "configuring-submitter-full-name"] │ │ │ │ │ + "Guidance": [ │ │ │ │ │ + [94, "guidance"] │ │ │ │ │ ], │ │ │ │ │ - "Controlling the Django Admin Interface": [ │ │ │ │ │ - [10, "controlling-the-django-admin-interface"] │ │ │ │ │ + "LAVA schema": [ │ │ │ │ │ + [82, "lava-schema"] │ │ │ │ │ ], │ │ │ │ │ - "Configuring log file display": [ │ │ │ │ │ - [10, "configuring-log-file-display"] │ │ │ │ │ + "Job Submission Schema": [ │ │ │ │ │ + [82, "job-submission-schema"] │ │ │ │ │ ], │ │ │ │ │ - "Extending the schema white list": [ │ │ │ │ │ - [10, "extending-the-schema-white-list"] │ │ │ │ │ + "Schema elements": [ │ │ │ │ │ + [82, "schema-elements"] │ │ │ │ │ ], │ │ │ │ │ - "Job submission failure help": [ │ │ │ │ │ - [66, "job-submission-failure-help"] │ │ │ │ │ + "Comments": [ │ │ │ │ │ + [82, "comments"] │ │ │ │ │ ], │ │ │ │ │ - "Device type X is not available": [ │ │ │ │ │ - [66, "device-type-x-is-not-available"] │ │ │ │ │ + "Job Name": [ │ │ │ │ │ + [82, "job-name"] │ │ │ │ │ ], │ │ │ │ │ - "No devices of type X are currently available to user Y": [ │ │ │ │ │ - [66, "no-devices-of-type-x-are-currently-available-to-user-y"] │ │ │ │ │ + "Device Type": [ │ │ │ │ │ + [82, "device-type"] │ │ │ │ │ ], │ │ │ │ │ - "lavacli": [ │ │ │ │ │ - [69, "lavacli"] │ │ │ │ │ + "Timeouts": [ │ │ │ │ │ + [82, "timeouts"], │ │ │ │ │ + [106, "timeouts"], │ │ │ │ │ + [70, "timeouts"] │ │ │ │ │ ], │ │ │ │ │ - "Installing lavacli": [ │ │ │ │ │ - [69, "installing-lavacli"] │ │ │ │ │ + "Priority": [ │ │ │ │ │ + [82, "priority"] │ │ │ │ │ ], │ │ │ │ │ - "Using lavacli": [ │ │ │ │ │ - [69, "using-lavacli"], │ │ │ │ │ - [79, "using-lavacli"] │ │ │ │ │ + "Context": [ │ │ │ │ │ + [82, "context"], │ │ │ │ │ + [100, "context"] │ │ │ │ │ ], │ │ │ │ │ - "MultiNode LAVA": [ │ │ │ │ │ - [73, "multinode-lava"] │ │ │ │ │ + "Protocols": [ │ │ │ │ │ + [82, "protocols"] │ │ │ │ │ ], │ │ │ │ │ - "Using LAVA MultiNode synchronization": [ │ │ │ │ │ - [73, "using-lava-multinode-synchronization"] │ │ │ │ │ + "Actions": [ │ │ │ │ │ + [82, "actions"], │ │ │ │ │ + [70, "actions"] │ │ │ │ │ ], │ │ │ │ │ - "MultiNode Results": [ │ │ │ │ │ - [73, "multinode-results"] │ │ │ │ │ + "Deploy Action": [ │ │ │ │ │ + [82, "deploy-action"] │ │ │ │ │ ], │ │ │ │ │ - "LAVA MultiNode timeout behavior": [ │ │ │ │ │ - [73, "lava-multinode-timeout-behavior"] │ │ │ │ │ + "Boot Action": [ │ │ │ │ │ + [82, "boot-action"] │ │ │ │ │ ], │ │ │ │ │ - "Recommendations on timeouts for MultiNode": [ │ │ │ │ │ - [73, "recommendations-on-timeouts-for-multinode"] │ │ │ │ │ + "Test Action": [ │ │ │ │ │ + [82, "test-action"] │ │ │ │ │ ], │ │ │ │ │ - "Running a server on the device-under-test": [ │ │ │ │ │ - [73, "running-a-server-on-the-device-under-test"] │ │ │ │ │ + "Development process": [ │ │ │ │ │ + [88, "development-process"] │ │ │ │ │ ], │ │ │ │ │ - "Making use of third party servers": [ │ │ │ │ │ - [73, "making-use-of-third-party-servers"] │ │ │ │ │ + "Design meeting": [ │ │ │ │ │ + [88, "design-meeting"] │ │ │ │ │ ], │ │ │ │ │ - "Using wrapper scripts": [ │ │ │ │ │ - [73, "using-wrapper-scripts"] │ │ │ │ │ + "Release process": [ │ │ │ │ │ + [88, "release-process"] │ │ │ │ │ ], │ │ │ │ │ - "Continuous Integration": [ │ │ │ │ │ - [67, "continuous-integration"] │ │ │ │ │ + "Reporting Bugs": [ │ │ │ │ │ + [88, "reporting-bugs"] │ │ │ │ │ ], │ │ │ │ │ - "Summary of CI best practices": [ │ │ │ │ │ - [67, "summary-of-ci-best-practices"] │ │ │ │ │ + "HTTP proxies": [ │ │ │ │ │ + [89, "http-proxies"] │ │ │ │ │ ], │ │ │ │ │ - "LAVA and CI": [ │ │ │ │ │ - [67, "lava-and-ci"] │ │ │ │ │ + "Using the HTTP proxy": [ │ │ │ │ │ + [89, "using-the-http-proxy"] │ │ │ │ │ ], │ │ │ │ │ - "Automation & CI": [ │ │ │ │ │ - [67, "automation-ci"] │ │ │ │ │ + "Using the HTTP cache": [ │ │ │ │ │ + [89, "using-the-http-cache"] │ │ │ │ │ ], │ │ │ │ │ - "How does this affect testing with LAVA?": [ │ │ │ │ │ - [67, "how-does-this-affect-testing-with-lava"] │ │ │ │ │ + "Handling bots": [ │ │ │ │ │ + [89, "handling-bots"] │ │ │ │ │ ], │ │ │ │ │ - "Device type information in LAVA Scheduler": [ │ │ │ │ │ - [64, "device-type-information-in-lava-scheduler"] │ │ │ │ │ + "Administrator debugging": [ │ │ │ │ │ + [80, "administrator-debugging"] │ │ │ │ │ ], │ │ │ │ │ - "Static device-type information": [ │ │ │ │ │ - [64, "static-device-type-information"] │ │ │ │ │ + "Debugging a LAVA instance": [ │ │ │ │ │ + [80, "debugging-a-lava-instance"] │ │ │ │ │ ], │ │ │ │ │ - "Device type template": [ │ │ │ │ │ - [64, "device-type-template"] │ │ │ │ │ + "Components": [ │ │ │ │ │ + [80, "components"] │ │ │ │ │ ], │ │ │ │ │ - "Dynamic device-type information": [ │ │ │ │ │ - [64, "dynamic-device-type-information"] │ │ │ │ │ + "Log files": [ │ │ │ │ │ + [80, "log-files"], │ │ │ │ │ + [97, "log-files"] │ │ │ │ │ ], │ │ │ │ │ - "Device-type metadata": [ │ │ │ │ │ - [64, "device-type-metadata"] │ │ │ │ │ + "Command line debugging": [ │ │ │ │ │ + [80, "command-line-debugging"] │ │ │ │ │ ], │ │ │ │ │ - "Health Job Summary": [ │ │ │ │ │ - [64, "health-job-summary"] │ │ │ │ │ + "Configuration files": [ │ │ │ │ │ + [80, "configuration-files"] │ │ │ │ │ ], │ │ │ │ │ - "Devices Overview": [ │ │ │ │ │ - [64, "devices-overview"] │ │ │ │ │ + "Check LAVA instance": [ │ │ │ │ │ + [80, "check-lava-instance"] │ │ │ │ │ ], │ │ │ │ │ - "Jobs for devices of this type": [ │ │ │ │ │ - [64, "jobs-for-devices-of-this-type"] │ │ │ │ │ + "Displaying current settings": [ │ │ │ │ │ + [80, "displaying-current-settings"] │ │ │ │ │ ], │ │ │ │ │ - "Writing a monitors test action": [ │ │ │ │ │ - [72, "writing-a-monitors-test-action"] │ │ │ │ │ + "Django support in 1.11": [ │ │ │ │ │ + [80, "django-support-in-1-11"] │ │ │ │ │ ], │ │ │ │ │ - "Restrictions": [ │ │ │ │ │ - [72, "restrictions"] │ │ │ │ │ + "Setting up a LAVA instance": [ │ │ │ │ │ + [83, "setting-up-a-lava-instance"] │ │ │ │ │ ], │ │ │ │ │ - "Example test monitors job": [ │ │ │ │ │ - [72, "example-test-monitors-job"] │ │ │ │ │ + "Installing just lava-server": [ │ │ │ │ │ + [83, "installing-just-lava-server"] │ │ │ │ │ ], │ │ │ │ │ - "Packaging lava-server for distributions": [ │ │ │ │ │ - [77, "packaging-lava-server-for-distributions"] │ │ │ │ │ + "Installing the full lava set": [ │ │ │ │ │ + [83, "installing-the-full-lava-set"] │ │ │ │ │ ], │ │ │ │ │ - "Apache distribution support": [ │ │ │ │ │ - [77, "apache-distribution-support"] │ │ │ │ │ + "Installing master without Recommends": [ │ │ │ │ │ + [83, "installing-master-without-recommends"] │ │ │ │ │ ], │ │ │ │ │ - "Instance name": [ │ │ │ │ │ - [77, "instance-name"] │ │ │ │ │ + "Installing lava-dispatcher": [ │ │ │ │ │ + [83, "installing-lava-dispatcher"] │ │ │ │ │ ], │ │ │ │ │ - "LAVA Components": [ │ │ │ │ │ - [77, "lava-components"] │ │ │ │ │ + "Configuring apache2 on a worker": [ │ │ │ │ │ + [83, "configuring-apache2-on-a-worker"] │ │ │ │ │ ], │ │ │ │ │ - "Package dependencies": [ │ │ │ │ │ - [77, "package-dependencies"] │ │ │ │ │ + "Adding workers to the master": [ │ │ │ │ │ + [83, "adding-workers-to-the-master"] │ │ │ │ │ ], │ │ │ │ │ - "Daemon renaming": [ │ │ │ │ │ - [77, "daemon-renaming"] │ │ │ │ │ + "Adding devices to a worker": [ │ │ │ │ │ + [83, "adding-devices-to-a-worker"] │ │ │ │ │ ], │ │ │ │ │ - "MultiNode API": [ │ │ │ │ │ - [74, "multinode-api"] │ │ │ │ │ + "Writing jobs using Secondary Connections": [ │ │ │ │ │ + [86, "writing-jobs-using-secondary-connections"] │ │ │ │ │ ], │ │ │ │ │ - "Guidance in using the API": [ │ │ │ │ │ - [74, "guidance-in-using-the-api"] │ │ │ │ │ + "Secure Shell connections (ssh)": [ │ │ │ │ │ + [86, "secure-shell-connections-ssh"] │ │ │ │ │ ], │ │ │ │ │ - "lava-self": [ │ │ │ │ │ - [74, "lava-self"] │ │ │ │ │ + "Delaying the start of a job using Multinode": [ │ │ │ │ │ + [86, "delaying-the-start-of-a-job-using-multinode"] │ │ │ │ │ ], │ │ │ │ │ - "Usage:": [ │ │ │ │ │ - [74, "usage"], │ │ │ │ │ - [74, "id4"], │ │ │ │ │ - [74, "id5"], │ │ │ │ │ - [74, "id7"], │ │ │ │ │ - [74, "id8"], │ │ │ │ │ - [74, "id10"], │ │ │ │ │ - [74, "id12"], │ │ │ │ │ - [74, "id15"] │ │ │ │ │ + "Picking up the data in the guest role": [ │ │ │ │ │ + [86, "picking-up-the-data-in-the-guest-role"] │ │ │ │ │ ], │ │ │ │ │ - "lava-role": [ │ │ │ │ │ - [74, "lava-role"] │ │ │ │ │ + "Test definition for the host role": [ │ │ │ │ │ + [86, "test-definition-for-the-host-role"] │ │ │ │ │ ], │ │ │ │ │ - "lava-group": [ │ │ │ │ │ - [74, "lava-group"] │ │ │ │ │ + "Test definition for the guest role": [ │ │ │ │ │ + [86, "test-definition-for-the-guest-role"] │ │ │ │ │ ], │ │ │ │ │ - "lava-send": [ │ │ │ │ │ - [74, "lava-send"] │ │ │ │ │ + "Complete Multinode test definition": [ │ │ │ │ │ + [86, "complete-multinode-test-definition"] │ │ │ │ │ ], │ │ │ │ │ - "lava-wait": [ │ │ │ │ │ - [74, "lava-wait"] │ │ │ │ │ + "State machine": [ │ │ │ │ │ + [95, "state-machine"] │ │ │ │ │ ], │ │ │ │ │ - "lava-wait-all": [ │ │ │ │ │ - [74, "lava-wait-all"] │ │ │ │ │ + "Devices": [ │ │ │ │ │ + [95, "devices"] │ │ │ │ │ ], │ │ │ │ │ - "lava-wait-all ": [ │ │ │ │ │ - [74, "lava-wait-all-message-id"] │ │ │ │ │ + "TestJobs": [ │ │ │ │ │ + [95, "testjobs"] │ │ │ │ │ ], │ │ │ │ │ - "lava-wait-all ": [ │ │ │ │ │ - [74, "lava-wait-all-message-id-role"] │ │ │ │ │ + "Scheduler": [ │ │ │ │ │ + [95, "scheduler"] │ │ │ │ │ ], │ │ │ │ │ - "lava-sync": [ │ │ │ │ │ - [74, "lava-sync"] │ │ │ │ │ + "Health-checks": [ │ │ │ │ │ + [95, "health-checks"] │ │ │ │ │ ], │ │ │ │ │ - "Example 1: Simple client-server MultiNode test": [ │ │ │ │ │ - [74, "example-1-simple-client-server-multinode-test"] │ │ │ │ │ + "Test jobs": [ │ │ │ │ │ + [95, "test-jobs"] │ │ │ │ │ ], │ │ │ │ │ - "Example 2: iperf client-server test": [ │ │ │ │ │ - [74, "example-2-iperf-client-server-test"] │ │ │ │ │ + "Advanced Use Cases": [ │ │ │ │ │ + [84, "advanced-use-cases"] │ │ │ │ │ ], │ │ │ │ │ - "Example 3: variable number of clients": [ │ │ │ │ │ - [74, "example-3-variable-number-of-clients"] │ │ │ │ │ + "Replacing VMGroups using Secondary Connections": [ │ │ │ │ │ + [87, "replacing-vmgroups-using-secondary-connections"] │ │ │ │ │ ], │ │ │ │ │ - "Example 4: peer-to-peer application": [ │ │ │ │ │ - [74, "example-4-peer-to-peer-application"] │ │ │ │ │ + "Structure of an example job for a mustang": [ │ │ │ │ │ + [87, "structure-of-an-example-job-for-a-mustang"] │ │ │ │ │ ], │ │ │ │ │ - "Using a flow table to plan the job": [ │ │ │ │ │ - [74, "using-a-flow-table-to-plan-the-job"] │ │ │ │ │ + "Notes": [ │ │ │ │ │ + [87, "notes"] │ │ │ │ │ ], │ │ │ │ │ - "Understanding the Pipeline - an administrator guide": [ │ │ │ │ │ - [79, "understanding-the-pipeline-an-administrator-guide"] │ │ │ │ │ + "Running operations inside the guest VM": [ │ │ │ │ │ + [87, "running-operations-inside-the-guest-vm"] │ │ │ │ │ ], │ │ │ │ │ - "Device type templates": [ │ │ │ │ │ - [79, "device-type-templates"] │ │ │ │ │ + "Correlating a test result with the source code": [ │ │ │ │ │ + [92, "correlating-a-test-result-with-the-source-code"] │ │ │ │ │ ], │ │ │ │ │ - "Checking your templates": [ │ │ │ │ │ - [79, "checking-your-templates"] │ │ │ │ │ + "Problems within test suites": [ │ │ │ │ │ + [92, "problems-within-test-suites"] │ │ │ │ │ ], │ │ │ │ │ - "Finding your way around the files": [ │ │ │ │ │ - [79, "finding-your-way-around-the-files"] │ │ │ │ │ + "Avoid reliance on the total count": [ │ │ │ │ │ + [92, "avoid-reliance-on-the-total-count"] │ │ │ │ │ ], │ │ │ │ │ - "Information sources": [ │ │ │ │ │ - [79, "information-sources"] │ │ │ │ │ + "Control the test operations": [ │ │ │ │ │ + [92, "control-the-test-operations"] │ │ │ │ │ ], │ │ │ │ │ - "The functional tests repository": [ │ │ │ │ │ - [79, "the-functional-tests-repository"] │ │ │ │ │ + "Control the output": [ │ │ │ │ │ + [92, "control-the-output"] │ │ │ │ │ ], │ │ │ │ │ - "The lava-server unit test support": [ │ │ │ │ │ - [79, "the-lava-server-unit-test-support"] │ │ │ │ │ + "Control the base system": [ │ │ │ │ │ + [92, "control-the-base-system"] │ │ │ │ │ ], │ │ │ │ │ - "Extra device configuration": [ │ │ │ │ │ - [79, "extra-device-configuration"] │ │ │ │ │ + "Control the build system": [ │ │ │ │ │ + [92, "control-the-build-system"] │ │ │ │ │ ], │ │ │ │ │ - "Providing permanent IPv4 addresses": [ │ │ │ │ │ - [79, "providing-permanent-ipv4-addresses"] │ │ │ │ │ + "Control the list of tests": [ │ │ │ │ │ + [92, "control-the-list-of-tests"] │ │ │ │ │ ], │ │ │ │ │ - "Providing temporary filesystem storage": [ │ │ │ │ │ - [79, "providing-temporary-filesystem-storage"] │ │ │ │ │ + "Distinguish between CI tests and functional tests": [ │ │ │ │ │ + [92, "distinguish-between-ci-tests-and-functional-tests"] │ │ │ │ │ ], │ │ │ │ │ - "Extra dispatcher configuration": [ │ │ │ │ │ - [79, "extra-dispatcher-configuration"] │ │ │ │ │ + "Manage testing of complete software stacks": [ │ │ │ │ │ + [92, "manage-testing-of-complete-software-stacks"] │ │ │ │ │ ], │ │ │ │ │ - "Per dispatcher environment settings": [ │ │ │ │ │ - [79, "per-dispatcher-environment-settings"] │ │ │ │ │ + "Reproducing test jobs": [ │ │ │ │ │ + [92, "reproducing-test-jobs"] │ │ │ │ │ ], │ │ │ │ │ - "Requirements for a LAVA device": [ │ │ │ │ │ - [79, "requirements-for-a-lava-device"] │ │ │ │ │ + "Introduction to Results in LAVA": [ │ │ │ │ │ + [93, "introduction-to-results-in-lava"] │ │ │ │ │ ], │ │ │ │ │ - "Adding support for a device of a known type": [ │ │ │ │ │ - [79, "adding-support-for-a-device-of-a-known-type"] │ │ │ │ │ + "Results in LAVA": [ │ │ │ │ │ + [93, "results-in-lava"], │ │ │ │ │ + [17, "results-in-lava"] │ │ │ │ │ ], │ │ │ │ │ - "Obtaining configuration of a known device": [ │ │ │ │ │ - [79, "obtaining-configuration-of-a-known-device"] │ │ │ │ │ + "Accessing results": [ │ │ │ │ │ + [93, "accessing-results"] │ │ │ │ │ ], │ │ │ │ │ - "Creating a new device entry for a known device type": [ │ │ │ │ │ - [79, "creating-a-new-device-entry-for-a-known-device-type"] │ │ │ │ │ + "Accessing specific test results": [ │ │ │ │ │ + [93, "accessing-specific-test-results"] │ │ │ │ │ ], │ │ │ │ │ - "Creating a device dictionary for the device": [ │ │ │ │ │ - [79, "creating-a-device-dictionary-for-the-device"], │ │ │ │ │ - [70, "creating-a-device-dictionary-for-the-device"] │ │ │ │ │ + "Test Suite": [ │ │ │ │ │ + [93, "test-suite"] │ │ │ │ │ ], │ │ │ │ │ - "Based upon an existing device": [ │ │ │ │ │ - [79, "based-upon-an-existing-device"] │ │ │ │ │ + "Test Set": [ │ │ │ │ │ + [93, "test-set"] │ │ │ │ │ ], │ │ │ │ │ - "Viewing current device dictionary content": [ │ │ │ │ │ - [79, "viewing-current-device-dictionary-content"] │ │ │ │ │ + "Test Case": [ │ │ │ │ │ + [93, "test-case"] │ │ │ │ │ ], │ │ │ │ │ - "Updating a device dictionary": [ │ │ │ │ │ - [79, "updating-a-device-dictionary"] │ │ │ │ │ + "Test Raise": [ │ │ │ │ │ + [93, "test-raise"] │ │ │ │ │ ], │ │ │ │ │ - "Using the command line": [ │ │ │ │ │ - [79, "using-the-command-line"] │ │ │ │ │ + "Accessing the test job logs from results": [ │ │ │ │ │ + [93, "accessing-the-test-job-logs-from-results"] │ │ │ │ │ ], │ │ │ │ │ - "Using XML-RPC": [ │ │ │ │ │ - [79, "using-xml-rpc"] │ │ │ │ │ + "Multiple occurrences": [ │ │ │ │ │ + [93, "multiple-occurrences"] │ │ │ │ │ ], │ │ │ │ │ - "PDUDaemon": [ │ │ │ │ │ - [78, "pdudaemon"] │ │ │ │ │ + "Accessing associated sections of test job logs": [ │ │ │ │ │ + [93, "accessing-associated-sections-of-test-job-logs"] │ │ │ │ │ ], │ │ │ │ │ - "Lava-Test Test Definition 1.0": [ │ │ │ │ │ - [68, "lava-test-test-definition-1-0"] │ │ │ │ │ + "Sample output for lava-test-case shell": [ │ │ │ │ │ + [93, "sample-output-for-lava-test-case-name-shell"] │ │ │ │ │ ], │ │ │ │ │ - "Quick start to Test Definition 1.0": [ │ │ │ │ │ - [68, "quick-start-to-test-definition-1-0"] │ │ │ │ │ + "Test Writer use cases": [ │ │ │ │ │ + [85, "test-writer-use-cases"] │ │ │ │ │ ], │ │ │ │ │ - "Versioned test definitions": [ │ │ │ │ │ - [68, "versioned-test-definitions"] │ │ │ │ │ + "Writing a LAVA job submission": [ │ │ │ │ │ + [85, "writing-a-lava-job-submission"] │ │ │ │ │ ], │ │ │ │ │ - "How a lava test shell is run": [ │ │ │ │ │ - [68, "how-a-lava-test-shell-is-run"] │ │ │ │ │ + "General principles": [ │ │ │ │ │ + [85, "general-principles"] │ │ │ │ │ ], │ │ │ │ │ - "Writing a test for lava-test-shell": [ │ │ │ │ │ - [68, "writing-a-test-for-lava-test-shell"] │ │ │ │ │ + "API": [ │ │ │ │ │ + [85, "api"] │ │ │ │ │ ], │ │ │ │ │ - "lava-test-case": [ │ │ │ │ │ - [68, "lava-test-case"] │ │ │ │ │ + "Validity checks": [ │ │ │ │ │ + [85, "validity-checks"] │ │ │ │ │ ], │ │ │ │ │ - "Specifying results directly": [ │ │ │ │ │ - [68, "specifying-results-directly"] │ │ │ │ │ + "Results": [ │ │ │ │ │ + [85, "results"] │ │ │ │ │ ], │ │ │ │ │ - "Using the exit status of a command": [ │ │ │ │ │ - [68, "using-the-exit-status-of-a-command"] │ │ │ │ │ + "Job submission data": [ │ │ │ │ │ + [85, "job-submission-data"] │ │ │ │ │ ], │ │ │ │ │ - "Using parameters in the job to update the definition": [ │ │ │ │ │ - [68, "using-parameters-in-the-job-to-update-the-definition"] │ │ │ │ │ + "Writing a new TestJob": [ │ │ │ │ │ + [85, "writing-a-new-testjob"] │ │ │ │ │ ], │ │ │ │ │ - "lava-background-process-start": [ │ │ │ │ │ - [68, "lava-background-process-start"] │ │ │ │ │ + "YAML syntax": [ │ │ │ │ │ + [85, "yaml-syntax"] │ │ │ │ │ ], │ │ │ │ │ - "lava-background-process-stop": [ │ │ │ │ │ - [68, "lava-background-process-stop"] │ │ │ │ │ + "Common YAML errors": [ │ │ │ │ │ + [85, "common-yaml-errors"] │ │ │ │ │ ], │ │ │ │ │ - "Handling test attachments": [ │ │ │ │ │ - [68, "handling-test-attachments"] │ │ │ │ │ + "Understanding available support": [ │ │ │ │ │ + [85, "understanding-available-support"] │ │ │ │ │ ], │ │ │ │ │ - "Deprecated elements": [ │ │ │ │ │ - [68, "deprecated-elements"] │ │ │ │ │ + "Understanding a TestJob": [ │ │ │ │ │ + [85, "understanding-a-testjob"] │ │ │ │ │ ], │ │ │ │ │ - "Handling Dependencies (Debian)": [ │ │ │ │ │ - [68, "handling-dependencies-debian"] │ │ │ │ │ + "Submissions using advanced features": [ │ │ │ │ │ + [85, "submissions-using-advanced-features"] │ │ │ │ │ ], │ │ │ │ │ - "Adding Git Repositories": [ │ │ │ │ │ - [68, "adding-git-repositories"] │ │ │ │ │ + "Templating": [ │ │ │ │ │ + [85, "templating"] │ │ │ │ │ ], │ │ │ │ │ - "git-repos": [ │ │ │ │ │ - [68, "git-repos"] │ │ │ │ │ + "Including YAML": [ │ │ │ │ │ + [85, "including-yaml"] │ │ │ │ │ ], │ │ │ │ │ - "Install Steps": [ │ │ │ │ │ - [68, "install-steps"] │ │ │ │ │ + "QEMU options": [ │ │ │ │ │ + [91, "qemu-options"] │ │ │ │ │ ], │ │ │ │ │ - "Parse patterns": [ │ │ │ │ │ - [68, "parse-patterns"] │ │ │ │ │ + "Virtualization testing": [ │ │ │ │ │ + [91, "virtualization-testing"] │ │ │ │ │ ], │ │ │ │ │ - "Migrating to LAVA V2": [ │ │ │ │ │ - [71, "migrating-to-lava-v2"] │ │ │ │ │ + "Emulation testing": [ │ │ │ │ │ + [91, "emulation-testing"] │ │ │ │ │ ], │ │ │ │ │ - "Basics": [ │ │ │ │ │ - [71, "basics"] │ │ │ │ │ + "Substitution support": [ │ │ │ │ │ + [91, "substitution-support"] │ │ │ │ │ ], │ │ │ │ │ - "Specific information and guides": [ │ │ │ │ │ - [71, "specific-information-and-guides"] │ │ │ │ │ + "Mandatory support": [ │ │ │ │ │ + [91, "mandatory-support"] │ │ │ │ │ ], │ │ │ │ │ - "Test Writers": [ │ │ │ │ │ - [71, "test-writers"] │ │ │ │ │ + "Specific support": [ │ │ │ │ │ + [91, "specific-support"] │ │ │ │ │ ], │ │ │ │ │ - "Administrators": [ │ │ │ │ │ - [71, "administrators"] │ │ │ │ │ + "Example command lines": [ │ │ │ │ │ + [91, "example-command-lines"] │ │ │ │ │ ], │ │ │ │ │ - "Understanding test job objectives": [ │ │ │ │ │ - [71, "understanding-test-job-objectives"] │ │ │ │ │ + "How to override variables": [ │ │ │ │ │ + [91, "how-to-override-variables"] │ │ │ │ │ ], │ │ │ │ │ - "Pipeline support": [ │ │ │ │ │ - [71, "pipeline-support"] │ │ │ │ │ + "How to specify QEMU environment options": [ │ │ │ │ │ + [91, "how-to-specify-qemu-environment-options"] │ │ │ │ │ ], │ │ │ │ │ - "Viewing the available support": [ │ │ │ │ │ - [71, "viewing-the-available-support"] │ │ │ │ │ + "Host architecture support": [ │ │ │ │ │ + [91, "host-architecture-support"] │ │ │ │ │ ], │ │ │ │ │ - "Deployments": [ │ │ │ │ │ - [71, "deployments"] │ │ │ │ │ + "LAVA test storage": [ │ │ │ │ │ + [91, "lava-test-storage"] │ │ │ │ │ ], │ │ │ │ │ - "Protocol support": [ │ │ │ │ │ - [71, "protocol-support"] │ │ │ │ │ + "LAVA Software Project Contribution - Introduction": [ │ │ │ │ │ + [19, "lava-software-project-contribution-introduction"] │ │ │ │ │ ], │ │ │ │ │ - "Naming conventions and LAVA architecture": [ │ │ │ │ │ - [75, "naming-conventions-and-lava-architecture"] │ │ │ │ │ + "Before you start": [ │ │ │ │ │ + [19, "before-you-start"] │ │ │ │ │ ], │ │ │ │ │ - "Worked example of migrating a known device": [ │ │ │ │ │ - [70, "worked-example-of-migrating-a-known-device"] │ │ │ │ │ + "Ways to contribute": [ │ │ │ │ │ + [19, "ways-to-contribute"] │ │ │ │ │ ], │ │ │ │ │ - "Writing a device configuration in YAML": [ │ │ │ │ │ - [70, "writing-a-device-configuration-in-yaml"] │ │ │ │ │ + "Documentation": [ │ │ │ │ │ + [19, "documentation"] │ │ │ │ │ ], │ │ │ │ │ - "Migrating a mustang": [ │ │ │ │ │ - [70, "migrating-a-mustang"] │ │ │ │ │ + "Issue Tracker": [ │ │ │ │ │ + [19, "issue-tracker"] │ │ │ │ │ ], │ │ │ │ │ - "Complete device YAML": [ │ │ │ │ │ - [70, "complete-device-yaml"] │ │ │ │ │ + "Bug Fixes and New Features": [ │ │ │ │ │ + [19, "bug-fixes-and-new-features"] │ │ │ │ │ ], │ │ │ │ │ - "Writing a job submission in YAML": [ │ │ │ │ │ - [70, "writing-a-job-submission-in-yaml"] │ │ │ │ │ + "Contributing to the functional testing": [ │ │ │ │ │ + [19, "contributing-to-the-functional-testing"] │ │ │ │ │ ], │ │ │ │ │ - "Migrating a job for the mustang": [ │ │ │ │ │ - [70, "migrating-a-job-for-the-mustang"] │ │ │ │ │ + "Mailing lists and IRC": [ │ │ │ │ │ + [19, "mailing-lists-and-irc"] │ │ │ │ │ ], │ │ │ │ │ - "Identifying the elements of the job": [ │ │ │ │ │ - [70, "identifying-the-elements-of-the-job"] │ │ │ │ │ + "Exporting data out of LAVA": [ │ │ │ │ │ + [21, "exporting-data-out-of-lava"] │ │ │ │ │ ], │ │ │ │ │ - "Test": [ │ │ │ │ │ - [70, "test"], │ │ │ │ │ - [100, "test"], │ │ │ │ │ - [98, "test"] │ │ │ │ │ + "REST API": [ │ │ │ │ │ + [21, "rest-api"] │ │ │ │ │ ], │ │ │ │ │ - "Complete YAML submission": [ │ │ │ │ │ - [70, "complete-yaml-submission"] │ │ │ │ │ + "v0.2": [ │ │ │ │ │ + [21, "v0-2"] │ │ │ │ │ ], │ │ │ │ │ - "Writing a device type template": [ │ │ │ │ │ - [70, "writing-a-device-type-template"] │ │ │ │ │ + "Extra actions": [ │ │ │ │ │ + [21, "extra-actions"] │ │ │ │ │ ], │ │ │ │ │ - "Starting a new device type template": [ │ │ │ │ │ - [70, "starting-a-new-device-type-template"] │ │ │ │ │ + "Filtering": [ │ │ │ │ │ + [21, "filtering"] │ │ │ │ │ ], │ │ │ │ │ - "Completed mustang template": [ │ │ │ │ │ - [70, "completed-mustang-template"] │ │ │ │ │ + "TestJob object": [ │ │ │ │ │ + [21, "testjob-object"] │ │ │ │ │ ], │ │ │ │ │ - "Testing the template and dictionary": [ │ │ │ │ │ - [70, "testing-the-template-and-dictionary"] │ │ │ │ │ + "DeviceType object": [ │ │ │ │ │ + [21, "devicetype-object"] │ │ │ │ │ ], │ │ │ │ │ - "Adapting the base commands to the device type": [ │ │ │ │ │ - [70, "adapting-the-base-commands-to-the-device-type"] │ │ │ │ │ + "Architecture object": [ │ │ │ │ │ + [21, "architecture-object"] │ │ │ │ │ ], │ │ │ │ │ - "Completing the migration": [ │ │ │ │ │ - [70, "completing-the-migration"] │ │ │ │ │ + "ProcessorFamily object": [ │ │ │ │ │ + [21, "processorfamily-object"] │ │ │ │ │ ], │ │ │ │ │ - "LAVA job failures, errors, comments and tags": [ │ │ │ │ │ - [65, "lava-job-failures-errors-comments-and-tags"] │ │ │ │ │ + "Alias object": [ │ │ │ │ │ + [21, "alias-object"] │ │ │ │ │ ], │ │ │ │ │ - "Dispatcher error or test failure": [ │ │ │ │ │ - [65, "dispatcher-error-or-test-failure"] │ │ │ │ │ + "Core object": [ │ │ │ │ │ + [21, "core-object"] │ │ │ │ │ ], │ │ │ │ │ - "Job failure tags": [ │ │ │ │ │ - [65, "job-failure-tags"] │ │ │ │ │ + "BitWidth object": [ │ │ │ │ │ + [21, "bitwidth-object"] │ │ │ │ │ ], │ │ │ │ │ - "Job failure comment": [ │ │ │ │ │ - [65, "job-failure-comment"] │ │ │ │ │ + "Device object": [ │ │ │ │ │ + [21, "device-object"] │ │ │ │ │ ], │ │ │ │ │ - "LAVA Failure messages": [ │ │ │ │ │ - [65, "lava-failure-messages"] │ │ │ │ │ + "Worker object": [ │ │ │ │ │ + [21, "worker-object"] │ │ │ │ │ ], │ │ │ │ │ - "Missing methods": [ │ │ │ │ │ - [65, "missing-methods"] │ │ │ │ │ + "Tag object": [ │ │ │ │ │ + [21, "tag-object"] │ │ │ │ │ ], │ │ │ │ │ - "Python traceback messages": [ │ │ │ │ │ - [65, "python-traceback-messages"] │ │ │ │ │ + "JobFailureTag object": [ │ │ │ │ │ + [21, "jobfailuretag-object"] │ │ │ │ │ ], │ │ │ │ │ - "Compatibility failures": [ │ │ │ │ │ - [65, "compatibility-failures"], │ │ │ │ │ - [97, "compatibility-failures"] │ │ │ │ │ + "User object": [ │ │ │ │ │ + [21, "user-object"] │ │ │ │ │ ], │ │ │ │ │ - "Commenting on or tagging a job failure": [ │ │ │ │ │ - [65, "commenting-on-or-tagging-a-job-failure"] │ │ │ │ │ + "Group object": [ │ │ │ │ │ + [21, "group-object"] │ │ │ │ │ ], │ │ │ │ │ - "Viewing reports of job failures": [ │ │ │ │ │ - [65, "viewing-reports-of-job-failures"] │ │ │ │ │ + "Nested filtering": [ │ │ │ │ │ + [21, "nested-filtering"] │ │ │ │ │ ], │ │ │ │ │ - "Unreported test failures": [ │ │ │ │ │ - [65, "unreported-test-failures"] │ │ │ │ │ + "Sorting": [ │ │ │ │ │ + [21, "sorting"] │ │ │ │ │ ], │ │ │ │ │ - "Other Topics": [ │ │ │ │ │ - [76, "other-topics"] │ │ │ │ │ + "Creating and modifying objects": [ │ │ │ │ │ + [21, "creating-and-modifying-objects"] │ │ │ │ │ ], │ │ │ │ │ - "Media limitations of test devices": [ │ │ │ │ │ - [96, "media-limitations-of-test-devices"] │ │ │ │ │ + "Submitting a test job": [ │ │ │ │ │ + [21, "submitting-a-test-job"] │ │ │ │ │ ], │ │ │ │ │ - "Primary media and primary bootloaders": [ │ │ │ │ │ - [96, "primary-media-and-primary-bootloaders"] │ │ │ │ │ + "Deprecated semi-REST API for retrieving results": [ │ │ │ │ │ + [21, "deprecated-semi-rest-api-for-retrieving-results"] │ │ │ │ │ ], │ │ │ │ │ - "Bootloader limitations": [ │ │ │ │ │ - [96, "bootloader-limitations"] │ │ │ │ │ + "Chunking test suite results": [ │ │ │ │ │ + [21, "chunking-test-suite-results"] │ │ │ │ │ ], │ │ │ │ │ - "Occasional debugging": [ │ │ │ │ │ - [96, "occasional-debugging"] │ │ │ │ │ + "XML-RPC": [ │ │ │ │ │ + [21, "xml-rpc"] │ │ │ │ │ ], │ │ │ │ │ - "Installer testing": [ │ │ │ │ │ - [96, "installer-testing"] │ │ │ │ │ + "User specified notifications": [ │ │ │ │ │ + [21, "user-specified-notifications"] │ │ │ │ │ ], │ │ │ │ │ - "Secondary media deployment of images": [ │ │ │ │ │ - [96, "secondary-media-deployment-of-images"] │ │ │ │ │ + "Example test job notification": [ │ │ │ │ │ + [21, "example-test-job-notification"] │ │ │ │ │ ], │ │ │ │ │ - "Principles and Requirements": [ │ │ │ │ │ - [96, "principles-and-requirements"] │ │ │ │ │ + "Event notifications": [ │ │ │ │ │ + [21, "event-notifications"] │ │ │ │ │ ], │ │ │ │ │ - "Test Writer steps": [ │ │ │ │ │ - [96, "test-writer-steps"] │ │ │ │ │ + "Example metadata": [ │ │ │ │ │ + [21, "example-metadata"] │ │ │ │ │ ], │ │ │ │ │ - "Deploy commands": [ │ │ │ │ │ - [96, "deploy-commands"] │ │ │ │ │ + "Event notification types": [ │ │ │ │ │ + [21, "event-notification-types"] │ │ │ │ │ ], │ │ │ │ │ - "Boot commands": [ │ │ │ │ │ - [96, "boot-commands"] │ │ │ │ │ + "Example device notification": [ │ │ │ │ │ + [21, "example-device-notification"] │ │ │ │ │ ], │ │ │ │ │ - "Standard test job for QEMU - Sid arm64": [ │ │ │ │ │ - [99, "standard-test-job-for-qemu-sid-arm64"] │ │ │ │ │ + "Example testjob notification": [ │ │ │ │ │ + [21, "example-testjob-notification"] │ │ │ │ │ ], │ │ │ │ │ - "QEMU with kernel and initramfs": [ │ │ │ │ │ - [99, "qemu-with-kernel-and-initramfs"] │ │ │ │ │ + "Example log event notification": [ │ │ │ │ │ + [21, "example-log-event-notification"] │ │ │ │ │ ], │ │ │ │ │ - "Job context": [ │ │ │ │ │ - [99, "job-context"] │ │ │ │ │ + "Example test event notification": [ │ │ │ │ │ + [21, "example-test-event-notification"] │ │ │ │ │ ], │ │ │ │ │ - "Deploying the kernel": [ │ │ │ │ │ - [99, "deploying-the-kernel"] │ │ │ │ │ + "Write your own event notification client": [ │ │ │ │ │ + [21, "write-your-own-event-notification-client"] │ │ │ │ │ ], │ │ │ │ │ - "Using tables in LAVA": [ │ │ │ │ │ - [103, "using-tables-in-lava"] │ │ │ │ │ + "Submit a job and wait on notifications": [ │ │ │ │ │ + [21, "submit-a-job-and-wait-on-notifications"] │ │ │ │ │ ], │ │ │ │ │ - "Table search support": [ │ │ │ │ │ - [103, "table-search-support"] │ │ │ │ │ + "Connections in device configuration": [ │ │ │ │ │ + [16, "connections-in-device-configuration"] │ │ │ │ │ ], │ │ │ │ │ - "Simple text search": [ │ │ │ │ │ - [103, "simple-text-search"] │ │ │ │ │ + "Connections in test jobs": [ │ │ │ │ │ + [16, "connections-in-test-jobs"] │ │ │ │ │ ], │ │ │ │ │ - "Custom table queries": [ │ │ │ │ │ - [103, "custom-table-queries"] │ │ │ │ │ + "Connections and namespaces": [ │ │ │ │ │ + [16, "connections-and-namespaces"] │ │ │ │ │ ], │ │ │ │ │ - "Exclusive table searches": [ │ │ │ │ │ - [103, "exclusive-table-searches"] │ │ │ │ │ + "Multiple serial port support": [ │ │ │ │ │ + [16, "multiple-serial-port-support"] │ │ │ │ │ ], │ │ │ │ │ - "Other filters": [ │ │ │ │ │ - [103, "other-filters"] │ │ │ │ │ + "Isolating kernel messages from test output": [ │ │ │ │ │ + [16, "isolating-kernel-messages-from-test-output"] │ │ │ │ │ ], │ │ │ │ │ - "Resetting a table": [ │ │ │ │ │ - [103, "resetting-a-table"] │ │ │ │ │ + "Changes needed in the test image": [ │ │ │ │ │ + [16, "changes-needed-in-the-test-image"] │ │ │ │ │ ], │ │ │ │ │ - "Unavailable entries": [ │ │ │ │ │ - [103, "unavailable-entries"] │ │ │ │ │ + "Adding extra serial ports to a test device": [ │ │ │ │ │ + [16, "adding-extra-serial-ports-to-a-test-device"] │ │ │ │ │ ], │ │ │ │ │ - "Standard test job for QEMU - Stretch amd64": [ │ │ │ │ │ - [100, "standard-test-job-for-qemu-stretch-amd64"] │ │ │ │ │ + "Configuring serial ports": [ │ │ │ │ │ + [16, "configuring-serial-ports"] │ │ │ │ │ ], │ │ │ │ │ - "arch": [ │ │ │ │ │ - [100, "arch"] │ │ │ │ │ + "Using multiple serial ports": [ │ │ │ │ │ + [16, "using-multiple-serial-ports"] │ │ │ │ │ ], │ │ │ │ │ - "netdevice": [ │ │ │ │ │ - [100, "netdevice"] │ │ │ │ │ + "Example job 1: Simple beaglebone-black job with a second serial port": [ │ │ │ │ │ + [16, "example-job-1-simple-beaglebone-black-job-with-a-second-serial-port"] │ │ │ │ │ ], │ │ │ │ │ - "Next steps": [ │ │ │ │ │ - [100, "next-steps"] │ │ │ │ │ + "Deploy and boot the device": [ │ │ │ │ │ + [16, "deploy-and-boot-the-device"] │ │ │ │ │ ], │ │ │ │ │ - "Standard test job for beaglebone-black": [ │ │ │ │ │ - [98, "standard-test-job-for-beaglebone-black"], │ │ │ │ │ - [98, "standard-armmp-bbb"] │ │ │ │ │ + "Create the connection to the second serial port": [ │ │ │ │ │ + [16, "create-the-connection-to-the-second-serial-port"], │ │ │ │ │ + [16, "multiple-serial-ports-example2-boot-connection"] │ │ │ │ │ ], │ │ │ │ │ - "Standard test jobs for other devices": [ │ │ │ │ │ - [98, "standard-test-jobs-for-other-devices"] │ │ │ │ │ + "Tell the test shell to use the new connection": [ │ │ │ │ │ + [16, "tell-the-test-shell-to-use-the-new-connection"], │ │ │ │ │ + [16, "multiple-serial-ports-example2-test-connection"] │ │ │ │ │ ], │ │ │ │ │ - "Features of a ramdisk test job": [ │ │ │ │ │ - [98, "features-of-a-ramdisk-test-job"] │ │ │ │ │ + "Example job 2: A more complicated setup including LXC": [ │ │ │ │ │ + [16, "example-job-2-a-more-complicated-setup-including-lxc"] │ │ │ │ │ ], │ │ │ │ │ - "Features of an NFS test job": [ │ │ │ │ │ - [98, "features-of-an-nfs-test-job"] │ │ │ │ │ + "Define the container": [ │ │ │ │ │ + [16, "define-the-container"] │ │ │ │ │ ], │ │ │ │ │ - "Specific options": [ │ │ │ │ │ - [98, "specific-options"] │ │ │ │ │ + "Deploy and boot the container": [ │ │ │ │ │ + [16, "deploy-and-boot-the-container"] │ │ │ │ │ ], │ │ │ │ │ - "Test definitions in version control": [ │ │ │ │ │ - [105, "test-definitions-in-version-control"] │ │ │ │ │ + "Use the container to deploy and boot the device": [ │ │ │ │ │ + [16, "use-the-container-to-deploy-and-boot-the-device"] │ │ │ │ │ ], │ │ │ │ │ - "Job definitions in version control": [ │ │ │ │ │ - [105, "job-definitions-in-version-control"] │ │ │ │ │ + "Limitations with multiple serial ports": [ │ │ │ │ │ + [16, "limitations-with-multiple-serial-ports"] │ │ │ │ │ ], │ │ │ │ │ - "Using specific branch of a test definition repository": [ │ │ │ │ │ - [105, "using-specific-branch-of-a-test-definition-repository"] │ │ │ │ │ + "Secondary Connection": [ │ │ │ │ │ + [16, "secondary-connection"] │ │ │ │ │ ], │ │ │ │ │ - "Using specific revisions of a test definition": [ │ │ │ │ │ - [105, "using-specific-revisions-of-a-test-definition"] │ │ │ │ │ + "Considerations with a secondary connection": [ │ │ │ │ │ + [16, "considerations-with-a-secondary-connection"] │ │ │ │ │ ], │ │ │ │ │ - "Shallow clones in GIT": [ │ │ │ │ │ - [105, "shallow-clones-in-git"] │ │ │ │ │ + "Connections and hacking sessions": [ │ │ │ │ │ + [16, "connections-and-hacking-sessions"] │ │ │ │ │ ], │ │ │ │ │ - "Removing git history": [ │ │ │ │ │ - [105, "removing-git-history"] │ │ │ │ │ + "Using secondary connections with VM groups": [ │ │ │ │ │ + [16, "using-secondary-connections-with-vm-groups"] │ │ │ │ │ ], │ │ │ │ │ - "Sharing the contents of test definitions": [ │ │ │ │ │ - [105, "sharing-the-contents-of-test-definitions"] │ │ │ │ │ + "Sequence": [ │ │ │ │ │ + [16, "sequence"] │ │ │ │ │ ], │ │ │ │ │ - "Test repository for functional tests in LAVA": [ │ │ │ │ │ - [105, "test-repository-for-functional-tests-in-lava"] │ │ │ │ │ + "Basic use cases": [ │ │ │ │ │ + [16, "basic-use-cases"] │ │ │ │ │ ], │ │ │ │ │ - "Using kernel messages in a test shell": [ │ │ │ │ │ - [105, "using-kernel-messages-in-a-test-shell"] │ │ │ │ │ + "Sample job definition for the VM job": [ │ │ │ │ │ + [16, "sample-job-definition-for-the-vm-job"] │ │ │ │ │ ], │ │ │ │ │ - "Syntax": [ │ │ │ │ │ - [105, "syntax"] │ │ │ │ │ + "Primary remote connection": [ │ │ │ │ │ + [16, "primary-remote-connection"] │ │ │ │ │ ], │ │ │ │ │ - "Login": [ │ │ │ │ │ - [105, "login"] │ │ │ │ │ + "Devices supporting Primary Remote Connections": [ │ │ │ │ │ + [16, "devices-supporting-primary-remote-connections"] │ │ │ │ │ ], │ │ │ │ │ - "stdout": [ │ │ │ │ │ - [105, "stdout"] │ │ │ │ │ + "SSH as the primary remote connection": [ │ │ │ │ │ + [16, "ssh-as-the-primary-remote-connection"] │ │ │ │ │ ], │ │ │ │ │ - "VLANd support in LAVA test jobs": [ │ │ │ │ │ - [108, "vland-support-in-lava-test-jobs"] │ │ │ │ │ + "Security": [ │ │ │ │ │ + [16, "security"] │ │ │ │ │ ], │ │ │ │ │ - "What is a VLAN?": [ │ │ │ │ │ - [108, "what-is-a-vlan"] │ │ │ │ │ + "Persistence": [ │ │ │ │ │ + [16, "persistence"] │ │ │ │ │ ], │ │ │ │ │ - "VLANd and LAVA": [ │ │ │ │ │ - [108, "vland-and-lava"] │ │ │ │ │ + "Disposable chroot deployments": [ │ │ │ │ │ + [16, "disposable-chroot-deployments"] │ │ │ │ │ ], │ │ │ │ │ - "VLANd test shell helpers": [ │ │ │ │ │ - [108, "vland-test-shell-helpers"] │ │ │ │ │ + "LAVA Software Community Project Contribution Guide": [ │ │ │ │ │ + [18, "lava-software-community-project-contribution-guide"], │ │ │ │ │ + [17, "lava-software-community-project-contribution-guide"] │ │ │ │ │ ], │ │ │ │ │ - "lava-vland-self": [ │ │ │ │ │ - [108, "lava-vland-self"] │ │ │ │ │ + "About the Contribution Guidelines": [ │ │ │ │ │ + [18, "about-the-contribution-guidelines"] │ │ │ │ │ ], │ │ │ │ │ - "lava-vland-tags": [ │ │ │ │ │ - [108, "lava-vland-tags"] │ │ │ │ │ + "Conflicting priorities": [ │ │ │ │ │ + [18, "conflicting-priorities"] │ │ │ │ │ ], │ │ │ │ │ - "lava-vland-names": [ │ │ │ │ │ - [108, "lava-vland-names"] │ │ │ │ │ + "Pre-requisites to start with development": [ │ │ │ │ │ + [18, "pre-requisites-to-start-with-development"] │ │ │ │ │ ], │ │ │ │ │ - "Identifying interface names": [ │ │ │ │ │ - [108, "vland-identify-interface-names"] │ │ │ │ │ + "Other elements involved in LAVA development": [ │ │ │ │ │ + [18, "other-elements-involved-in-lava-development"] │ │ │ │ │ ], │ │ │ │ │ - "VLANd Restrictions": [ │ │ │ │ │ - [108, "vland-restrictions"] │ │ │ │ │ + "Updating online documentation": [ │ │ │ │ │ + [18, "updating-online-documentation"] │ │ │ │ │ ], │ │ │ │ │ - "VLANd Design goals and considerations": [ │ │ │ │ │ - [108, "vland-design-goals-and-considerations"] │ │ │ │ │ + "The LAVA contribution process": [ │ │ │ │ │ + [18, "the-lava-contribution-process"] │ │ │ │ │ ], │ │ │ │ │ - "LAVA and VLANd Device considerations": [ │ │ │ │ │ - [108, "lava-and-vland-device-considerations"] │ │ │ │ │ + "Creating a GitLab Account": [ │ │ │ │ │ + [18, "creating-a-gitlab-account"] │ │ │ │ │ ], │ │ │ │ │ - "Requirement for multiple interfaces": [ │ │ │ │ │ - [108, "requirement-for-multiple-interfaces"] │ │ │ │ │ + "Request GitLab Fork Permissions": [ │ │ │ │ │ + [18, "request-gitlab-fork-permissions"] │ │ │ │ │ ], │ │ │ │ │ - "LAVA and locked switch/port combinations": [ │ │ │ │ │ - [108, "lava-and-locked-switch-port-combinations"] │ │ │ │ │ + "Fork the code": [ │ │ │ │ │ + [18, "fork-the-code"] │ │ │ │ │ ], │ │ │ │ │ - "VLANd and MultiNode": [ │ │ │ │ │ - [108, "vland-and-multinode"] │ │ │ │ │ + "Access to the CI runners": [ │ │ │ │ │ + [18, "access-to-the-ci-runners"] │ │ │ │ │ ], │ │ │ │ │ - "LAVA VLANd database support": [ │ │ │ │ │ - [108, "lava-vland-database-support"] │ │ │ │ │ + "Create a development branch": [ │ │ │ │ │ + [18, "create-a-development-branch"] │ │ │ │ │ ], │ │ │ │ │ - "Interfaces and link speeds": [ │ │ │ │ │ - [108, "interfaces-and-link-speeds"] │ │ │ │ │ + "Make, test and commit your changes": [ │ │ │ │ │ + [18, "make-test-and-commit-your-changes"] │ │ │ │ │ ], │ │ │ │ │ - "VLANd and interface tags in LAVA": [ │ │ │ │ │ - [108, "vland-and-interface-tags-in-lava"] │ │ │ │ │ + "Push your changes to your development branch": [ │ │ │ │ │ + [18, "push-your-changes-to-your-development-branch"] │ │ │ │ │ ], │ │ │ │ │ - "Assigning roles to a VLAN": [ │ │ │ │ │ - [108, "assigning-roles-to-a-vlan"] │ │ │ │ │ + "Submit a Merge Request (MR)": [ │ │ │ │ │ + [18, "submit-a-merge-request-mr"] │ │ │ │ │ ], │ │ │ │ │ - "Example vland protocol YAML": [ │ │ │ │ │ - [108, "example-vland-protocol-yaml"] │ │ │ │ │ + "MRs are reviewed (and rebased and reworked as needed)": [ │ │ │ │ │ + [18, "mrs-are-reviewed-and-rebased-and-reworked-as-needed"] │ │ │ │ │ ], │ │ │ │ │ - "Example YAML for the protocols": [ │ │ │ │ │ - [108, "example-yaml-for-the-protocols"] │ │ │ │ │ + "How changes get merged": [ │ │ │ │ │ + [18, "how-changes-get-merged"] │ │ │ │ │ ], │ │ │ │ │ - "Gold standard test jobs": [ │ │ │ │ │ - [101, "gold-standard-test-jobs"] │ │ │ │ │ + "Custom result handling": [ │ │ │ │ │ + [20, "custom-result-handling"] │ │ │ │ │ ], │ │ │ │ │ - "Writing MultiNode tests": [ │ │ │ │ │ - [110, "writing-multinode-tests"] │ │ │ │ │ + "Closing the CI loop": [ │ │ │ │ │ + [20, "closing-the-ci-loop"] │ │ │ │ │ ], │ │ │ │ │ - "Writing a MultiNode job file": [ │ │ │ │ │ - [110, "writing-a-multinode-job-file"] │ │ │ │ │ + "Important features of a CI loop": [ │ │ │ │ │ + [20, "important-features-of-a-ci-loop"] │ │ │ │ │ ], │ │ │ │ │ - "Defining MultiNode roles": [ │ │ │ │ │ - [110, "defining-multinode-roles"] │ │ │ │ │ + "Where LAVA fits into the testing": [ │ │ │ │ │ + [20, "where-lava-fits-into-the-testing"] │ │ │ │ │ ], │ │ │ │ │ - "Using the job context in MultiNode": [ │ │ │ │ │ - [110, "using-the-job-context-in-multinode"] │ │ │ │ │ + "Splitting the testing": [ │ │ │ │ │ + [20, "splitting-the-testing"] │ │ │ │ │ ], │ │ │ │ │ - "Using MultiNode roles": [ │ │ │ │ │ - [110, "using-multinode-roles"] │ │ │ │ │ + "Questions to ask": [ │ │ │ │ │ + [20, "questions-to-ask"] │ │ │ │ │ ], │ │ │ │ │ - "Running tests in MultiNode": [ │ │ │ │ │ - [110, "running-tests-in-multinode"] │ │ │ │ │ + "KernelCI.org": [ │ │ │ │ │ + [20, "kernelci-org"] │ │ │ │ │ ], │ │ │ │ │ - "Running different tests on different devices": [ │ │ │ │ │ - [110, "running-different-tests-on-different-devices"] │ │ │ │ │ + "SQUAD": [ │ │ │ │ │ + [20, "squad"] │ │ │ │ │ ], │ │ │ │ │ - "Allocating different device types to a group": [ │ │ │ │ │ - [110, "allocating-different-device-types-to-a-group"] │ │ │ │ │ + "Debugging LAVA test failures": [ │ │ │ │ │ + [23, "debugging-lava-test-failures"] │ │ │ │ │ ], │ │ │ │ │ - "Splitting deployment actions between roles": [ │ │ │ │ │ - [110, "splitting-deployment-actions-between-roles"] │ │ │ │ │ + "Read the logs": [ │ │ │ │ │ + [23, "index-1"] │ │ │ │ │ ], │ │ │ │ │ - "(Potentially) Splitting boot actions": [ │ │ │ │ │ - [110, "potentially-splitting-boot-actions"] │ │ │ │ │ + "Read the failure comment": [ │ │ │ │ │ + [23, "read-the-failure-comment"] │ │ │ │ │ ], │ │ │ │ │ - "Using MultiNode commands to synchronize devices": [ │ │ │ │ │ - [110, "using-multinode-commands-to-synchronize-devices"] │ │ │ │ │ + "Boot failure": [ │ │ │ │ │ + [23, "index-2"] │ │ │ │ │ ], │ │ │ │ │ - "Controlling synchronization from the test shell": [ │ │ │ │ │ - [110, "controlling-synchronization-from-the-test-shell"] │ │ │ │ │ + "Failure to find/mount the rootfs": [ │ │ │ │ │ + [23, "failure-to-find-mount-the-rootfs"] │ │ │ │ │ ], │ │ │ │ │ - "Controlling synchronization from the dispatcher": [ │ │ │ │ │ - [110, "controlling-synchronization-from-the-dispatcher"] │ │ │ │ │ + "Start simple": [ │ │ │ │ │ + [23, "start-simple"] │ │ │ │ │ ], │ │ │ │ │ - "Using the MultiNode API - further features": [ │ │ │ │ │ - [110, "using-the-multinode-api-further-features"] │ │ │ │ │ + "Change one thing at a time": [ │ │ │ │ │ + [23, "change-one-thing-at-a-time"] │ │ │ │ │ ], │ │ │ │ │ - "Using MultiNode commands to pass data between devices": [ │ │ │ │ │ - [110, "using-multinode-commands-to-pass-data-between-devices"] │ │ │ │ │ + "Make your tests and setup verbose": [ │ │ │ │ │ + [23, "make-your-tests-and-setup-verbose"] │ │ │ │ │ ], │ │ │ │ │ - "Helper tools in LAVA": [ │ │ │ │ │ - [110, "helper-tools-in-lava"] │ │ │ │ │ + "Provide debug data in all test jobs": [ │ │ │ │ │ + [23, "provide-debug-data-in-all-test-jobs"] │ │ │ │ │ ], │ │ │ │ │ - "Other MultiNode calls": [ │ │ │ │ │ - [110, "other-multinode-calls"] │ │ │ │ │ + "Common pitfalls": [ │ │ │ │ │ + [23, "common-pitfalls"] │ │ │ │ │ ], │ │ │ │ │ - "Writing jobs using the MultiNode protocol": [ │ │ │ │ │ - [110, "writing-jobs-using-the-multinode-protocol"] │ │ │ │ │ + "Handling locally built files": [ │ │ │ │ │ + [23, "handling-locally-built-files"] │ │ │ │ │ ], │ │ │ │ │ - "Writing jobs using MultiNode and LXC": [ │ │ │ │ │ - [110, "writing-jobs-using-multinode-and-lxc"] │ │ │ │ │ + "Avoid using shell operators in YAML lines": [ │ │ │ │ │ + [23, "avoid-using-shell-operators-in-yaml-lines"] │ │ │ │ │ ], │ │ │ │ │ - "Adding test actions": [ │ │ │ │ │ - [110, "adding-test-actions"] │ │ │ │ │ + "Test your result parsers": [ │ │ │ │ │ + [23, "test-your-result-parsers"] │ │ │ │ │ + ], │ │ │ │ │ + "Be obsessive about paths and scripts": [ │ │ │ │ │ + [23, "be-obsessive-about-paths-and-scripts"] │ │ │ │ │ + ], │ │ │ │ │ + "Debugging automation failures": [ │ │ │ │ │ + [23, "debugging-automation-failures"] │ │ │ │ │ + ], │ │ │ │ │ + "Infrastructure effects": [ │ │ │ │ │ + [23, "infrastructure-effects"] │ │ │ │ │ + ], │ │ │ │ │ + "Hidden assumptions in the manual operations": [ │ │ │ │ │ + [23, "hidden-assumptions-in-the-manual-operations"] │ │ │ │ │ + ], │ │ │ │ │ + "Differences in input speeds": [ │ │ │ │ │ + [23, "differences-in-input-speeds"] │ │ │ │ │ + ], │ │ │ │ │ + "Setting boot_character_delay": [ │ │ │ │ │ + [23, "setting-boot-character-delay"] │ │ │ │ │ + ], │ │ │ │ │ + "Setting test_character_delay": [ │ │ │ │ │ + [23, "setting-test-character-delay"] │ │ │ │ │ + ], │ │ │ │ │ + "Debugging MultiNode tests": [ │ │ │ │ │ + [23, "debugging-multinode-tests"] │ │ │ │ │ + ], │ │ │ │ │ + "Simplify your MultiNode test": [ │ │ │ │ │ + [23, "simplify-your-multinode-test"] │ │ │ │ │ + ], │ │ │ │ │ + "Check that your message ID labels are consistent": [ │ │ │ │ │ + [23, "check-that-your-message-id-labels-are-consistent"] │ │ │ │ │ + ], │ │ │ │ │ + "A failed test is not necessarily a bug in the test": [ │ │ │ │ │ + [23, "a-failed-test-is-not-necessarily-a-bug-in-the-test"] │ │ │ │ │ + ], │ │ │ │ │ + "Writing Tests": [ │ │ │ │ │ + [26, "writing-tests"] │ │ │ │ │ + ], │ │ │ │ │ + "Introduction to the LAVA Test Developer Guide": [ │ │ │ │ │ + [26, "introduction-to-the-lava-test-developer-guide"] │ │ │ │ │ + ], │ │ │ │ │ + "Guide Contents": [ │ │ │ │ │ + [26, "guide-contents"] │ │ │ │ │ + ], │ │ │ │ │ + "Assumptions at the start of this guide": [ │ │ │ │ │ + [26, "assumptions-at-the-start-of-this-guide"] │ │ │ │ │ + ], │ │ │ │ │ + "Checking device availability": [ │ │ │ │ │ + [26, "checking-device-availability"] │ │ │ │ │ + ], │ │ │ │ │ + "Finding an image to run on the device": [ │ │ │ │ │ + [26, "finding-an-image-to-run-on-the-device"] │ │ │ │ │ + ], │ │ │ │ │ + "Actions to be run for a LAVA test": [ │ │ │ │ │ + [26, "actions-to-be-run-for-a-lava-test"] │ │ │ │ │ + ], │ │ │ │ │ + "Example of Lava Test": [ │ │ │ │ │ + [26, "example-of-lava-test"] │ │ │ │ │ + ], │ │ │ │ │ + "Deploying a pre-built QEMU image": [ │ │ │ │ │ + [26, "deploying-a-pre-built-qemu-image"] │ │ │ │ │ + ], │ │ │ │ │ + "Using device tags": [ │ │ │ │ │ + [26, "using-device-tags"] │ │ │ │ │ + ], │ │ │ │ │ + "Using checksums": [ │ │ │ │ │ + [26, "using-checksums"] │ │ │ │ │ + ], │ │ │ │ │ + "Using Lava-Test Test Definition 1.0": [ │ │ │ │ │ + [26, "using-lava-test-test-definition-1-0"] │ │ │ │ │ + ], │ │ │ │ │ + "LAVA development": [ │ │ │ │ │ + [27, "lava-development"] │ │ │ │ │ + ], │ │ │ │ │ + "Run the unit tests": [ │ │ │ │ │ + [27, "run-the-unit-tests"] │ │ │ │ │ + ], │ │ │ │ │ + "Functional testing": [ │ │ │ │ │ + [27, "functional-testing"] │ │ │ │ │ + ], │ │ │ │ │ + "Make your changes": [ │ │ │ │ │ + [27, "make-your-changes"] │ │ │ │ │ + ], │ │ │ │ │ + "Source code formatting": [ │ │ │ │ │ + [27, "source-code-formatting"] │ │ │ │ │ + ], │ │ │ │ │ + "Add some unit tests": [ │ │ │ │ │ + [27, "add-some-unit-tests"] │ │ │ │ │ + ], │ │ │ │ │ + "lava_dispatcher": [ │ │ │ │ │ + [27, "lava-dispatcher"], │ │ │ │ │ + [27, "id2"] │ │ │ │ │ + ], │ │ │ │ │ + "lava_scheduler_app": [ │ │ │ │ │ + [27, "lava-scheduler-app"] │ │ │ │ │ + ], │ │ │ │ │ + "Re-run the unit tests": [ │ │ │ │ │ + [27, "re-run-the-unit-tests"] │ │ │ │ │ + ], │ │ │ │ │ + "Testing local changes": [ │ │ │ │ │ + [27, "testing-local-changes"] │ │ │ │ │ + ], │ │ │ │ │ + "lava-server-doc": [ │ │ │ │ │ + [27, "lava-server-doc"] │ │ │ │ │ + ], │ │ │ │ │ + "Debugging lava-dispatcher with pdb, the Python debugger": [ │ │ │ │ │ + [27, "debugging-lava-dispatcher-with-pdb-the-python-debugger"] │ │ │ │ │ + ], │ │ │ │ │ + "Send your commits for review": [ │ │ │ │ │ + [27, "send-your-commits-for-review"] │ │ │ │ │ + ], │ │ │ │ │ + "Adding reviewers": [ │ │ │ │ │ + [27, "adding-reviewers"] │ │ │ │ │ + ], │ │ │ │ │ + "Handling your local branches": [ │ │ │ │ │ + [27, "handling-your-local-branches"] │ │ │ │ │ + ], │ │ │ │ │ + "Future proofing": [ │ │ │ │ │ + [27, "future-proofing"] │ │ │ │ │ + ], │ │ │ │ │ + "Use templates to generate device configuration": [ │ │ │ │ │ + [27, "use-templates-to-generate-device-configuration"] │ │ │ │ │ + ], │ │ │ │ │ + "Database migrations": [ │ │ │ │ │ + [27, "database-migrations"] │ │ │ │ │ + ], │ │ │ │ │ + "Python 3.x": [ │ │ │ │ │ + [27, "python-3-x"] │ │ │ │ │ + ], │ │ │ │ │ + "XML-RPC changes": [ │ │ │ │ │ + [27, "xml-rpc-changes"] │ │ │ │ │ + ], │ │ │ │ │ + "Instance settings": [ │ │ │ │ │ + [27, "instance-settings"] │ │ │ │ │ + ], │ │ │ │ │ + "Pylint3": [ │ │ │ │ │ + [27, "pylint3"] │ │ │ │ │ + ], │ │ │ │ │ + "pep8": [ │ │ │ │ │ + [27, "pep8"] │ │ │ │ │ + ], │ │ │ │ │ + "Unit-tests": [ │ │ │ │ │ + [27, "unit-tests"] │ │ │ │ │ + ], │ │ │ │ │ + "LAVA database model visualization": [ │ │ │ │ │ + [27, "lava-database-model-visualization"] │ │ │ │ │ + ], │ │ │ │ │ + "Developer access to django shell": [ │ │ │ │ │ + [27, "developer-access-to-django-shell"] │ │ │ │ │ + ], │ │ │ │ │ + "Guide to development within LAVA": [ │ │ │ │ │ + [28, "guide-to-development-within-lava"] │ │ │ │ │ + ], │ │ │ │ │ + "Dependencies required to run unit tests": [ │ │ │ │ │ + [28, "dependencies-required-to-run-unit-tests"] │ │ │ │ │ + ], │ │ │ │ │ + "Developing using device-type templates": [ │ │ │ │ │ + [28, "developing-using-device-type-templates"] │ │ │ │ │ + ], │ │ │ │ │ + "Device type templates as code": [ │ │ │ │ │ + [28, "device-type-templates-as-code"] │ │ │ │ │ + ], │ │ │ │ │ + "Testing new device-type templates": [ │ │ │ │ │ + [28, "testing-new-device-type-templates"] │ │ │ │ │ + ], │ │ │ │ │ + "Use version-control for device-type templates": [ │ │ │ │ │ + [28, "use-version-control-for-device-type-templates"] │ │ │ │ │ + ], │ │ │ │ │ + "Contribute device-type templates back upstream": [ │ │ │ │ │ + [28, "contribute-device-type-templates-back-upstream"] │ │ │ │ │ + ], │ │ │ │ │ + "Developer workflows": [ │ │ │ │ │ + [28, "developer-workflows"] │ │ │ │ │ + ], │ │ │ │ │ + "Code locations": [ │ │ │ │ │ + [28, "code-locations"] │ │ │ │ │ + ], │ │ │ │ │ + "Compatibility": [ │ │ │ │ │ + [28, "compatibility"] │ │ │ │ │ + ], │ │ │ │ │ + "Jinja2 support": [ │ │ │ │ │ + [28, "jinja2-support"] │ │ │ │ │ + ], │ │ │ │ │ + "Device dictionaries": [ │ │ │ │ │ + [28, "device-dictionaries"] │ │ │ │ │ + ], │ │ │ │ │ + "Dispatcher device configurations": [ │ │ │ │ │ + [28, "dispatcher-device-configurations"] │ │ │ │ │ + ], │ │ │ │ │ + "Contributing Upstream": [ │ │ │ │ │ + [28, "contributing-upstream"] │ │ │ │ │ + ], │ │ │ │ │ + "Planning": [ │ │ │ │ │ + [28, "planning"] │ │ │ │ │ + ], │ │ │ │ │ + "Report a Bug": [ │ │ │ │ │ + [28, "report-a-bug"] │ │ │ │ │ + ], │ │ │ │ │ + "Community contributions": [ │ │ │ │ │ + [28, "community-contributions"] │ │ │ │ │ + ], │ │ │ │ │ + "Contributing via your distribution": [ │ │ │ │ │ + [28, "contributing-via-your-distribution"] │ │ │ │ │ + ], │ │ │ │ │ + "Contributing via GitHub": [ │ │ │ │ │ + [28, "contributing-via-github"] │ │ │ │ │ + ], │ │ │ │ │ + "Permanency": [ │ │ │ │ │ + [31, "permanency"] │ │ │ │ │ + ], │ │ │ │ │ + "Device sub-types": [ │ │ │ │ │ + [31, "device-sub-types"] │ │ │ │ │ + ], │ │ │ │ │ + "Choosing a name for a device type": [ │ │ │ │ │ + [31, "choosing-a-name-for-a-device-type"] │ │ │ │ │ + ], │ │ │ │ │ + "Matching the template": [ │ │ │ │ │ + [31, "matching-the-template"] │ │ │ │ │ + ], │ │ │ │ │ + "Example device types": [ │ │ │ │ │ + [31, "example-device-types"] │ │ │ │ │ + ], │ │ │ │ │ + "Database elements for a device type": [ │ │ │ │ │ + [31, "database-elements-for-a-device-type"] │ │ │ │ │ + ], │ │ │ │ │ + "Descriptive fields": [ │ │ │ │ │ + [31, "descriptive-fields"] │ │ │ │ │ + ], │ │ │ │ │ + "Developing LAVA on Debian": [ │ │ │ │ │ + [22, "developing-lava-on-debian"] │ │ │ │ │ + ], │ │ │ │ │ + "Why Debian?": [ │ │ │ │ │ + [22, "why-debian"] │ │ │ │ │ + ], │ │ │ │ │ + "Options for other distributions": [ │ │ │ │ │ + [22, "options-for-other-distributions"] │ │ │ │ │ + ], │ │ │ │ │ + "Preparing for LAVA development": [ │ │ │ │ │ + [22, "preparing-for-lava-development"] │ │ │ │ │ + ], │ │ │ │ │ + "Developer package build": [ │ │ │ │ │ + [22, "developer-package-build"] │ │ │ │ │ + ], │ │ │ │ │ + "Changes from 2018.10 onwards": [ │ │ │ │ │ + [22, "changes-from-2018-10-onwards"] │ │ │ │ │ + ], │ │ │ │ │ + "Which branch to use for changes": [ │ │ │ │ │ + [22, "which-branch-to-use-for-changes"] │ │ │ │ │ + ], │ │ │ │ │ + "Local version strings": [ │ │ │ │ │ + [22, "local-version-strings"] │ │ │ │ │ + ], │ │ │ │ │ + "Distribution differences": [ │ │ │ │ │ + [22, "distribution-differences"] │ │ │ │ │ + ], │ │ │ │ │ + "Developer build versions": [ │ │ │ │ │ + [22, "developer-build-versions"] │ │ │ │ │ + ], │ │ │ │ │ + "Development using Python3": [ │ │ │ │ │ + [22, "development-using-python3"] │ │ │ │ │ + ], │ │ │ │ │ + "Quick fixes and testing": [ │ │ │ │ │ + [22, "quick-fixes-and-testing"] │ │ │ │ │ + ], │ │ │ │ │ + "Viewing changes": [ │ │ │ │ │ + [22, "viewing-changes"] │ │ │ │ │ + ], │ │ │ │ │ + "Migrating postgresql versions": [ │ │ │ │ │ + [22, "migrating-postgresql-versions"] │ │ │ │ │ + ], │ │ │ │ │ + "Determining the active cluster": [ │ │ │ │ │ + [22, "determining-the-active-cluster"] │ │ │ │ │ + ], │ │ │ │ │ + "Performing the migration": [ │ │ │ │ │ + [22, "performing-the-migration"] │ │ │ │ │ + ], │ │ │ │ │ + "Dependency Requirements": [ │ │ │ │ │ + [22, "dependency-requirements"] │ │ │ │ │ + ], │ │ │ │ │ + "Outputting the requirements.txt format": [ │ │ │ │ │ + [22, "outputting-the-requirements-txt-format"] │ │ │ │ │ + ], │ │ │ │ │ + "Outputting a list of binary package names": [ │ │ │ │ │ + [22, "outputting-a-list-of-binary-package-names"] │ │ │ │ │ + ], │ │ │ │ │ + "Adding packages needed for the unittests": [ │ │ │ │ │ + [22, "adding-packages-needed-for-the-unittests"] │ │ │ │ │ + ], │ │ │ │ │ + "Javascript handling": [ │ │ │ │ │ + [22, "javascript-handling"] │ │ │ │ │ + ], │ │ │ │ │ + "Javascript and security": [ │ │ │ │ │ + [22, "javascript-and-security"] │ │ │ │ │ + ], │ │ │ │ │ + "Javascript maintenance": [ │ │ │ │ │ + [22, "javascript-maintenance"] │ │ │ │ │ + ], │ │ │ │ │ + "Packaging changes": [ │ │ │ │ │ + [22, "packaging-changes"] │ │ │ │ │ + ], │ │ │ │ │ + "Building for other architectures": [ │ │ │ │ │ + [22, "building-for-other-architectures"] │ │ │ │ │ + ], │ │ │ │ │ + "Debugging Django issues": [ │ │ │ │ │ + [22, "debugging-django-issues"] │ │ │ │ │ + ], │ │ │ │ │ + "Installing": [ │ │ │ │ │ + [22, "installing"] │ │ │ │ │ + ], │ │ │ │ │ + "Performance overhead": [ │ │ │ │ │ + [22, "performance-overhead"] │ │ │ │ │ + ], │ │ │ │ │ + "Developing new classes for LAVA V2": [ │ │ │ │ │ + [25, "developing-new-classes-for-lava-v2"] │ │ │ │ │ + ], │ │ │ │ │ + "Test with simple scripts": [ │ │ │ │ │ + [25, "test-with-simple-scripts"] │ │ │ │ │ + ], │ │ │ │ │ + "Start with new classes": [ │ │ │ │ │ + [25, "start-with-new-classes"] │ │ │ │ │ + ], │ │ │ │ │ + "Add support files for unit tests": [ │ │ │ │ │ + [25, "add-support-files-for-unit-tests"] │ │ │ │ │ + ], │ │ │ │ │ + "Add unit tests": [ │ │ │ │ │ + [25, "add-unit-tests"] │ │ │ │ │ + ], │ │ │ │ │ + "Run all the unit tests": [ │ │ │ │ │ + [25, "run-all-the-unit-tests"] │ │ │ │ │ + ], │ │ │ │ │ + "Incorporate the test script into the classes": [ │ │ │ │ │ + [25, "incorporate-the-test-script-into-the-classes"] │ │ │ │ │ + ], │ │ │ │ │ + "Check the new classes": [ │ │ │ │ │ + [25, "check-the-new-classes"] │ │ │ │ │ + ], │ │ │ │ │ + "Startup achieved": [ │ │ │ │ │ + [25, "startup-achieved"] │ │ │ │ │ + ], │ │ │ │ │ + "Device Capabilities Support": [ │ │ │ │ │ + [29, "device-capabilities-support"] │ │ │ │ │ + ], │ │ │ │ │ + "Device owner abilities": [ │ │ │ │ │ + [29, "device-owner-abilities"] │ │ │ │ │ + ], │ │ │ │ │ + "Adding new device types": [ │ │ │ │ │ + [30, "adding-new-device-types"] │ │ │ │ │ + ], │ │ │ │ │ + "Device Requirements": [ │ │ │ │ │ + [30, "device-requirements"] │ │ │ │ │ + ], │ │ │ │ │ + "Reproducibility": [ │ │ │ │ │ + [30, "reproducibility"] │ │ │ │ │ + ], │ │ │ │ │ + "Scriptability": [ │ │ │ │ │ + [30, "scriptability"] │ │ │ │ │ + ], │ │ │ │ │ + "Power": [ │ │ │ │ │ + [30, "power"] │ │ │ │ │ + ], │ │ │ │ │ + "Reset": [ │ │ │ │ │ + [30, "reset"] │ │ │ │ │ + ], │ │ │ │ │ + "Networking": [ │ │ │ │ │ + [30, "networking"] │ │ │ │ │ + ], │ │ │ │ │ + "Serial console": [ │ │ │ │ │ + [30, "serial-console"] │ │ │ │ │ + ], │ │ │ │ │ + "Integration process": [ │ │ │ │ │ + [30, "integration-process"] │ │ │ │ │ + ], │ │ │ │ │ + "Find a similar existing device type": [ │ │ │ │ │ + [30, "find-a-similar-existing-device-type"] │ │ │ │ │ + ], │ │ │ │ │ + "Extend from an existing device type template": [ │ │ │ │ │ + [30, "extend-from-an-existing-device-type-template"] │ │ │ │ │ + ], │ │ │ │ │ + "Extend the template unit tests": [ │ │ │ │ │ + [30, "extend-the-template-unit-tests"] │ │ │ │ │ + ], │ │ │ │ │ + "First steps using LAVA": [ │ │ │ │ │ + [17, "first-steps-using-lava"] │ │ │ │ │ + ], │ │ │ │ │ + "CI with LAVA": [ │ │ │ │ │ + [17, "ci-with-lava"] │ │ │ │ │ + ], │ │ │ │ │ + "Writing tests for LAVA": [ │ │ │ │ │ + [17, "writing-tests-for-lava"] │ │ │ │ │ + ], │ │ │ │ │ + "LAVA administration guide": [ │ │ │ │ │ + [17, "lava-administration-guide"] │ │ │ │ │ + ], │ │ │ │ │ + "LAVA device integration guide": [ │ │ │ │ │ + [17, "lava-device-integration-guide"] │ │ │ │ │ + ], │ │ │ │ │ + "Migrating to V2": [ │ │ │ │ │ + [17, "migrating-to-v2"] │ │ │ │ │ + ], │ │ │ │ │ + "Context help": [ │ │ │ │ │ + [17, "context-help"] │ │ │ │ │ + ], │ │ │ │ │ + "Deploying test images using LXC": [ │ │ │ │ │ + [24, "deploying-test-images-using-lxc"] │ │ │ │ │ + ], │ │ │ │ │ + "Using LXC as Device Type": [ │ │ │ │ │ + [24, "using-lxc-as-device-type"] │ │ │ │ │ + ], │ │ │ │ │ + "Sample Job Definition": [ │ │ │ │ │ + [24, "sample-job-definition"], │ │ │ │ │ + [24, "id3"] │ │ │ │ │ + ], │ │ │ │ │ + "Namespaces": [ │ │ │ │ │ + [24, "namespaces"] │ │ │ │ │ + ], │ │ │ │ │ + "Using the LXC protocol to support Android": [ │ │ │ │ │ + [24, "using-the-lxc-protocol-to-support-android"] │ │ │ │ │ + ], │ │ │ │ │ + "LAVA Android Naming Conventions": [ │ │ │ │ │ + [24, "lava-android-naming-conventions"] │ │ │ │ │ + ], │ │ │ │ │ + "Requirements and Limitations": [ │ │ │ │ │ + [24, "requirements-and-limitations"] │ │ │ │ │ + ], │ │ │ │ │ + "Feedback from the device": [ │ │ │ │ │ + [24, "feedback-from-the-device"] │ │ │ │ │ + ], │ │ │ │ │ + "Differences between LXC releases": [ │ │ │ │ │ + [24, "differences-between-lxc-releases"] │ │ │ │ │ + ], │ │ │ │ │ + "Media limitations of test devices": [ │ │ │ │ │ + [96, "media-limitations-of-test-devices"] │ │ │ │ │ + ], │ │ │ │ │ + "Primary media and primary bootloaders": [ │ │ │ │ │ + [96, "primary-media-and-primary-bootloaders"] │ │ │ │ │ + ], │ │ │ │ │ + "Bootloader limitations": [ │ │ │ │ │ + [96, "bootloader-limitations"] │ │ │ │ │ + ], │ │ │ │ │ + "Occasional debugging": [ │ │ │ │ │ + [96, "occasional-debugging"] │ │ │ │ │ + ], │ │ │ │ │ + "Installer testing": [ │ │ │ │ │ + [96, "installer-testing"] │ │ │ │ │ + ], │ │ │ │ │ + "Secondary media deployment of images": [ │ │ │ │ │ + [96, "secondary-media-deployment-of-images"] │ │ │ │ │ + ], │ │ │ │ │ + "Principles and Requirements": [ │ │ │ │ │ + [96, "principles-and-requirements"] │ │ │ │ │ + ], │ │ │ │ │ + "Test Writer steps": [ │ │ │ │ │ + [96, "test-writer-steps"] │ │ │ │ │ + ], │ │ │ │ │ + "Deploy commands": [ │ │ │ │ │ + [96, "deploy-commands"] │ │ │ │ │ + ], │ │ │ │ │ + "Boot commands": [ │ │ │ │ │ + [96, "boot-commands"] │ │ │ │ │ + ], │ │ │ │ │ + "Gold standard test jobs": [ │ │ │ │ │ + [101, "gold-standard-test-jobs"] │ │ │ │ │ ], │ │ │ │ │ "Writing a Lava-Test Test Definition 1.0": [ │ │ │ │ │ [111, "writing-a-lava-test-test-definition-1-0"] │ │ │ │ │ ], │ │ │ │ │ "Writing a test definition YAML file": [ │ │ │ │ │ [111, "writing-a-test-definition-yaml-file"] │ │ │ │ │ ], │ │ │ │ │ @@ -10230,34 +9602,217 @@ │ │ │ │ │ ], │ │ │ │ │ "Problems with output": [ │ │ │ │ │ [111, "problems-with-output"] │ │ │ │ │ ], │ │ │ │ │ "Control the number of test cases reported": [ │ │ │ │ │ [111, "control-the-number-of-test-cases-reported"] │ │ │ │ │ ], │ │ │ │ │ - "User notifications in LAVA": [ │ │ │ │ │ - [107, "user-notifications-in-lava"] │ │ │ │ │ + "Using tables in LAVA": [ │ │ │ │ │ + [103, "using-tables-in-lava"] │ │ │ │ │ ], │ │ │ │ │ - "Notification recipients": [ │ │ │ │ │ - [107, "notification-recipients"] │ │ │ │ │ + "Table search support": [ │ │ │ │ │ + [103, "table-search-support"] │ │ │ │ │ ], │ │ │ │ │ - "Notification callbacks": [ │ │ │ │ │ - [107, "notification-callbacks"] │ │ │ │ │ + "Simple text search": [ │ │ │ │ │ + [103, "simple-text-search"] │ │ │ │ │ ], │ │ │ │ │ - "Debugging notification callbacks": [ │ │ │ │ │ - [107, "debugging-notification-callbacks"] │ │ │ │ │ + "Custom table queries": [ │ │ │ │ │ + [103, "custom-table-queries"] │ │ │ │ │ ], │ │ │ │ │ - "Using profile settings": [ │ │ │ │ │ - [107, "using-profile-settings"] │ │ │ │ │ + "Exclusive table searches": [ │ │ │ │ │ + [103, "exclusive-table-searches"] │ │ │ │ │ ], │ │ │ │ │ - "Direct listing of recipients": [ │ │ │ │ │ - [107, "direct-listing-of-recipients"] │ │ │ │ │ + "Other filters": [ │ │ │ │ │ + [103, "other-filters"] │ │ │ │ │ ], │ │ │ │ │ - "Result comparison in notifications": [ │ │ │ │ │ - [107, "result-comparison-in-notifications"] │ │ │ │ │ + "Resetting a table": [ │ │ │ │ │ + [103, "resetting-a-table"] │ │ │ │ │ + ], │ │ │ │ │ + "Unavailable entries": [ │ │ │ │ │ + [103, "unavailable-entries"] │ │ │ │ │ + ], │ │ │ │ │ + "Standard test job for beaglebone-black": [ │ │ │ │ │ + [98, "standard-test-job-for-beaglebone-black"], │ │ │ │ │ + [98, "standard-armmp-bbb"] │ │ │ │ │ + ], │ │ │ │ │ + "Standard test jobs for other devices": [ │ │ │ │ │ + [98, "standard-test-jobs-for-other-devices"] │ │ │ │ │ + ], │ │ │ │ │ + "Features of a ramdisk test job": [ │ │ │ │ │ + [98, "features-of-a-ramdisk-test-job"] │ │ │ │ │ + ], │ │ │ │ │ + "Features of an NFS test job": [ │ │ │ │ │ + [98, "features-of-an-nfs-test-job"] │ │ │ │ │ + ], │ │ │ │ │ + "Specific options": [ │ │ │ │ │ + [98, "specific-options"] │ │ │ │ │ + ], │ │ │ │ │ + "Test": [ │ │ │ │ │ + [98, "test"], │ │ │ │ │ + [100, "test"], │ │ │ │ │ + [70, "test"] │ │ │ │ │ + ], │ │ │ │ │ + "VLANd support in LAVA test jobs": [ │ │ │ │ │ + [108, "vland-support-in-lava-test-jobs"] │ │ │ │ │ + ], │ │ │ │ │ + "What is a VLAN?": [ │ │ │ │ │ + [108, "what-is-a-vlan"] │ │ │ │ │ + ], │ │ │ │ │ + "VLANd and LAVA": [ │ │ │ │ │ + [108, "vland-and-lava"] │ │ │ │ │ + ], │ │ │ │ │ + "VLANd test shell helpers": [ │ │ │ │ │ + [108, "vland-test-shell-helpers"] │ │ │ │ │ + ], │ │ │ │ │ + "lava-vland-self": [ │ │ │ │ │ + [108, "lava-vland-self"] │ │ │ │ │ + ], │ │ │ │ │ + "lava-vland-tags": [ │ │ │ │ │ + [108, "lava-vland-tags"] │ │ │ │ │ + ], │ │ │ │ │ + "lava-vland-names": [ │ │ │ │ │ + [108, "lava-vland-names"] │ │ │ │ │ + ], │ │ │ │ │ + "Identifying interface names": [ │ │ │ │ │ + [108, "vland-identify-interface-names"] │ │ │ │ │ + ], │ │ │ │ │ + "VLANd Restrictions": [ │ │ │ │ │ + [108, "vland-restrictions"] │ │ │ │ │ + ], │ │ │ │ │ + "VLANd Design goals and considerations": [ │ │ │ │ │ + [108, "vland-design-goals-and-considerations"] │ │ │ │ │ + ], │ │ │ │ │ + "LAVA and VLANd Device considerations": [ │ │ │ │ │ + [108, "lava-and-vland-device-considerations"] │ │ │ │ │ + ], │ │ │ │ │ + "Requirement for multiple interfaces": [ │ │ │ │ │ + [108, "requirement-for-multiple-interfaces"] │ │ │ │ │ + ], │ │ │ │ │ + "LAVA and locked switch/port combinations": [ │ │ │ │ │ + [108, "lava-and-locked-switch-port-combinations"] │ │ │ │ │ + ], │ │ │ │ │ + "VLANd and MultiNode": [ │ │ │ │ │ + [108, "vland-and-multinode"] │ │ │ │ │ + ], │ │ │ │ │ + "LAVA VLANd database support": [ │ │ │ │ │ + [108, "lava-vland-database-support"] │ │ │ │ │ + ], │ │ │ │ │ + "Interfaces and link speeds": [ │ │ │ │ │ + [108, "interfaces-and-link-speeds"] │ │ │ │ │ + ], │ │ │ │ │ + "VLANd and interface tags in LAVA": [ │ │ │ │ │ + [108, "vland-and-interface-tags-in-lava"] │ │ │ │ │ + ], │ │ │ │ │ + "Assigning roles to a VLAN": [ │ │ │ │ │ + [108, "assigning-roles-to-a-vlan"] │ │ │ │ │ + ], │ │ │ │ │ + "Example vland protocol YAML": [ │ │ │ │ │ + [108, "example-vland-protocol-yaml"] │ │ │ │ │ + ], │ │ │ │ │ + "Example YAML for the protocols": [ │ │ │ │ │ + [108, "example-yaml-for-the-protocols"] │ │ │ │ │ + ], │ │ │ │ │ + "Administering VLANd support in LAVA": [ │ │ │ │ │ + [109, "administering-vland-support-in-lava"] │ │ │ │ │ + ], │ │ │ │ │ + "Mandatory Constraints": [ │ │ │ │ │ + [109, "mandatory-constraints"] │ │ │ │ │ + ], │ │ │ │ │ + "Single set of switches": [ │ │ │ │ │ + [109, "single-set-of-switches"] │ │ │ │ │ + ], │ │ │ │ │ + "Switches must have drivers in vland": [ │ │ │ │ │ + [109, "switches-must-have-drivers-in-vland"] │ │ │ │ │ + ], │ │ │ │ │ + "Accurate map of network topology": [ │ │ │ │ │ + [109, "accurate-map-of-network-topology"] │ │ │ │ │ + ], │ │ │ │ │ + "Identification of primary interfaces": [ │ │ │ │ │ + [109, "identify-primary-interfaces"] │ │ │ │ │ + ], │ │ │ │ │ + "Additional advice": [ │ │ │ │ │ + [109, "additional-advice"] │ │ │ │ │ + ], │ │ │ │ │ + "Example device dictionary": [ │ │ │ │ │ + [109, "example-device-dictionary"] │ │ │ │ │ + ], │ │ │ │ │ + "Viewing the network map": [ │ │ │ │ │ + [109, "viewing-the-network-map"] │ │ │ │ │ + ], │ │ │ │ │ + "Writing MultiNode tests": [ │ │ │ │ │ + [110, "writing-multinode-tests"] │ │ │ │ │ + ], │ │ │ │ │ + "Writing a MultiNode job file": [ │ │ │ │ │ + [110, "writing-a-multinode-job-file"] │ │ │ │ │ + ], │ │ │ │ │ + "Defining MultiNode roles": [ │ │ │ │ │ + [110, "defining-multinode-roles"] │ │ │ │ │ + ], │ │ │ │ │ + "Using the job context in MultiNode": [ │ │ │ │ │ + [110, "using-the-job-context-in-multinode"] │ │ │ │ │ + ], │ │ │ │ │ + "Using MultiNode roles": [ │ │ │ │ │ + [110, "using-multinode-roles"] │ │ │ │ │ + ], │ │ │ │ │ + "Running tests in MultiNode": [ │ │ │ │ │ + [110, "running-tests-in-multinode"] │ │ │ │ │ + ], │ │ │ │ │ + "Running different tests on different devices": [ │ │ │ │ │ + [110, "running-different-tests-on-different-devices"] │ │ │ │ │ + ], │ │ │ │ │ + "Allocating different device types to a group": [ │ │ │ │ │ + [110, "allocating-different-device-types-to-a-group"] │ │ │ │ │ + ], │ │ │ │ │ + "Splitting deployment actions between roles": [ │ │ │ │ │ + [110, "splitting-deployment-actions-between-roles"] │ │ │ │ │ + ], │ │ │ │ │ + "(Potentially) Splitting boot actions": [ │ │ │ │ │ + [110, "potentially-splitting-boot-actions"] │ │ │ │ │ + ], │ │ │ │ │ + "Using MultiNode commands to synchronize devices": [ │ │ │ │ │ + [110, "using-multinode-commands-to-synchronize-devices"] │ │ │ │ │ + ], │ │ │ │ │ + "Controlling synchronization from the test shell": [ │ │ │ │ │ + [110, "controlling-synchronization-from-the-test-shell"] │ │ │ │ │ + ], │ │ │ │ │ + "Controlling synchronization from the dispatcher": [ │ │ │ │ │ + [110, "controlling-synchronization-from-the-dispatcher"] │ │ │ │ │ + ], │ │ │ │ │ + "Using the MultiNode API - further features": [ │ │ │ │ │ + [110, "using-the-multinode-api-further-features"] │ │ │ │ │ + ], │ │ │ │ │ + "Using MultiNode commands to pass data between devices": [ │ │ │ │ │ + [110, "using-multinode-commands-to-pass-data-between-devices"] │ │ │ │ │ + ], │ │ │ │ │ + "Helper tools in LAVA": [ │ │ │ │ │ + [110, "helper-tools-in-lava"] │ │ │ │ │ + ], │ │ │ │ │ + "Other MultiNode calls": [ │ │ │ │ │ + [110, "other-multinode-calls"] │ │ │ │ │ + ], │ │ │ │ │ + "Writing jobs using the MultiNode protocol": [ │ │ │ │ │ + [110, "writing-jobs-using-the-multinode-protocol"] │ │ │ │ │ + ], │ │ │ │ │ + "Writing jobs using MultiNode and LXC": [ │ │ │ │ │ + [110, "writing-jobs-using-multinode-and-lxc"] │ │ │ │ │ + ], │ │ │ │ │ + "Adding test actions": [ │ │ │ │ │ + [110, "adding-test-actions"] │ │ │ │ │ + ], │ │ │ │ │ + "Standard test job for QEMU - Stretch amd64": [ │ │ │ │ │ + [100, "standard-test-job-for-qemu-stretch-amd64"] │ │ │ │ │ + ], │ │ │ │ │ + "arch": [ │ │ │ │ │ + [100, "arch"] │ │ │ │ │ + ], │ │ │ │ │ + "netdevice": [ │ │ │ │ │ + [100, "netdevice"] │ │ │ │ │ + ], │ │ │ │ │ + "Next steps": [ │ │ │ │ │ + [100, "next-steps"] │ │ │ │ │ ], │ │ │ │ │ "Simple Administration": [ │ │ │ │ │ [97, "simple-administration"] │ │ │ │ │ ], │ │ │ │ │ "Outline": [ │ │ │ │ │ [97, "outline"] │ │ │ │ │ ], │ │ │ │ │ @@ -10305,14 +9860,18 @@ │ │ │ │ │ ], │ │ │ │ │ "Problems affecting test jobs": [ │ │ │ │ │ [97, "problems-affecting-test-jobs"] │ │ │ │ │ ], │ │ │ │ │ "Power up failures": [ │ │ │ │ │ [97, "power-up-failures"] │ │ │ │ │ ], │ │ │ │ │ + "Compatibility failures": [ │ │ │ │ │ + [97, "compatibility-failures"], │ │ │ │ │ + [65, "compatibility-failures"] │ │ │ │ │ + ], │ │ │ │ │ "Checking for MultiNode issues": [ │ │ │ │ │ [97, "checking-for-multinode-issues"] │ │ │ │ │ ], │ │ │ │ │ "Where to find debug information": [ │ │ │ │ │ [97, "where-to-find-debug-information"] │ │ │ │ │ ], │ │ │ │ │ "Jinja2 Templates": [ │ │ │ │ │ @@ -10350,14 +9909,95 @@ │ │ │ │ │ ], │ │ │ │ │ "Owners and physical access": [ │ │ │ │ │ [97, "owners-and-physical-access"] │ │ │ │ │ ], │ │ │ │ │ "Setting owners and physical access": [ │ │ │ │ │ [97, "setting-owners-and-physical-access"] │ │ │ │ │ ], │ │ │ │ │ + "User notifications in LAVA": [ │ │ │ │ │ + [107, "user-notifications-in-lava"] │ │ │ │ │ + ], │ │ │ │ │ + "Notification recipients": [ │ │ │ │ │ + [107, "notification-recipients"] │ │ │ │ │ + ], │ │ │ │ │ + "Notification callbacks": [ │ │ │ │ │ + [107, "notification-callbacks"] │ │ │ │ │ + ], │ │ │ │ │ + "Debugging notification callbacks": [ │ │ │ │ │ + [107, "debugging-notification-callbacks"] │ │ │ │ │ + ], │ │ │ │ │ + "Using profile settings": [ │ │ │ │ │ + [107, "using-profile-settings"] │ │ │ │ │ + ], │ │ │ │ │ + "Direct listing of recipients": [ │ │ │ │ │ + [107, "direct-listing-of-recipients"] │ │ │ │ │ + ], │ │ │ │ │ + "Result comparison in notifications": [ │ │ │ │ │ + [107, "result-comparison-in-notifications"] │ │ │ │ │ + ], │ │ │ │ │ + "Standard test job for QEMU - Sid arm64": [ │ │ │ │ │ + [99, "standard-test-job-for-qemu-sid-arm64"] │ │ │ │ │ + ], │ │ │ │ │ + "QEMU with kernel and initramfs": [ │ │ │ │ │ + [99, "qemu-with-kernel-and-initramfs"] │ │ │ │ │ + ], │ │ │ │ │ + "Job context": [ │ │ │ │ │ + [99, "job-context"] │ │ │ │ │ + ], │ │ │ │ │ + "Deploying the kernel": [ │ │ │ │ │ + [99, "deploying-the-kernel"] │ │ │ │ │ + ], │ │ │ │ │ + "Automation and Timeouts": [ │ │ │ │ │ + [106, "automation-and-timeouts"] │ │ │ │ │ + ], │ │ │ │ │ + "Why must timeouts exist?": [ │ │ │ │ │ + [106, "why-must-timeouts-exist"] │ │ │ │ │ + ], │ │ │ │ │ + "How long should an operation wait?": [ │ │ │ │ │ + [106, "how-long-should-an-operation-wait"] │ │ │ │ │ + ], │ │ │ │ │ + "Operations involving third party services": [ │ │ │ │ │ + [106, "operations-involving-third-party-services"] │ │ │ │ │ + ], │ │ │ │ │ + "Duration of actions": [ │ │ │ │ │ + [106, "duration-of-actions"] │ │ │ │ │ + ], │ │ │ │ │ + "Test shell timeouts": [ │ │ │ │ │ + [106, "test-shell-timeouts"] │ │ │ │ │ + ], │ │ │ │ │ + "Defining timeouts": [ │ │ │ │ │ + [106, "defining-timeouts"] │ │ │ │ │ + ], │ │ │ │ │ + "Job timeouts": [ │ │ │ │ │ + [106, "job-timeouts"] │ │ │ │ │ + ], │ │ │ │ │ + "Summary of the example job timeouts": [ │ │ │ │ │ + [106, "summary-of-the-example-job-timeouts"] │ │ │ │ │ + ], │ │ │ │ │ + "Default action timeouts": [ │ │ │ │ │ + [106, "default-action-timeouts"] │ │ │ │ │ + ], │ │ │ │ │ + "Default connection timeouts": [ │ │ │ │ │ + [106, "default-connection-timeouts"] │ │ │ │ │ + ], │ │ │ │ │ + "Inheriting timeouts from the device configuration": [ │ │ │ │ │ + [106, "inheriting-timeouts-from-the-device-configuration"] │ │ │ │ │ + ], │ │ │ │ │ + "Individual action overrides": [ │ │ │ │ │ + [106, "individual-action-overrides"] │ │ │ │ │ + ], │ │ │ │ │ + "Individual connection overrides": [ │ │ │ │ │ + [106, "individual-connection-overrides"] │ │ │ │ │ + ], │ │ │ │ │ + "Action block overrides": [ │ │ │ │ │ + [106, "action-block-overrides"] │ │ │ │ │ + ], │ │ │ │ │ + "Skipping a test shell timeout": [ │ │ │ │ │ + [106, "skipping-a-test-shell-timeout"] │ │ │ │ │ + ], │ │ │ │ │ "Getting support": [ │ │ │ │ │ [102, "getting-support"] │ │ │ │ │ ], │ │ │ │ │ "Guidelines": [ │ │ │ │ │ [102, "guidelines"] │ │ │ │ │ ], │ │ │ │ │ "Mailing lists": [ │ │ │ │ │ @@ -10374,41 +10014,14 @@ │ │ │ │ │ ], │ │ │ │ │ "IRC": [ │ │ │ │ │ [102, "irc"] │ │ │ │ │ ], │ │ │ │ │ "Pastebins": [ │ │ │ │ │ [102, "pastebins"] │ │ │ │ │ ], │ │ │ │ │ - "Administering VLANd support in LAVA": [ │ │ │ │ │ - [109, "administering-vland-support-in-lava"] │ │ │ │ │ - ], │ │ │ │ │ - "Mandatory Constraints": [ │ │ │ │ │ - [109, "mandatory-constraints"] │ │ │ │ │ - ], │ │ │ │ │ - "Single set of switches": [ │ │ │ │ │ - [109, "single-set-of-switches"] │ │ │ │ │ - ], │ │ │ │ │ - "Switches must have drivers in vland": [ │ │ │ │ │ - [109, "switches-must-have-drivers-in-vland"] │ │ │ │ │ - ], │ │ │ │ │ - "Accurate map of network topology": [ │ │ │ │ │ - [109, "accurate-map-of-network-topology"] │ │ │ │ │ - ], │ │ │ │ │ - "Identification of primary interfaces": [ │ │ │ │ │ - [109, "identify-primary-interfaces"] │ │ │ │ │ - ], │ │ │ │ │ - "Additional advice": [ │ │ │ │ │ - [109, "additional-advice"] │ │ │ │ │ - ], │ │ │ │ │ - "Example device dictionary": [ │ │ │ │ │ - [109, "example-device-dictionary"] │ │ │ │ │ - ], │ │ │ │ │ - "Viewing the network map": [ │ │ │ │ │ - [109, "viewing-the-network-map"] │ │ │ │ │ - ], │ │ │ │ │ "Using Jinja2 to generate LAVA test job submissions": [ │ │ │ │ │ [104, "using-jinja2-to-generate-lava-test-job-submissions"] │ │ │ │ │ ], │ │ │ │ │ "Starting with templates": [ │ │ │ │ │ [104, "starting-with-templates"] │ │ │ │ │ ], │ │ │ │ │ "Output": [ │ │ │ │ │ @@ -10425,61 +10038,448 @@ │ │ │ │ │ ], │ │ │ │ │ "Template best practice": [ │ │ │ │ │ [104, "template-best-practice"] │ │ │ │ │ ], │ │ │ │ │ "Using templates for test jobs": [ │ │ │ │ │ [104, "using-templates-for-test-jobs"] │ │ │ │ │ ], │ │ │ │ │ - "Automation and Timeouts": [ │ │ │ │ │ - [106, "automation-and-timeouts"] │ │ │ │ │ + "Test definitions in version control": [ │ │ │ │ │ + [105, "test-definitions-in-version-control"] │ │ │ │ │ ], │ │ │ │ │ - "Why must timeouts exist?": [ │ │ │ │ │ - [106, "why-must-timeouts-exist"] │ │ │ │ │ + "Job definitions in version control": [ │ │ │ │ │ + [105, "job-definitions-in-version-control"] │ │ │ │ │ ], │ │ │ │ │ - "How long should an operation wait?": [ │ │ │ │ │ - [106, "how-long-should-an-operation-wait"] │ │ │ │ │ + "Using specific branch of a test definition repository": [ │ │ │ │ │ + [105, "using-specific-branch-of-a-test-definition-repository"] │ │ │ │ │ ], │ │ │ │ │ - "Operations involving third party services": [ │ │ │ │ │ - [106, "operations-involving-third-party-services"] │ │ │ │ │ + "Using specific revisions of a test definition": [ │ │ │ │ │ + [105, "using-specific-revisions-of-a-test-definition"] │ │ │ │ │ ], │ │ │ │ │ - "Duration of actions": [ │ │ │ │ │ - [106, "duration-of-actions"] │ │ │ │ │ + "Shallow clones in GIT": [ │ │ │ │ │ + [105, "shallow-clones-in-git"] │ │ │ │ │ ], │ │ │ │ │ - "Test shell timeouts": [ │ │ │ │ │ - [106, "test-shell-timeouts"] │ │ │ │ │ + "Removing git history": [ │ │ │ │ │ + [105, "removing-git-history"] │ │ │ │ │ ], │ │ │ │ │ - "Defining timeouts": [ │ │ │ │ │ - [106, "defining-timeouts"] │ │ │ │ │ + "Sharing the contents of test definitions": [ │ │ │ │ │ + [105, "sharing-the-contents-of-test-definitions"] │ │ │ │ │ ], │ │ │ │ │ - "Job timeouts": [ │ │ │ │ │ - [106, "job-timeouts"] │ │ │ │ │ + "Test repository for functional tests in LAVA": [ │ │ │ │ │ + [105, "test-repository-for-functional-tests-in-lava"] │ │ │ │ │ ], │ │ │ │ │ - "Summary of the example job timeouts": [ │ │ │ │ │ - [106, "summary-of-the-example-job-timeouts"] │ │ │ │ │ + "Using kernel messages in a test shell": [ │ │ │ │ │ + [105, "using-kernel-messages-in-a-test-shell"] │ │ │ │ │ ], │ │ │ │ │ - "Default action timeouts": [ │ │ │ │ │ - [106, "default-action-timeouts"] │ │ │ │ │ + "Syntax": [ │ │ │ │ │ + [105, "syntax"] │ │ │ │ │ ], │ │ │ │ │ - "Default connection timeouts": [ │ │ │ │ │ - [106, "default-connection-timeouts"] │ │ │ │ │ + "Login": [ │ │ │ │ │ + [105, "login"] │ │ │ │ │ ], │ │ │ │ │ - "Inheriting timeouts from the device configuration": [ │ │ │ │ │ - [106, "inheriting-timeouts-from-the-device-configuration"] │ │ │ │ │ + "stdout": [ │ │ │ │ │ + [105, "stdout"] │ │ │ │ │ ], │ │ │ │ │ - "Individual action overrides": [ │ │ │ │ │ - [106, "individual-action-overrides"] │ │ │ │ │ + "Worked example of migrating a known device": [ │ │ │ │ │ + [70, "worked-example-of-migrating-a-known-device"] │ │ │ │ │ ], │ │ │ │ │ - "Individual connection overrides": [ │ │ │ │ │ - [106, "individual-connection-overrides"] │ │ │ │ │ + "Writing a device configuration in YAML": [ │ │ │ │ │ + [70, "writing-a-device-configuration-in-yaml"] │ │ │ │ │ ], │ │ │ │ │ - "Action block overrides": [ │ │ │ │ │ - [106, "action-block-overrides"] │ │ │ │ │ + "Migrating a mustang": [ │ │ │ │ │ + [70, "migrating-a-mustang"] │ │ │ │ │ ], │ │ │ │ │ - "Skipping a test shell timeout": [ │ │ │ │ │ - [106, "skipping-a-test-shell-timeout"] │ │ │ │ │ + "Complete device YAML": [ │ │ │ │ │ + [70, "complete-device-yaml"] │ │ │ │ │ + ], │ │ │ │ │ + "Writing a job submission in YAML": [ │ │ │ │ │ + [70, "writing-a-job-submission-in-yaml"] │ │ │ │ │ + ], │ │ │ │ │ + "Migrating a job for the mustang": [ │ │ │ │ │ + [70, "migrating-a-job-for-the-mustang"] │ │ │ │ │ + ], │ │ │ │ │ + "Identifying the elements of the job": [ │ │ │ │ │ + [70, "identifying-the-elements-of-the-job"] │ │ │ │ │ + ], │ │ │ │ │ + "Complete YAML submission": [ │ │ │ │ │ + [70, "complete-yaml-submission"] │ │ │ │ │ + ], │ │ │ │ │ + "Writing a device type template": [ │ │ │ │ │ + [70, "writing-a-device-type-template"] │ │ │ │ │ + ], │ │ │ │ │ + "Starting a new device type template": [ │ │ │ │ │ + [70, "starting-a-new-device-type-template"] │ │ │ │ │ + ], │ │ │ │ │ + "Completed mustang template": [ │ │ │ │ │ + [70, "completed-mustang-template"] │ │ │ │ │ + ], │ │ │ │ │ + "Creating a device dictionary for the device": [ │ │ │ │ │ + [70, "creating-a-device-dictionary-for-the-device"], │ │ │ │ │ + [79, "creating-a-device-dictionary-for-the-device"] │ │ │ │ │ + ], │ │ │ │ │ + "Testing the template and dictionary": [ │ │ │ │ │ + [70, "testing-the-template-and-dictionary"] │ │ │ │ │ + ], │ │ │ │ │ + "Adapting the base commands to the device type": [ │ │ │ │ │ + [70, "adapting-the-base-commands-to-the-device-type"] │ │ │ │ │ + ], │ │ │ │ │ + "Completing the migration": [ │ │ │ │ │ + [70, "completing-the-migration"] │ │ │ │ │ + ], │ │ │ │ │ + "Packaging lava-server for distributions": [ │ │ │ │ │ + [77, "packaging-lava-server-for-distributions"] │ │ │ │ │ + ], │ │ │ │ │ + "Apache distribution support": [ │ │ │ │ │ + [77, "apache-distribution-support"] │ │ │ │ │ + ], │ │ │ │ │ + "Instance name": [ │ │ │ │ │ + [77, "instance-name"] │ │ │ │ │ + ], │ │ │ │ │ + "LAVA Components": [ │ │ │ │ │ + [77, "lava-components"] │ │ │ │ │ + ], │ │ │ │ │ + "Package dependencies": [ │ │ │ │ │ + [77, "package-dependencies"] │ │ │ │ │ + ], │ │ │ │ │ + "Daemon renaming": [ │ │ │ │ │ + [77, "daemon-renaming"] │ │ │ │ │ + ], │ │ │ │ │ + "MultiNode LAVA": [ │ │ │ │ │ + [73, "multinode-lava"] │ │ │ │ │ + ], │ │ │ │ │ + "Using LAVA MultiNode synchronization": [ │ │ │ │ │ + [73, "using-lava-multinode-synchronization"] │ │ │ │ │ + ], │ │ │ │ │ + "MultiNode Results": [ │ │ │ │ │ + [73, "multinode-results"] │ │ │ │ │ + ], │ │ │ │ │ + "LAVA MultiNode timeout behavior": [ │ │ │ │ │ + [73, "lava-multinode-timeout-behavior"] │ │ │ │ │ + ], │ │ │ │ │ + "Recommendations on timeouts for MultiNode": [ │ │ │ │ │ + [73, "recommendations-on-timeouts-for-multinode"] │ │ │ │ │ + ], │ │ │ │ │ + "Running a server on the device-under-test": [ │ │ │ │ │ + [73, "running-a-server-on-the-device-under-test"] │ │ │ │ │ + ], │ │ │ │ │ + "Making use of third party servers": [ │ │ │ │ │ + [73, "making-use-of-third-party-servers"] │ │ │ │ │ + ], │ │ │ │ │ + "Using wrapper scripts": [ │ │ │ │ │ + [73, "using-wrapper-scripts"] │ │ │ │ │ + ], │ │ │ │ │ + "Naming conventions and LAVA architecture": [ │ │ │ │ │ + [75, "naming-conventions-and-lava-architecture"] │ │ │ │ │ + ], │ │ │ │ │ + "Continuous Integration": [ │ │ │ │ │ + [67, "continuous-integration"] │ │ │ │ │ + ], │ │ │ │ │ + "Summary of CI best practices": [ │ │ │ │ │ + [67, "summary-of-ci-best-practices"] │ │ │ │ │ + ], │ │ │ │ │ + "LAVA and CI": [ │ │ │ │ │ + [67, "lava-and-ci"] │ │ │ │ │ + ], │ │ │ │ │ + "Automation & CI": [ │ │ │ │ │ + [67, "automation-ci"] │ │ │ │ │ + ], │ │ │ │ │ + "How does this affect testing with LAVA?": [ │ │ │ │ │ + [67, "how-does-this-affect-testing-with-lava"] │ │ │ │ │ + ], │ │ │ │ │ + "LAVA job failures, errors, comments and tags": [ │ │ │ │ │ + [65, "lava-job-failures-errors-comments-and-tags"] │ │ │ │ │ + ], │ │ │ │ │ + "Dispatcher error or test failure": [ │ │ │ │ │ + [65, "dispatcher-error-or-test-failure"] │ │ │ │ │ + ], │ │ │ │ │ + "Job failure tags": [ │ │ │ │ │ + [65, "job-failure-tags"] │ │ │ │ │ + ], │ │ │ │ │ + "Job failure comment": [ │ │ │ │ │ + [65, "job-failure-comment"] │ │ │ │ │ + ], │ │ │ │ │ + "LAVA Failure messages": [ │ │ │ │ │ + [65, "lava-failure-messages"] │ │ │ │ │ + ], │ │ │ │ │ + "Missing methods": [ │ │ │ │ │ + [65, "missing-methods"] │ │ │ │ │ + ], │ │ │ │ │ + "Python traceback messages": [ │ │ │ │ │ + [65, "python-traceback-messages"] │ │ │ │ │ + ], │ │ │ │ │ + "Commenting on or tagging a job failure": [ │ │ │ │ │ + [65, "commenting-on-or-tagging-a-job-failure"] │ │ │ │ │ + ], │ │ │ │ │ + "Viewing reports of job failures": [ │ │ │ │ │ + [65, "viewing-reports-of-job-failures"] │ │ │ │ │ + ], │ │ │ │ │ + "Unreported test failures": [ │ │ │ │ │ + [65, "unreported-test-failures"] │ │ │ │ │ + ], │ │ │ │ │ + "MultiNode API": [ │ │ │ │ │ + [74, "multinode-api"] │ │ │ │ │ + ], │ │ │ │ │ + "Guidance in using the API": [ │ │ │ │ │ + [74, "guidance-in-using-the-api"] │ │ │ │ │ + ], │ │ │ │ │ + "lava-self": [ │ │ │ │ │ + [74, "lava-self"] │ │ │ │ │ + ], │ │ │ │ │ + "Usage:": [ │ │ │ │ │ + [74, "usage"], │ │ │ │ │ + [74, "id4"], │ │ │ │ │ + [74, "id5"], │ │ │ │ │ + [74, "id7"], │ │ │ │ │ + [74, "id8"], │ │ │ │ │ + [74, "id10"], │ │ │ │ │ + [74, "id12"], │ │ │ │ │ + [74, "id15"] │ │ │ │ │ + ], │ │ │ │ │ + "lava-role": [ │ │ │ │ │ + [74, "lava-role"] │ │ │ │ │ + ], │ │ │ │ │ + "lava-group": [ │ │ │ │ │ + [74, "lava-group"] │ │ │ │ │ + ], │ │ │ │ │ + "lava-send": [ │ │ │ │ │ + [74, "lava-send"] │ │ │ │ │ + ], │ │ │ │ │ + "lava-wait": [ │ │ │ │ │ + [74, "lava-wait"] │ │ │ │ │ + ], │ │ │ │ │ + "lava-wait-all": [ │ │ │ │ │ + [74, "lava-wait-all"] │ │ │ │ │ + ], │ │ │ │ │ + "lava-wait-all ": [ │ │ │ │ │ + [74, "lava-wait-all-message-id"] │ │ │ │ │ + ], │ │ │ │ │ + "lava-wait-all ": [ │ │ │ │ │ + [74, "lava-wait-all-message-id-role"] │ │ │ │ │ + ], │ │ │ │ │ + "lava-sync": [ │ │ │ │ │ + [74, "lava-sync"] │ │ │ │ │ + ], │ │ │ │ │ + "Example 1: Simple client-server MultiNode test": [ │ │ │ │ │ + [74, "example-1-simple-client-server-multinode-test"] │ │ │ │ │ + ], │ │ │ │ │ + "Example 2: iperf client-server test": [ │ │ │ │ │ + [74, "example-2-iperf-client-server-test"] │ │ │ │ │ + ], │ │ │ │ │ + "Example 3: variable number of clients": [ │ │ │ │ │ + [74, "example-3-variable-number-of-clients"] │ │ │ │ │ + ], │ │ │ │ │ + "Example 4: peer-to-peer application": [ │ │ │ │ │ + [74, "example-4-peer-to-peer-application"] │ │ │ │ │ + ], │ │ │ │ │ + "Using a flow table to plan the job": [ │ │ │ │ │ + [74, "using-a-flow-table-to-plan-the-job"] │ │ │ │ │ + ], │ │ │ │ │ + "Migrating to LAVA V2": [ │ │ │ │ │ + [71, "migrating-to-lava-v2"] │ │ │ │ │ + ], │ │ │ │ │ + "Basics": [ │ │ │ │ │ + [71, "basics"] │ │ │ │ │ + ], │ │ │ │ │ + "Specific information and guides": [ │ │ │ │ │ + [71, "specific-information-and-guides"] │ │ │ │ │ + ], │ │ │ │ │ + "Test Writers": [ │ │ │ │ │ + [71, "test-writers"] │ │ │ │ │ + ], │ │ │ │ │ + "Administrators": [ │ │ │ │ │ + [71, "administrators"] │ │ │ │ │ + ], │ │ │ │ │ + "Understanding test job objectives": [ │ │ │ │ │ + [71, "understanding-test-job-objectives"] │ │ │ │ │ + ], │ │ │ │ │ + "Pipeline support": [ │ │ │ │ │ + [71, "pipeline-support"] │ │ │ │ │ + ], │ │ │ │ │ + "Viewing the available support": [ │ │ │ │ │ + [71, "viewing-the-available-support"] │ │ │ │ │ + ], │ │ │ │ │ + "Deployments": [ │ │ │ │ │ + [71, "deployments"] │ │ │ │ │ + ], │ │ │ │ │ + "Protocol support": [ │ │ │ │ │ + [71, "protocol-support"] │ │ │ │ │ + ], │ │ │ │ │ + "Other Topics": [ │ │ │ │ │ + [76, "other-topics"] │ │ │ │ │ + ], │ │ │ │ │ + "Lava-Test Test Definition 1.0": [ │ │ │ │ │ + [68, "lava-test-test-definition-1-0"] │ │ │ │ │ + ], │ │ │ │ │ + "Quick start to Test Definition 1.0": [ │ │ │ │ │ + [68, "quick-start-to-test-definition-1-0"] │ │ │ │ │ + ], │ │ │ │ │ + "Versioned test definitions": [ │ │ │ │ │ + [68, "versioned-test-definitions"] │ │ │ │ │ + ], │ │ │ │ │ + "How a lava test shell is run": [ │ │ │ │ │ + [68, "how-a-lava-test-shell-is-run"] │ │ │ │ │ + ], │ │ │ │ │ + "Writing a test for lava-test-shell": [ │ │ │ │ │ + [68, "writing-a-test-for-lava-test-shell"] │ │ │ │ │ + ], │ │ │ │ │ + "lava-test-case": [ │ │ │ │ │ + [68, "lava-test-case"] │ │ │ │ │ + ], │ │ │ │ │ + "Specifying results directly": [ │ │ │ │ │ + [68, "specifying-results-directly"] │ │ │ │ │ + ], │ │ │ │ │ + "Using the exit status of a command": [ │ │ │ │ │ + [68, "using-the-exit-status-of-a-command"] │ │ │ │ │ + ], │ │ │ │ │ + "Using parameters in the job to update the definition": [ │ │ │ │ │ + [68, "using-parameters-in-the-job-to-update-the-definition"] │ │ │ │ │ + ], │ │ │ │ │ + "lava-background-process-start": [ │ │ │ │ │ + [68, "lava-background-process-start"] │ │ │ │ │ + ], │ │ │ │ │ + "lava-background-process-stop": [ │ │ │ │ │ + [68, "lava-background-process-stop"] │ │ │ │ │ + ], │ │ │ │ │ + "Handling test attachments": [ │ │ │ │ │ + [68, "handling-test-attachments"] │ │ │ │ │ + ], │ │ │ │ │ + "Deprecated elements": [ │ │ │ │ │ + [68, "deprecated-elements"] │ │ │ │ │ + ], │ │ │ │ │ + "Handling Dependencies (Debian)": [ │ │ │ │ │ + [68, "handling-dependencies-debian"] │ │ │ │ │ + ], │ │ │ │ │ + "Adding Git Repositories": [ │ │ │ │ │ + [68, "adding-git-repositories"] │ │ │ │ │ + ], │ │ │ │ │ + "git-repos": [ │ │ │ │ │ + [68, "git-repos"] │ │ │ │ │ + ], │ │ │ │ │ + "Install Steps": [ │ │ │ │ │ + [68, "install-steps"] │ │ │ │ │ + ], │ │ │ │ │ + "Parse patterns": [ │ │ │ │ │ + [68, "parse-patterns"] │ │ │ │ │ + ], │ │ │ │ │ + "lavacli": [ │ │ │ │ │ + [69, "lavacli"] │ │ │ │ │ + ], │ │ │ │ │ + "Installing lavacli": [ │ │ │ │ │ + [69, "installing-lavacli"] │ │ │ │ │ + ], │ │ │ │ │ + "Using lavacli": [ │ │ │ │ │ + [69, "using-lavacli"], │ │ │ │ │ + [79, "using-lavacli"] │ │ │ │ │ + ], │ │ │ │ │ + "Writing a monitors test action": [ │ │ │ │ │ + [72, "writing-a-monitors-test-action"] │ │ │ │ │ + ], │ │ │ │ │ + "Restrictions": [ │ │ │ │ │ + [72, "restrictions"] │ │ │ │ │ + ], │ │ │ │ │ + "Example test monitors job": [ │ │ │ │ │ + [72, "example-test-monitors-job"] │ │ │ │ │ + ], │ │ │ │ │ + "PDUDaemon": [ │ │ │ │ │ + [78, "pdudaemon"] │ │ │ │ │ + ], │ │ │ │ │ + "Understanding the Pipeline - an administrator guide": [ │ │ │ │ │ + [79, "understanding-the-pipeline-an-administrator-guide"] │ │ │ │ │ + ], │ │ │ │ │ + "Device type templates": [ │ │ │ │ │ + [79, "device-type-templates"] │ │ │ │ │ + ], │ │ │ │ │ + "Checking your templates": [ │ │ │ │ │ + [79, "checking-your-templates"] │ │ │ │ │ + ], │ │ │ │ │ + "Finding your way around the files": [ │ │ │ │ │ + [79, "finding-your-way-around-the-files"] │ │ │ │ │ + ], │ │ │ │ │ + "Information sources": [ │ │ │ │ │ + [79, "information-sources"] │ │ │ │ │ + ], │ │ │ │ │ + "The functional tests repository": [ │ │ │ │ │ + [79, "the-functional-tests-repository"] │ │ │ │ │ + ], │ │ │ │ │ + "The lava-server unit test support": [ │ │ │ │ │ + [79, "the-lava-server-unit-test-support"] │ │ │ │ │ + ], │ │ │ │ │ + "Extra device configuration": [ │ │ │ │ │ + [79, "extra-device-configuration"] │ │ │ │ │ + ], │ │ │ │ │ + "Providing permanent IPv4 addresses": [ │ │ │ │ │ + [79, "providing-permanent-ipv4-addresses"] │ │ │ │ │ + ], │ │ │ │ │ + "Providing temporary filesystem storage": [ │ │ │ │ │ + [79, "providing-temporary-filesystem-storage"] │ │ │ │ │ + ], │ │ │ │ │ + "Extra dispatcher configuration": [ │ │ │ │ │ + [79, "extra-dispatcher-configuration"] │ │ │ │ │ + ], │ │ │ │ │ + "Per dispatcher environment settings": [ │ │ │ │ │ + [79, "per-dispatcher-environment-settings"] │ │ │ │ │ + ], │ │ │ │ │ + "Requirements for a LAVA device": [ │ │ │ │ │ + [79, "requirements-for-a-lava-device"] │ │ │ │ │ + ], │ │ │ │ │ + "Adding support for a device of a known type": [ │ │ │ │ │ + [79, "adding-support-for-a-device-of-a-known-type"] │ │ │ │ │ + ], │ │ │ │ │ + "Obtaining configuration of a known device": [ │ │ │ │ │ + [79, "obtaining-configuration-of-a-known-device"] │ │ │ │ │ + ], │ │ │ │ │ + "Creating a new device entry for a known device type": [ │ │ │ │ │ + [79, "creating-a-new-device-entry-for-a-known-device-type"] │ │ │ │ │ + ], │ │ │ │ │ + "Based upon an existing device": [ │ │ │ │ │ + [79, "based-upon-an-existing-device"] │ │ │ │ │ + ], │ │ │ │ │ + "Viewing current device dictionary content": [ │ │ │ │ │ + [79, "viewing-current-device-dictionary-content"] │ │ │ │ │ + ], │ │ │ │ │ + "Updating a device dictionary": [ │ │ │ │ │ + [79, "updating-a-device-dictionary"] │ │ │ │ │ + ], │ │ │ │ │ + "Using the command line": [ │ │ │ │ │ + [79, "using-the-command-line"] │ │ │ │ │ + ], │ │ │ │ │ + "Using XML-RPC": [ │ │ │ │ │ + [79, "using-xml-rpc"] │ │ │ │ │ + ], │ │ │ │ │ + "Device type information in LAVA Scheduler": [ │ │ │ │ │ + [64, "device-type-information-in-lava-scheduler"] │ │ │ │ │ + ], │ │ │ │ │ + "Static device-type information": [ │ │ │ │ │ + [64, "static-device-type-information"] │ │ │ │ │ + ], │ │ │ │ │ + "Device type template": [ │ │ │ │ │ + [64, "device-type-template"] │ │ │ │ │ + ], │ │ │ │ │ + "Dynamic device-type information": [ │ │ │ │ │ + [64, "dynamic-device-type-information"] │ │ │ │ │ + ], │ │ │ │ │ + "Device-type metadata": [ │ │ │ │ │ + [64, "device-type-metadata"] │ │ │ │ │ + ], │ │ │ │ │ + "Health Job Summary": [ │ │ │ │ │ + [64, "health-job-summary"] │ │ │ │ │ + ], │ │ │ │ │ + "Devices Overview": [ │ │ │ │ │ + [64, "devices-overview"] │ │ │ │ │ + ], │ │ │ │ │ + "Jobs for devices of this type": [ │ │ │ │ │ + [64, "jobs-for-devices-of-this-type"] │ │ │ │ │ + ], │ │ │ │ │ + "Job submission failure help": [ │ │ │ │ │ + [66, "job-submission-failure-help"] │ │ │ │ │ + ], │ │ │ │ │ + "Device type X is not available": [ │ │ │ │ │ + [66, "device-type-x-is-not-available"] │ │ │ │ │ + ], │ │ │ │ │ + "No devices of type X are currently available to user Y": [ │ │ │ │ │ + [66, "no-devices-of-type-x-are-currently-available-to-user-y"] │ │ │ │ │ ] │ │ │ │ │ }, │ │ │ │ │ "indexentries": { │ │ │ │ │ "auto login": [ │ │ │ │ │ [0, "index-0"] │ │ │ │ │ ], │ │ │ │ │ "auto login login commands": [