diff --git a/device-connectors/README.rst b/device-connectors/README.rst index 4411a6b0..e1bc4966 100644 --- a/device-connectors/README.rst +++ b/device-connectors/README.rst @@ -24,8 +24,6 @@ testing on other types of devices. - noprovision - devices which need to run tests, but can't be provisioned (yet) - oemrecovery - anything (such as core fde images) that can't be provisioned but can run a set of commands to recover back to the initial state - oemscript - uses a script that supports some oem images and allows injection of an iso to the recovery partition to install that image -- zapper-iot - IoT devices which require a Zapper for HW manipulation and OEM-specific actions to get provisioned (UUU, seed-override, ...) -- zapper-kvm - this connector makes use of Zapper KVM capabilities to install multiple types of Ubuntu images (vanilla, oem, ...). Exit Status diff --git a/device-connectors/src/testflinger_device_connectors/devices/zapper_kvm/README.md b/device-connectors/src/testflinger_device_connectors/devices/zapper_kvm/README.md deleted file mode 100644 index 238fa1ed..00000000 --- a/device-connectors/src/testflinger_device_connectors/devices/zapper_kvm/README.md +++ /dev/null @@ -1,56 +0,0 @@ -# Zapper KVM - -Zapper-driven provisioning method that makes use of KVM assertions and actions. - - -## Autoinstall based - -Support for vanilla Ubuntu is provided by [autoinstall](https://canonical-subiquity.readthedocs-hosted.com/en/latest/intro-to-autoinstall.html). Supported Ubuntu versions are: - -- Desktop >= 23.04 -- Server >= 20.04 -- UC24 (experimental) - -Unless specified via _autoinstall_ storage filter, the tool will select the largest storage device on the DUT. See [supported layouts](https://canonical-subiquity.readthedocs-hosted.com/en/latest/reference/autoinstall-reference.html#supported-layouts) for more information. - -### Job parameters - -- __url__: URL to the image to install -- __username__: username to configure -- __password__: password to configure -- __storage_layout__: can be either `lvm`, `direct`, `zfs` or `hybrid` (Desktop 23.10+, UC24) -- __robot_tasks__: list of Zapper Robot tasks to run after a hard reset in order to follow the `autoinstall` installation -- __cmdline_append__ (optional): kernel parameters to append at the end of GRUB entry cmdline -- __base_user_data__ (optional): a string containing base64 encoded autoinstall user-data to use as base for provisioning, it should be validated against [this schema](https://canonical-subiquity.readthedocs-hosted.com/en/latest/reference/autoinstall-schema.html) -- __autoinstall_oem__: (optional): set to "true" to install OEM meta-packages and the reset partition (Desktop 24.04+) -- __ubuntu_sso_email__: (optional): a valid Ubuntu SSO email to which the DUT provisioned with a non-dangerous grade UC image will be linked - -## Ubuntu Desktop 22.04 OEM - -Ubuntu OEM 22.04 is a two step process: - -1. Install using Zapper automations the `alloem` image which creates the reset partition on DUT and installs Ubuntu Jammy -2. If URL is provided, run the OEM script to install an updated image on top of (1) - -The tool will select the storage device with the following priority: - -1. RAID -2. NVME -3. SATA - -### Job parameters - -- __alloem_url__: URL to the `alloem` image -- __url__ (optional): URL to the image to test, will be installed via the OEM script -- __password__: password to configure -- __robot_tasks__: list of Zapper Robot tasks to run after a hard reset in order to follow the `alloem` installation - -## Live ISO - -Support for live ISOs is simply performed booting from an external storage device and returning right after KVM interactions. - -### Job parameters - -- __live_image__: Set to "true" to ensure that the Zapper considers the provision process complete at the end of KVM interactions defined by the specified `robot_tasks`, without needing to unplug the external media. -- __wait_until_ssh__: If set to "false", the Zapper will skip the SSH connection attempt, which is normally performed at the end of provisioning as a form of boot assertion. This is primarily useful in cases where the live ISO does not include an SSH server. - diff --git a/docs/reference/device-connector-conf.rst b/docs/reference/device-connector-conf.rst index abd9c7c3..479534d8 100644 --- a/docs/reference/device-connector-conf.rst +++ b/docs/reference/device-connector-conf.rst @@ -68,7 +68,7 @@ The configuration options listed below are available for all device connectors u - muxpi - List of commands that must be executed on the test device after provisioning, with the test image mounted, for doing device-specific configuration * - ``control_host`` - - cm3, muxpi, zapper_* + - cm3, muxpi - IP of the sidecar device or “controller” that can be used to assist with provisioning. This device should already be configured for ssh using a key on the agent host. * - ``control_user`` - cm3, muxpi diff --git a/docs/reference/device-connector-types.rst b/docs/reference/device-connector-types.rst index 31be3ccd..45af5dd1 100644 --- a/docs/reference/device-connector-types.rst +++ b/docs/reference/device-connector-types.rst @@ -34,10 +34,6 @@ To specify the commands to run by the device in each test phase, set the ``testf - This device connector is used for HP OEM devices running certain versions of OEM supported images that can use a recovery partition to recover not only the same image, but in some cases, other OEM image versions as well. * - ``oem_autoinstall`` - This device connector is used for OEM PC platforms starting from Ubuntu 24.04. It executes provision-image.sh script and consumes autoinstall configuration files to complete the installation. - * - ``zapper_iot`` - - This device connector is used for provisioning ubuntu-core to ARM IoT devices. It could be provision by set device to download mode or override seed partition and do recovery. - * - ``zapper_kvm`` - - This device connector makes use of Zapper KVM capabilities to install multiple types of Ubuntu images (vanilla, OEM, ...). .. _cm3: @@ -135,7 +131,7 @@ The ``muxpi`` device connector supports the following ``provision_data`` keys: for deploying an image to the SD card. * - ``media`` - Optional parameter to indicate on which boot media the disk image should - be programmed (using zapper commands). Supported values are ``usb`` or + be programmed. Supported values are ``usb`` or ``sd`` * - ``create_user`` - Boolean (default ``true``) specifying whether a user account should be created. @@ -380,78 +376,3 @@ on this topic bootcmd: # bootcmd of autoinstall - ['plymouth', 'display-message', '--text', 'Starting installer...'] - -.. _zapper_kvm: - -zapper_kvm ------------- - -The ``zapper_kvm`` device connector, depending on the target image, supports the following ``provision_data`` keys: - -.. list-table:: Supported ``provision_data`` keys for ``zapper_kvm`` with target autoinstall-driven provisioning - :header-rows: 1 - - * - Key - - Description - * - ``url`` - - URL to a disk image that is downloaded and flashed to a USB storage device, - which will be used to boot up the DUT. - * - ``robot_tasks`` - - List of Zapper/Robot snippets to run in sequence after the USB storage device - is plugged into the DUT and the system restarted. The snippet ID is the relative - path from the ``robot/snippets`` path in the Zapper repository. - * - ``autoinstall_storage_layout`` - - When provisioning an image supporting *autoinstall*, the storage_layout can - be either ``lvm`` (default), ``direct``, ``zfs`` or ``hybrid`` (Desktop 23.10+, UC24) - * - ``cmdline_append`` - - (Optional) When provisioning an image supporting *autoinstall*, the cmdline_append can - be used to append Kernel parameters to the standard GRUB entry. - * - ``autoinstall_base_user_data`` - - (Optional) A string containing base64 encoded user-data to use as base for autoinstall-driven provisioning. - For more information, see - `Autoinstall Reference `_. - on this topic - * - ``autoinstall_oem``: - - (Optional) Set to "true" to install OEM meta-packages and the reset partition (Desktop 24.04+). - * - ``ubuntu_sso_email``: - - (Optional) A valid Ubuntu SSO email to which the DUT provisioned with a non-dangerous grade UC image will be linked (UC24). Please make sure to provide the corresponding *username* in the *test_data.test_username* field. - * - ``zapper_provisioning_timeout``: - - (Optional) The overall timeout for the provisioning stage (in seconds). Default is 5400 (90 minutes). - - -.. list-table:: Supported ``provision_data`` keys for ``zapper_kvm`` with target Ubuntu OEM 22.04 - :header-rows: 1 - - * - Key - - Description - * - ``alloem_url`` - - URL to the ``alloem`` disk image that is downloaded and flashed to a USB storage device, - which will be used to boot up the DUT. It restores the OEM reset partition and installs - a base Ubuntu OEM 22.04 image. - * - ``robot_tasks`` - - List of Zapper/Robot snippets to run in sequence after the USB storage device - is plugged into the DUT and the system restarted. The snippet ID is the relative - path from the ``robot/snippets`` path in the Zapper repository. - * - ``url`` - - Optional URL to a disk image given as input to the ``oemscript`` to install on top of - the base OEM provisioning. - * - ``oem`` - - Optional value to select the ``oemscript`` to run when specifying a ``url``, possible values - are ``dell``, ``hp`` and ``lenovo``. - -.. list-table:: Supported ``provision_data`` keys for ``zapper_kvm`` with target any generic live ISOs - :header-rows: 1 - - * - Key - - Description - * - ``url`` - - URL to a disk image that is downloaded and flashed to a USB storage device, - which the DUT will then boot from. - * - ``robot_tasks`` - - List of Robot snippets to run in sequence after the USB storage device - is plugged into the DUT and the system restarted. The snippet ID is the relative - path from the ``robot/snippets`` path in the Zapper repository. - * - ``live_image`` - - Set to "true" to ensure that the Zapper considers the provision process complete at the end of KVM interactions defined by the specified `robot_tasks`, without needing to unplug the external media. - * - ``wait_until_ssh`` - - If set to "false", the Zapper will skip the SSH connection attempt, which is normally performed at the end of provisioning as a form of boot assertion. This is primarily useful in cases where the live ISO does not include an SSH server.