GitHub

Supported variables per backend

COMMON backend

Variable Values allowed Default value Explanation
CASEDIR string Absolute or relative path to the test distribution. Specifying the variable is mandatory. Can also be a Git repository URL of a test distribution to check out with an optional refspec or Git commit hash into the current directory. It tries to follow the definition of https://docs.npmjs.com/cli/v7/configuring-npm/package-json#git-urls-as-dependencies (e.g. https://github.com/os-autoinst/os-autoinst-distri-opensuse.git#feature/test or git@github.com:os-autoinst/os-autoinst-distri-opensuse.git). Note that cloning via SSH is only possible if Git is configured accordingly on the host where isotovideo is executed. Can be combined with TEST_GIT_REFSPEC and NEEDLES_GIT_REFSPEC. Relative paths are considered relative to the working directory of isotovideo.
PRODUCTDIR string Absolute or relative path to the optional "product directory" which includes the test schedule entry point main.pm as well as a needles subdirectory with the needles to load. Defaults to CASEDIR with a fallback to CASEDIR/products/DISTRI as this is also a very common location. Relative paths are considered relative to CASEDIR.
NEEDLES_DIR string Absolute or relative path to the needles subdirectory. Defaults to needles within PRODUCTDIR. Can also be a Git repository URL, comparable to CASEDIR. Relative paths are considered relative to the working directory of isotovideo.
WHEELS_DIR string Absolute or relative path to the directory wheels are stored in if CASEDIR contains a wheels.yaml. Defaults to the working directory of isotovideo. Relative paths are considered relative to the working directory of isotovideo.
INCLUDE_MODULES string comma separated names or fullnames of test modules to be included while excluding all that do not match, e.g. "boot,mod1"
EXCLUDE_MODULES string comma separated names or fullnames of test modules to exclude. Can be combined with INCLUDE_MODULES and has precedence, e.g. to additionally exclude modules based on an include-list
EXIT_AFTER_MODULE string name or fullname of test module after which the schedule will stop
SCHEDULE string comma, space or newline separated list of relative paths to test modules within CASEDIR to be scheduled instead of evaluating a schedule from the test distributions main.pm file, e.g. "boot,console/mod1". Test modules can be specified without the implicit file extension '.pm'.
_EXIT_AFTER_SCHEDULE boolean 0 Exit test execution immediately after evaluation of the test schedule, e.g. to check only which test modules would be executed
_SKIP_POST_FAIL_HOOKS boolean 0 Skip the execution of post_fail_hook methods if set. This can be useful to save test execution time during test development when the post_fail_hook is not expected to provide any value as most likely the test developer already knows what needs to be done as a next step on a test fail.
TEST_GIT_REFSPEC string git refspec to check out within CASEDIR when CASEDIR is a git working copy. By default, does not change the content of CASEDIR. Overrides the optional git refspec in CASEDIR. Can be used to explicitly select a git commit within an existing git working copy and also to skip unnecessary git network transfers when CASEDIR is already providing the right git working copy.
NEEDLES_GIT_REFSPEC string git refspec to check out within NEEDLES_DIR. See TEST_GIT_REFSPEC for details.
EXTERNAL_VIDEO_ENCODER_CMD string Specifies the command line for invoking a custom video encoder. It is supposed to accept a sequence of PPM images via stdin. The placeholder %OUTPUT_FILE_NAME% is replaced with the output file path. The output file path is appended if the placeholder is missing. Examples: ffmpeg -y -hide_banner -nostats -r 24 -f image2pipe -vcodec ppm -i - -pix_fmt yuv420p -c:v libvpx-vp9 -crf 35 -b:v 1500k -cpu-used 1, podman run --rm --workdir /pool -i -v .:/pool ghcr.io/tamara-schmitz/ffmpeg-docker-container-free -y -hide_banner -nostats -r 24 -f image2pipe -vcodec ppm -i - -pix_fmt yuv420p -c:v libsvtav1 -preset 10 -crf 35 -b:v 0
EXTERNAL_VIDEO_ENCODER_OUTPUT_FILE_EXTENSION string webm The extension of the output file when EXTERNAL_VIDEO_ENCODER_CMD is used.
EXTERNAL_VIDEO_ENCODER_ADDITIONALLY boolean 0 Whether EXTERNAL_VIDEO_ENCODER_CMD should only be invoked additionally to the built-in Theora encoder. This means two videos will be created and uploaded which can be useful for comparison. (Configuring an external video encoder disables the built-in one by default.)
NOVIDEO boolean 0 Whether the creation of the video should be disabled and also any EXTERNAL_VIDEO_ENCODER_ variables be ignored.
NO_DEBUG_IO boolean 0 Disable the I/O debug output in case of needle comparison times longer than expected
OSUTILS_WAIT_ATTEMPT_INTERVAL float 1 The interval in seconds between "attempts" in osutils, e.g. used for connections to qemu qmp backend
SCREENSHOTINTERVAL float 0.5 The interval in seconds at which screenshots are taken internally
STALL_DETECT_FACTOR float 20 Report test execution as stalled if console screen check interval takes longer than SCREENSHOTINTERVAL multiplied with this factor
NEEDLE_CHECK_FACTOR float 20 Report warning if screen check interval takes longer than SCREENSHOTINTERVAL multiplied with this factor
SSH_COMMAND_TIMEOUT_S integer 300 Timeout in seconds for any SSH based command in SSH based consoles, disabled for a value of 0. It can be overriden by particular run_ssh_cmd() calls. Check out the documentation of this function for details.
SSH_CONNECT_RETRY integer 5 Maximum retries to connect to SSH based console targets
SSH_CONNECT_RETRY_INTERVAL float 10 Interval in seconds between retries to connect to SSH based console targets. Related to SSH_CONNECT_RETRY
VNC_STALL_THRESHOLD integer 4 Time after which is VNC considered stalled
VNC_TYPING_LIMIT integer 30 Maximum number of keys per second
VNC_CONNECT_TIMEOUT_LOCAL integer 10 Timeout for local VNC connections in seconds
VNC_CONNECT_TIMEOUT_REMOTE integer 60 Timeout for remote VNC connections in seconds
_CHKSEL_RATE_WAIT_TIME integer 30 The amount of time isotovideo is going to wait for the VNC console to become responsive
_CHKSEL_RATE_HITS integer 15000 The amount of times, the select should return the same fileno during the _CHKSEL_RATE_WAIT_TIME seconds, to consider the VNC console unresponsive
TIMEOUT_SCALE integer 1 This scale parameter can be used based on performance of workers to prevent false positive timeouts based on differing worker performance.
PAUSE_AT string Test module (name or fullname) to pause test execution at. To be used together with the openQA developer mode which also allows to continue test execution again. Note that this does not start a developer mode session. So you still need to confirm taking control over the test to access the developer mode controls.
PAUSE_ON_SCREEN_MISMATCH boolean 0 Pause test execution on the next screen mismatch. Same notes as for PAUSE_AT apply.
PAUSE_ON_NEXT_COMMAND boolean 0 Pause test execution on the next test API command. Same notes as for PAUSE_AT apply.
PAUSE_ON_FAILURE boolean 0 Pause test execution on a test failure (instead of invoking the post-fail hook and terminating). Same notes as for PAUSE_AT apply.
_QUIET_SCRIPT_CALLS boolean 0 Add quiet flag to all the calls to script_run, script_output and validate_script_output. It will omit all the squares "wait_serial expected" on the Details view of the test case. This option might be useful for serial terminal tests.
PRETTY_SERIAL_MARKER boolean 1 Enable "pretty" serial markers. When enabled, os-autoinst attempts to automatically detect SUT shell capabilities (like bash PROMPT_COMMAND and fc history) to forward command exit codes to serial without typing them visibly over VNC. Falls back to regular serial markers if no advanced shell features are detected. Implication: the detection installs a persistent PROMPT_COMMAND hook into the SUT's ~/.bashrc and ~/.profile, which then emits OA:DONE/OA:START markers to /dev/$SERIALDEV (i.e. serial0.txt) on every prompt of every shell that sources those files (including login/exec $SHELL/su and non-serial-terminal VNC consoles). Because the hook is persisted, it survives into later jobs booting the same qcow. To keep serial0.txt completely clean (e.g. for tests that parse it as a data channel or that run mostly via the virtio serial terminal where markers already appear in serial_terminal.txt), set PRETTY_SERIAL_MARKER=0 for the whole cluster, i.e. on both the parent job that creates the qcow image (so no hook is ever baked in) and all downstream jobs. Note that on the virtio serial terminal itself the hook is never installed; the residual serial0.txt markers in such tests originate from the VNC/tty consoles they still use. Disabling this mechanism does not disable the improved step details (see PRETTY_SERIAL_OUTPUT).
PRETTY_SERIAL_OUTPUT boolean 1 Enable "pretty" serial marker output in the openQA Web UI step details (hiding internal sync markers, displaying # Command: and # Exit code: or # PID:). Independent of PRETTY_SERIAL_MARKER's mechanism.
_WAIT_STILL_SCREEN_ON_HERE_DOC_INPUT float 0 If this value is greater then 0, it is used by wait_still_screen before starting to write the script into the here document used in testapi::script_output() function (see: poo#60566). By default this depends on the backend.
AUTOINST_URL_HOSTNAME string hostname or IP address of host running the autoinst webserver endpoint, defaults to the local IP address within the qemu network for the qemu backend or the WORKER_HOSTNAME otherwise.
UPLOAD_METER boolean 0 Display curl progress meter in upload_logs() and upload_assets() test API functions.
UPLOAD_MAX_MESSAGE_SIZE_GB integer 0 Specifies the max. upload size in GiB for the test API functions upload_logs() and upload_assets() and the underlying command server API. Zero denotes infinity.
UPLOAD_INACTIVITY_TIMEOUT integer 300 Specifies the inactivity timeout in seconds for the test API functions upload_logs() and upload_assets() and underlying the command server API.
NO_DEPRECATE_BACKEND_$backend boolean 0 Only warn about deprecated backends instead of aborting
LLM_FAILURE_ANALYSIS boolean 0 Enable LLM failure analysis
LLM_FAILURE_ANALYSIS_URL string http://localhost:8080/v1/chat/completions OpenAI-compatible API endpoint
LLM_FAILURE_ANALYSIS_MODEL string gemma-4-26B-A4B-it Model name sent in the API request
LLM_FAILURE_ANALYSIS_CMD string If set, run this CLI command instead of the HTTP API (prompt piped via stdin). For demo/one-off use.
XRES integer 1024 Resolution of display on x axis. Sets the resolution of the video encoder, and in qemu, the initial console resolution when OFW is set (Power and SPARC), and the EDID resolution for devices that support EDID
YRES integer 768 Resolution of display on y axis. Sets the resolution of the video encoder, and in qemu, the initial console resolution when OFW is set (Power and SPARC), and the EDID resolution for devices that support EDID
VIDEO_ENCODER_BLOCKING_PIPE boolean 0 Whether the pipe for writing data to the video encoder should be blocking or not. Making it blocking might allow following the live view in realtime despite large screenshot file sizes but it is not a well tested configuration
DEFAULT_CLICK_SLEEP float 0.15 Default single click time in seconds
DEFAULT_DCLICK_SLEEP float 0.10 Default double/triple click time in seconds (both press time and interval between clicks)
GIT_CACHE_DIR string If set enables locally caching Git repositories in the specified directory when handling Git URLs in variables like CASEDIR and wheels
ENABLE_MODERN_PERL_FEATURES boolean 0 Enables use of modern Perl features in test modules avoiding the need to use e.g. use Mojo::Base 'basetest', -signatures; in all test modules. This variable must be set before invoking autotest::loadtest. It only applies to the test modules themselves. It does not apply to e.g. main.pm and other Perl modules used via e.g. use some::module.
_HIDE_SECRETS_REGEX string If set, any test variables whose NAME (key) matches the specified regular expression, in addition to the default '^SECRET' and '_PASSWORD', are excluded from being saved into vars.json or further processing. For example, to hide all variables starting with 'SCC_REGCODE', use '^SCC_REGCODE'.
STORAGE_KEEP_FREE_RATIO float 0.2 Ratio of total storage space to keep free (e.g. 0.2 for 20%). If the total requested HDD size exceeds the available space while keeping this ratio of total storage size free, the job is aborted early with "incomplete" status. Set to 0 to disable this check. Automatically disabled in CI environments (if CI or GITHUB_ACTIONS is set in the environment).
STORAGE_KEEP_FREE_GB integer 50 Absolute free space threshold in GiB. If the total requested HDD size leaves less than this amount of free space, the job can only run if the relative check (STORAGE_KEEP_FREE_RATIO) is also satisfied. Set to 0 to disable the absolute threshold. Automatically disabled in CI environments (if CI or GITHUB_ACTIONS is set in the environment).
FAIL_ON_ALWAYS_ROLLBACK_NOT_SUPPORTED boolean 1 Fail explicitly if a test module is scheduled with the always_rollback flag but snapshots are not supported by the backend.

ZVM backend

Variable Values allowed Default value Explanation
ZVM_HOST string Sets the remote hostname.
ZVM_GUEST string Sets the remote username.
ZVM_PASSWORD string Sets the remote password.

SSH backend

Variable Values allowed Default value Explanation
_SSH_SERVER_ALIVE_COUNT_MAX integer 480 Sets the number of server alive messages which may be sent without receiving any messages back from the server. If this threshold is reached while server alive messages are being sent, ssh will disconnect from the server, terminating the session. The server alive mechanism is valuable when the client or server depend on knowing when a connection has become inactive.
_SSH_SERVER_ALIVE_INTERVAL integer 60 Sets a timeout interval in seconds after which if no data has been received from the server, client will send a message through the encrypted channel to request a response from the server.

IPMI backend

Variable Values allowed Default value Explanation
HARDWARE_CONSOLE_LOG boolean undef Enable direct log capture of sol console, disabled by default
IPMI_HOSTNAME string undef Hostname/IP for IPMI interface
IPMI_PASSWORD string undef Password for the IPMI interface
IPMI_USER string undef Username for the IPMI interface
IPMI_OPTIONS string -I lanplus Additional options for the IPMI interface
IPMI_DO_NOT_POWER_OFF boolean undef Don't power off the machine after test
IPMI_DO_NOT_RESTART_HOST boolean undef Don't restart the machine before test
IPMI_BACKEND_MC_RESET boolean undef Reset ipmi main board before test for sol console stability
IPMI_SKIP_SELFTEST boolean undef Don't perform BMC selftest
IPMI_HW string supermicro Hardware used for IPMI interface
IPMI_MC_RESET_MAX_TRIES integer 5 Maximum number of overall retries for mc reset
IPMI_MC_RESET_SLEEP_TIME_S integer 10 Time to sleep after sending mc reset command before trying to control IPMI
IPMI_MC_RESET_TIMEOUT integer 60 Counts to try to reach IPMI interface after mc reset
IPMI_MC_RESET_PING_COUNT integer 1 Ping counts that must be successful after mc reset
IPMI_MC_RESET_IPMI_TRIES integer 3 Maximum number of IPMI command tries that are conducted after mc reset
IPMI_SOL_PERSISTENT_CONSOLE boolean 1 Make SOL console persistent and don't reset it, enabled by default
IPMI_SOL_MAX_RECONNECTS integer 5 Maximum number of SOL reconnects on connection failure
IPMI_$_ Internal iterator variable
WORKER_HOSTNAME string undef Worker hostname

QEMU backend

Variable Values allowed Default value Explanation
ARCH x86_64|i686|aarch64|... depends on tested medium Architecture of VM.
APPEND string Kernel options to pass when using the KERNEL variable, see https://qemu-project.gitlab.io/qemu/system/linuxboot.html
ATACONTROLLER see qemu -device ?, e. g. for SATA: ich9-ahci Controller for ATA devices, needed for connecting disks as SATA.
BIOS string Set the filename for the BIOS. Relative paths are assumed to be relative to /usr/share/qemu/.
BOOT_HDD_IMAGE boolean enables boot from HDD_1 (BOOTFROM has higher priority)
BOOT_MENU boolean undef enables boot menu for selection of boot device
BOOT_MENU_TIMEOUT integer 5000 boot menu timeout in ms. Needs BOOT_MENU
BOOTFROM chars undef Influences order of boot devices. Multi boot order is not supported. This variable can be overriden by PXEBOOT. See qemu -boot option and PXEBOOT variable.
CDMODEL see qemu -device ? undef Storage device for virtualized CD
DELAYED_START boolean delay vm cpu start until resume_vm() is called
FIDO2 boolean 0 Enable FIDO2 hardware token
HDDMODEL see qemu -device ? virtio-blk Storage device for virtualized HDD.
HDDMODEL_$_ see qemu -device ? virtio-blk Storage device for virtualized HDD. Overrides global HDDMODEL for HDD_$i
HDDSIZEGB integer 10 Creates HDD with specified size in GiB
HDD_$i filename Filename of HDD image to be used for VM. Up to 9
HDDNUMQUEUES_$i integer -1 see qemu-system-x86_64 -device nvme,help - set the number of queues for HDD_$i
HDDSECTORSIZE_$i integer undef specifies the physical and logical block size and boot sector size of the HDD image
ISO filename Filename of ISO file to be attached to VM
INITRD filename Path to the initrd (initial ramdisk) image for direct kernel boot.
ISO_$i filename Additional ISO to be attached to VM. Up to 9
KEEPHDDS boolean Leave created HDD after test finishes. Useful for debugging tests
KERNEL filename Path to kernel image for direct kernel boot. When specified, QEMU will boot directly into this kernel without using a bootloader.
LAPTOP boolean or filename 0 If 1, loads HP EliteBook 820 G1 DMI. If filename, loads specified DMI
MAKETESTSNAPSHOTS boolean 0 Save snapshot for each test module in qcow image
MULTIPATH boolean 0 Add HDD drives as multipath devices. Override HDDMODEL to virtio-scsi-pci
NBF boolean 0 open source network boot firmware e.g. to attach iscsi target on boot http://ipxe.org/
NICMAC any MAC address 52:54:00:12:34:56 MAC address to be assigned to virtual network card
NICMODEL see qemu -device ? virtio-net Network device virtual NIC.
NICTYPE user|tap|vde user Instruct QEMU to either use user networking or to connect virtual NIC to existin system TAP device
NICTYPE_USER_OPTIONS string undef Arbitrary options for NICTYPE, e.g when set to hostfwd=tcp::2223-:22 would enable port forwarding.
NICVLAN integer undef Comma-separated list of network (vlan) numbers to which the NIC should be connected, assigned by scheduler to jobs with NICTYPE != user
NICPCIADDR integer undef Assign NIC device a specific address on the PCI bus
NUMDISKS integer 1 Number of disks to be created and attached to VM, can be 0 to disable disks, if using RAIDLEVEL, will be set to 4
OFFLINE_SUT boolean 0 Disable network for a VM
OFW boolean 0 QEMU Open Firmware is in use
OVS_DEBUG integer undef Set debug mode if value is 1
QEMU_ONLY_EXEC boolean undef If set, only execute the qemu process but return early before connecting to the process. This can be helpful for cutting testing time or to connect to the qemu process manually.
QEMU_WAIT_FINISH boolean undef Only used for internal testing, see comment in t/18-qemu-options.t for details.
QEMU_OVERRIDE_VIDEO_DEVICE_AARCH64 boolean undef (Deprecated, set QEMU_VIDEO_DEVICE=VGA) If set, and QEMU_VIDEO_DEVICE is not set, for arm systems use VGA as video adapter instead of virtio-gpu-pci
QEMU_DISABLE_SNAPSHOTS boolean undef If set, disable snapshots in QEMU. This needs to be set when using vmdk disk images or in case the worker has slow disks to avoid save_vm calls failing due to timeouts (See https://bugzilla.suse.com/show_bug.cgi?id=1035453[bsc#1035453])
QEMU_QMP_CONNECT_ATTEMPTS integer 20 The number of attempts to connect to qemu qmp. Usually used for internal testing
PATHCNT integer 2 Number of paths in MULTIPATH scenario
PXEBOOT boolean or 'once' 0 Boot VM from network, on every boot or only once if set to 'once'. If value is 1 or 'once' it sets bootindex=N for each network device.
QEMU QEMU binary filename undef Filename of QEMU binary to use
QEMUCLUSTERS integer undef Number of CPU clusters used by VM
QEMUCORES integer undef Number of CPU cores used by VM
QEMUCPU see qemu -cpu ? undef CPU to emulate
QEMUCPUS integer 1 Number of CPUs to assign to VM
QEMUDIES integer undef Number of CPU dies used by VM
QEMUMACHINE see qemu -machine ? undef Machine and chipset to emulate
QEMUPORT integer 20002 + worker instance * 10 Port on which QEMU monitor should listen
QEMURAM integer 1024 Size of RAM of VM in MiB
QEMUSOCKETS integer undef Number of CPU sockets used by VM
QEMUTHREADS integer undef Number of CPU threads used by VM
QEMUTPM 'instance' or appropriate value for local swtpm config undef Configure VM to use a TPM emulator device, with appropriate args for the arch. If a TPM device is available at QEMUTPM_PATH_PREFIX + X, where X is the value of QEMUTPM or the worker instance number if QEMUTPM is set to 'instance', it will be used. Otherwise it will be created at test startup. See QEMUTPM_VER in the latter case.
QEMUTPM_VER '1.2' or '2.0' depending on which TPM chip should be emulated '2.0' If no TPM device has been setup otherwise, swtpm will be used internally to create one with a socket at /tmp/mytpmX
QEMUTPM_PATH_PREFIX string '/tmp/mytpm' Path prefix to use or create TPM emulator device in
QEMUVGA virtio,qxl,cirrus,std See QEMU_VIDEO_DEVICE (Deprecated, use QEMU_VIDEO_DEVICE instead) VGA device to use with VM (will be converted to a matching -device parameter)
QEMU_COMPRESS_QCOW2 boolean 1 compress qcow2 images intended for upload
QEMU_IMG_CREATE_TRIES integer 3 Define number of tries for qemu-img commands
QEMU_HUGE_PAGES_PATH string undef Define a path to use huge pages (e.g. /dev/hugepages/)
QEMU_HOST_IP string 10.0.2.2 The VM host IP used in usermode networking. Set NICTYPE=user and NICTYPE_USER_OPTIONS accordingly to match following https://wiki.qemu.org/Documentation/Networking#User_Networking_.28SLIRP.29
QEMU_MAX_MIGRATION_TIME integer 240 Maximum time in seconds a migration to file may take for example for snapshot creation before being forcefully aborted.
QEMU_NO_FDC_SET boolean 0 Don't disable the floppy drive.
QEMU_NO_KVM boolean 0 Don't use KVM acceleration.
QEMU_NO_TABLET boolean 0 Don't use USB tablet.
QEMU_VIRTIO_RNG boolean 1 Enable virtio random number generator
QEMU_VIRTIO_KEYBOARD boolean 0 Enable virtio-keyboard. The virtio-keyboard is a paravirtualized device with no emulation, higher performance and for example allows the use of kbdrate in SUTs to disable (or tweak) key repetition to prevent mistyping errors.
QEMU_NUMA boolean 0 Enable NUMA simulation, requires QEMUCPUS to be greater than one
QEMU_SMBIOS see qemu -smbios ? undef pass this value to qemu -smbios
QEMU_SOUNDHW see qemu -soundhw ? had pass this value to qemu -soundhw (for qemu < 4.2)
QEMU_AUDIODEV see qemu -device ? intel-hda Audio device to use with audiodev to qemu -device (for qemu >= 4.2)
QEMU_AUDIOBACKEND see qemu -audio-help none Audio backend to use with audiodev (for qemu >= 4.2)
QEMU_COMPRESS_LEVEL integer 6 Sets the compression level used for memory dumps and snapshots. Zero turns compression off and 9 is the maximum level. Generally there is little improvement in compression ratio by increasing the level, but the CPU time can be high on some platforms. (For qemu < 9.1.0)
QEMU_COMPRESS_THREADS integer QEMUCPUS Number of threads used for compressing memory dumps and snapshots. (For qemu < 9.1.0)
QEMU_NON_FATAL_DBUS_CALL boolean 0 Ignore failed dbus calls and ignore instead of fatal exits
QEMU_MAX_BANDWIDTH integer INT_MAX Limits the transfer rate during a snapshot.
QEMU_DUMP_COMPRESS_METHOD string xz The compression to use during a memory dump. Can be set to xz, bzip2 or internal (QEMU's internal compression, not compatible with crash or gdb). If xz is set, but not available, it will fallback to bzip2. Also see QEMU_COMPRESSION_LEVEL.
QEMU_MULTIFD_CHANNELS integer 2 Number of channels used to migrate data in parallel (only when multifd is used, which means qemu >= 9.1.0). This is the same number that the number of sockets used for migration. Can be set from 1 to 255.
QEMU_APPEND string Append parameters on qemu command line. The first item will have '-' prepended to it.
QEMU_ENABLE_SMBD boolean 0 Enable QEMU's built-in samba service for user network. Exported worker's pool will be accessible on \\10.0.2.4\qemu share. Requires smbd to be installed (usually part of the samba package).
VIRTIO_CONSOLE boolean 1 Enable/disable virtio console. (@see -device virtconsole qemu option)
VIRTIO_CONSOLE_NUM integer 1 Number of virtio consoles.
QEMU_BALLOON_TARGET integer undef The target guest RAM usage before a snapshot is taken. It is intended to speed up snapshots by forcing the guest to drop various caches. Setting this enables the virtio-balloon device which requires a kernel with a virtio-balloon driver. Setting this far below the RAM required by the guest will probably cause the guest to panic or deadlock. However it should be able to cope with it being set slightly below what is needed.
QEMU_BALLOON_TIMEOUT integer 5 Timeout for qemu balloon operations
RAIDLEVEL Set the raid level, affects NUMDISKS.
SKIPTO full name of test module Restore VM from snapshot and continue by running specified test module. Needs HDD image with snapshots present
TAPDEV device name undef TAP device name to which virtual NIC should be connected. Usually undef so automatic matching is used
TAPDOWNSCRIPT string undef Script used during the backend network shutdown
TAPSCRIPT Script used during the backend network creation
TESTDEBUG boolean 0 Enable test debugging: override 'milestone' and 'fatal' test flags to 1. Snapshot are created after each successful test module and each fail aborts test run
UEFI boolean 0 Enable UEFI
UEFI_SECURE_BOOT boolean 1 Whether the auto-selection of UEFI_PFLASH_CODE and UEFI_PFLASH_VARS should use firmware with SecureBoot enabled
UEFI_PFLASH_CODE string Specify the file name of the UEFI firmware code which will be loaded onto a read-only PFLASH drive
UEFI_PFLASH_VARS string Specify the file name which contains the UEFI firmware variables which will be loaded onto a mutable PFLASH drive
UEFI_PFLASH_CERTS string Specify the semicolon-separated file names of certificates that should be enrolled into the UEFI firmware variables file using virt-fw-vars.
UEFI_PFLASH_SECURE_BOOT boolean Enable or disable secure boot in the UEFI firmware variables file using virt-fw-vars.
UEFI_PFLASH_RESOLUTION string Specify the resolution to configure via UEFI firmware variables file using virt-fw-vars, e.g. 800x600 for a width of 800 pixels and a height of 600 pixels.
PUBLISH_PFLASH_VARS string Specify the file name to publish the UEFI vars file as
UEFI_PFLASH boolean 0 (Deprecated, use UEFI_PFLASH_VARS) Enable the pflash mode to write the UEFI variables directly into the firmware file instead of NVvars in the EFI system partition
UEFI_BIOS Deprecated, use UEFI_PFLASH_CODE
USBBOOT boolean 0 Mount ISO as USB disk and boot VM from it
USBSIZEGB integer size of ISO Size of USB disk for USBBOOT
VDE_PORT integer worker instance + 10 number of vde switch port to connect
VDE_SOCKETDIR string . directory where vde_switch control socket is to be found
VDE_USE_SLIRP integer 1 whether to start slirpvde
VNC integer worker instance + 90 Display on which VNC server is running. Actual port is 5900 + VNC
VNC_EXTRA_VARS string Additional variables passed to the qemu VNC parameter (-vnc)
VNCKB Set the keyboard layout if you are not using en-us
WORKER_CLASS string undef qemu system types
WORKER_HOSTNAME string undef Worker hostname
QEMU_VIDEO_DEVICE string virtio-gpu-pci on ARM, VGA otherwise Video device to use with VM (using -device, not -vga). Can have options appended e.g. "virtio-gpu-gl,edid=on", but it is better to set QEMU_VIDEO_DEVICE_OPTIONS. See qemu docs and https://www.kraxel.org/blog/2019/09/display-devices-in-qemu/ for valid choices
QEMU_VIDEO_DEVICE_OPTIONS string none Additional options for QEMU_VIDEO_DEVICE (comma-separated). Will be appended after automatically-generated resolution setting options on devices that support EDID
SAVE_STORAGE_TIMEOUT integer 900 Timeout for saving one storage volume in save_storage test API function.

SVIRT backend

Variable Values allowed Default value Explanation
HDDSIZEGB integer 15 Disk size in GB
QEMUCPUS integer 1 Number of CPUs to assign to VM
QEMURAM integer 1024 Size of RAM of VM in MiB
VIRSH_HOSTNAME string SSH Host with virsh
VIRSH_USERNAME string Username on above host, defaults to root
VIRSH_PASSWORD string Password for user account on above host
VIRSH_VMM_FAMILY string Host's hypervisor ('kvm', 'xen')
VIRSH_VMM_TYPE string Host's hypervisor type ('hvm' for full virtualization on 'kvm' and 'xen' families, 'linux' for paravirtualization on 'xen' family)
VIRSH_GUEST string Where to look for VNC server (SUT or VM)
VIRSH_GUEST_PASSWORD string VNC password of the guest
VIRSH_INSTANCE integer VM's instance number on VIRSH_HOSTNAME
VMWARE_USERNAME string Administrator's username ('@' is '%40')
VMWARE_PASSWORD string Administrator's password
VMWARE_HOST string VCS server for authentication
VMWARE_DATASTORE string datastore1 VMware datastore
VMWARE_NFS_DATASTORE string VMware datastore with openQA NFS directories
VMWARE_SERIAL_PORT string TCP port where is VM's serial port stream to be expected on the ESX server
VMWARE_BRIDGE string VMware's bridge name (usual default is 'VM Network')
VMWARE_REMOTE_VMM string Set the vmware Virtual Machine Manager
VMWARE_VNC_OVER_WS boolean 0 Whether to use VNC over WebSockets (instead of raw VNC connection)
VMWARE_VNC_OVER_WS_INSECURE boolean 0 Do not require a valid TLS certificate for VNC over WebSockets
VMWARE_VM_HWVERSION integer VM hardware version
GUESTINFO_COMBUSTION string Set the location of combustion's bash script file among the data folder
GUESTINFO_IGNITION string Set the location of ignition's config file formated in json, among the data folder
GUESTINFO_CLOUD_INIT string Set the location of user-data and meta-data files, separated by a comma in data folder
HYPERV_USERNAME string Administrator account name
HYPERV_PASSWORD string Password for above account
HYPERV_SERVER string Windows Server (2008 R2, 2012 R2, or 2016) instance IP address
HYPERV_SERIAL_PORT integer TCP port where is VM's serial port stream to be expected on the Hyper-V server
HYPERV_VIRTUAL_SWITCH string Name of Hyper-V's External Virtual Switch
NUMDISKS integer 1 Number of disks to be created and attached to VM, can be 0 to disable disks, if using RAIDLEVEL, will be set to 4
RAIDLEVEL integer undef Sets the raid level, affects NUMDISKS.
SVIRT_KEEP_VM_RUNNING boolean undef Keep VM running after execution, disabled by default
SVIRT_WORKER_CACHE boolean 0 Use the openQA worker cache if possible to copy images to the svirt host - this means the path specified when invoking add_disk is not fully regarded, e.g. if the specified path points into the fixed-subdirectory but the openQA worker cached the same asset under the regular directory (which it prefers over the fixed-subdirectory) then the asset from the regular directory will be used
SVIRT_ASSET_DOWNLOAD_TIMEOUT_M number 15 Timeout for asset downloads within svirt backend in minutes.
SVIRT_ASSET_DOWNLOAD_INACTIVITY_TIMEOUT_M number 2.5 Inactvity timeout for asset downloads within svirt backend in minutes.
SVIRT_ASSET_DOWNLOAD_ATTEMPTS integer 3 The number of attempts when syncing assets (without worker cache) runs into SVIRT_ASSET_DOWNLOAD_TIMEOUT_M.
WORKER_HOSTNAME string undef Worker hostname

VAGRANT backend

Variable Values allowed Default value Explanation
VAGRANT_BOX string undef The unique identifier/name of the vagrant box that should be used for the test. This is the same value as used when running vagrant init $boxname. When the box name is prefixed with a / then the backend expects the such a file in the directory VAGRANT_ASSETDIR.
VAGRANT_BOX_URL string undef URL to the json file that contains the links to the published versions of the vagrant boxes. This is only required for boxes that are hosted in the Open Build Service and not for those hosted on Vagrant Cloud.
VAGRANT_PROVIDER libvirt|virtualbox undef The provider (= VM backend) that will be used by vagrant.
VAGRANT_UP_TIMEOUT integer 300 The maximum time in seconds that vagrant up is allowed to take (note that this includes download times as well).
VAGRANT_ASSETDIR string undef Directory on the worker in which it expects to find local vagrant boxes. This variable must be set when testing local boxes and can be left undefined otherwise. It is recommended to set this variable on the worker.

VIRT backend

Variable Values allowed Default value Explanation
QEMUCPUS integer undef Number of CPUs
QEMURAM integer undef Quantity of RAM

PVM backend

Variable Values allowed Default value Explanation
ARCH string undef Architecture of the pvm backend
MEM integer 2048 amount of RAM
LPAR string osauto LPAR name to be created
LPARID string udef LPAR id
NUMDISKS integer 1 Number of disks
HDD_$hdd_num string udef Name of the virtual disk to be attached
HDD_$i string udef Additional disk to be attached
HDDSIZEGB integer 15 Disk size in GB
NIC string sea Type of NIC
NICVLAN integer 1 VLAN to attach to
VSWITCH string VSWITCH0 A virtula switch to connect to
CPUS integer 1 Number of CPUS for LPAR
ISO string undef isos from nfs mount on VIO side to VMLibrary
VIOISO string undef Virtual Optical Media ISO
VNC integer undef VNC port
WORKER_ID string undef osauto id

PVM_HMC backend

Variable Values allowed Default value Explanation
HARDWARE_CONSOLE_LOG boolean undef Enable direct log capture of mkvterm console, disabled by default
HMC_MACHINE_NAME string Sets the public name of the host
HMC_HOSTNAME string Sets the remote host to connect tp
HMC_USERNAME string Username for the remote host, defaults to hscroot
HMC_PASSWORD string Password for the remote host
LPAR_ID string udef LPAR id

GENERALHW backend

Variable Values allowed Default value Explanation
GENERAL_HW_VNC_IP string Hostname of the gadget's network. If not set, SSH consoles will be used
GENERAL_HW_VNC_PASSWORD string Password for VNC server
GENERAL_HW_VNC_PORT integer 5900 VNC Port number
GENERAL_HW_VNC_DEPTH integer 16 Color depth for VNC server
GENERAL_HW_VNC_JPEG integer 0 Advertise support for Tight JPEG encoding
GENERAL_HW_NO_SERIAL boolean Don't use serial
GENERAL_HW_VIDEO_STREAM_URL string Video stream URL (in ffmpeg's syntax) to receive, for example 'udp://@:5004' or '/dev/video0'. Using 'ustreamer:///dev/videoN' will use ustreamer from PiKVM instead of ffmpeg to read '/dev/videoN'. The URL can have '?fps=..' appended to specify desired FPS to capture with. The URL can also have 'format=' parameter to specify ustream format (default is UYVY, can be also set to BGR24, RGB24, RGB24swap). The URL can also have 'mediadev=...' and 'mediaentity=' parameters, necessary on Raspberry Pi 5. Ustreamer support requires pack("D") working, which rules out openSUSE 15.5's perl.
GENERAL_HW_VIDEO_CMD_PREFIX string Prefix to prepend to 'ffmpeg' and 'v4l2-ctl' commands, can be used to run them on a different host via SSH. Example: 'ssh root@pikvm'. Note: the value is tokenized on spaces, so avoid their use in command name or any of the parameters.
VIDEO_STREAM_PIPE_BUFFER_SIZE integer 168010503+20 Buffer containing at least a single PPM frame for video capturing
GENERAL_HW_KEYBOARD_URL string URL to keyboard emulation device. eg. 'http://1.2.3.4/cmd' - see https://github.com/os-autoinst/os-autoinst-distri-opensuse/tree/master/data/generalhw_scripts/rpi_pico_w_keyboard[rpi_pico_w_keyboard]
GENERAL_HW_CMD_DIR string Directory with allowed CMD scripts. Note: This variable should be set in the workers.ini file, otherwise it will be ignored by openQA.
GENERAL_HW_SOL_CMD string Shell Script to output serial output (in CMD_DIR)
GENERAL_HW_SOL_ARGS string Arguments to pass GENERAL_HW_SOL_CMD shell script
GENERAL_HW_POWERON_CMD string Shell command to power on the SUT (in CMD_DIR)
GENERAL_HW_POWERON_ARGS string Arguments to pass GENERAL_HW_POWERON_CMD shell script
GENERAL_HW_POWEROFF_CMD string Shell command to power off the SUT (in CMD_DIR)
GENERAL_HW_POWEROFF_ARGS string Arguments to pass GENERAL_HW_POWEROFF_CMD shell script
GENERAL_HW_IS_SHUTDOWN_CMD string Shell command to check if SUT is powered down (in CMD_DIR). Should return exit code 0 if it is, or 1 otherwise.
GENERAL_HW_IS_SHUTDOWN_ARGS string Arguments to pass GENERAL_HW_IS_SHUTDOWN_CMD shell script
GENERAL_HW_EJECT_CMD string Shell command to eject CD from SUT (in CMD_DIR). If 'id' is passed to eject_cd, it's converted to '--id=...' argument. If 'force' is passed to eject_cd, it's converted to '--force' argument.
GENERAL_HW_EJECT_ARGS string Arguments to pass GENERAL_HW_EJECT_CMD shell script
GENERAL_HW_FLASH_CMD string Shell command to flash a disk image on SUT (in CMD_DIR), optional
GENERAL_HW_FLASH_ARGS string Arguments to pass GENERAL_HW_FLASH_CMD shell script
GENERAL_HW_IMAGE_CMD string Shell command to extract disk image from SUT (in CMD_DIR), optional
GENERAL_HW_IMAGE_ARGS string Arguments to pass GENERAL_HW_IMAGE_CMD shell script. The script will get also extra arguments: disk number and file path to save it into.
GENERAL_HW_INPUT_CMD string Shell command to control keyboard/mouse of the SUT, should wait for keyboard events on its stdin (in syntax used in 'send_key'), or mouse events as 'mouse_move ' or 'mouse_button '. The command should print an "ok" line for each input (or an error message in case of an error). This is used only if GENERAL_HW_VIDEO_STREAM_URL is set.
GENERAL_HW_INPUT_ARGS string Arguments to pass GENERAL_HW_INPUT_CMD shell script
GENERAL_HW_EDID string EDID to be set on relevant /dev/video device (see 'GENERAL_HW_VIDEO_STREAM_URL'), used directly as an argument for 'v4l2-ctl --set-edit'. Example values: 'type=hdmi', 'file=/some/path'.
HDDSIZEGB integer 10 Creates HDD with specified size in GiB
HDD_$i filename Filename of HDD image to be used for machine.
HDDSIZEGB_$i integer Creates HDD with specified size in GiB for corresponding HDD
NUMDISKS integer 1 Number of disks attached to machine
WORKER_HOSTNAME string undef Worker hostname

AMT backend

Variable Values allowed Default value Explanation
AMT_HOSTNAME string Hostname or IP of the target host
AMT_PASSWORD string Password for admin AMT user on target host

S390X backend

Variable Values allowed Default value Explanation
WORKER_HOSTNAME string undef Worker hostname

SPVM backend

Variable Values allowed Default value Explanation
HARDWARE_CONSOLE_LOG boolean undef Enable direct log capture of mkvterm console, disabled by default
WORKER_HOSTNAME string undef Worker hostname
NOVALINK_HOSTNAME string undef Novalink target host to connect to
NOVALINK_USERNAME string root Username to authenticate on Novalink host
NOVALINK_PASSWORD string undef Password to authenticate on Novalink host
NOVALINK_LPAR_ID string undef LPAR ID on the Novalink target to control

Read the original on github.com ↗