Skip to content

Latest commit

 

History

History
250 lines (239 loc) · 20.2 KB

backend_vars.asciidoc

File metadata and controls

250 lines (239 loc) · 20.2 KB

Supported variables per backend

Table 1. COMMON backend
Variable Values allowed Default value Explanation

CASEDIR

string

Path to test distribution. Can be a git repository URL of a test distribution to checkout with an optional refspec or also git hash into the current directory. It tries to follow the definition of https://docs.npmjs.com/files/package.json#git-urls-as-dependencies (e.g. https://github.com/os-autoinst/os-autoinst-distri-opensuse.git#feature/test or [email protected]: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.

PRODUCTDIR

string

Path to optional "product directory" which includes the test schedule entry point "main.pm" as well as a "needles" subdirectory with the needles to load. Can be relative path.

NEEDLES_DIR

string

Path to needles subdirectory to use, defaults to "needles" within PRODUCTDIR. Can be a git repository URL, comparable to CASEDIR

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

SCHEDULE

string

comma separated list of relative paths to test modules within CASEDIR without the implicit file extension '.pm' to be scheduled instead of evaluating a schedule from the test distributions main.pm file, e.g. "boot,console/mod1"

_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 checkout 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 checkout 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. Example: ffmpeg -hide_banner -nostats -r 24 -f image2pipe -vcodec ppm -i - -pix_fmt yuv420p -c:v libvpx-vp9 -crf 35 -b:v 1500k -cpu-used 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

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

_CHKSEL_RATE_WAIT_TIME

integer

30

The ammount of time isotovideo is going to wait for the VNC console to become responsive

_CHKSEL_RATE_HITS

integer

15000

The ammount 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 to continue test execution. Be aware that the openQA web UI will only reflect this within the developer mode after confirming to control the test.

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.

_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.

AUTOINST_URL_HOSTNAME

string

hostname or IP adress of host running the autoinst webserver endpoint, defaults to the local IP adress within the qemu network for the qemu backend or the WORKER_HOSTNAME otherwise.

Table 2. 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.

Table 3. IPMI backend
Variable Values allowed Default value Explanation

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_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

Table 4. QEMU backend
Variable Values allowed Default value Explanation

ARCH

x86_64|i686|aarch64|…​

depends on tested medium

Architecture of VM.

ATACONTROLLER

see qemu -device ?, e. g. for SATA: ich9-ahci

Controller for ATA devices, needed for connecting disks as SATA.

BIOS

Set the filename for the BIOS

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. See qemu -boot option

CDMODEL

see qemu -device ?

undef

Storage device for virtualized CD

DELAYED_START

boolean

delay vm cpu start until resume_vm() is called

HDDFORMAT

HDD format

HDDMODEL

see qemu -device ?

virtio-blk

Storage device for virtualized HDD.

HDDMODEL_$i

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

ISO

filename

Filename of ISO file to be attached to VM

ISO_$i

filename

Aditional ISO to be attached to VM. Up to 9

KEEPHDDS

boolean

Leave created HDD after test finishes. Useful for debugging tests

LAPTOP

boolean or filename

0

If 1, loads Dell E6330 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

NICVLAN

integer

undef

network (vlan) number to which the NIC should be connected, assigned by scheduler to jobs with NICTYPE != user

NUMDISKS

integer

1

Number of disks to be created and attached to VM, can be 0 to disable disks

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

If set, for aarch64 systems use VGA as video adapter

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 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'

QEMU

QEMU binary filename

undef

Filename of QEMU binary to use

QEMUCPU

see qemu -cpu ?

undef

CPU to emulate

QEMUCPUS

integer

1

Number of CPUs to assign to 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

QEMUTHREADS

integer

0

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. sysadmin is responsible for running swtpm with a socket at /tmp/mytpmX, where X is the value of QEMUTPM or the worker instance number if QEMUTPM is set to 'instance'

QEMUVGA

see qemu -device ?

cirrus

VGA device to use with VM

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

0

Enable virtio random number generator

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 ?

hda

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.

QEMU_COMPRESS_THREADS

integer

QEMUCPUS

Number of threads used for compressing memory dumps and snapshots.

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_APPEND

string

Append parameters on qemu command line. The first item will have '-' prepended to it.

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.

RAIDLEVEL

Set the raid level

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_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

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

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

VNCKB

Set the keyboard layout if you are not using en-us

WORKER_CLASS

string

undef

qemu system types

WORKER_HOSTNAME

string

undef

Worker host name

Table 5. 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_PASSWORD

string

Password for root 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 autentication

VMWARE_DATASTORE

string

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

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

ExternalVirtualSwitch

Name of Hyper-V’s External Virtual Switch

NUMDISKS

integer

1

Number of disks

RAIDLEVEL

integer

undef

Table 6. VIRT backend
Variable Values allowed Default value Explanation

QEMUCPUS

integer

undef

Number of CPUs

QEMURAM

integer

undef

Quantity of RAM

Table 7. PVM backend
Variable Values allowed Default value Explanation

ARCH

string

undef

Arquitecture 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

Table 8. GENERAL_HW 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_CMD_DIR

string

Directory with allowed CMD scripts

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_FLASH_CMD

string

Shell Command to flash a disk image on SUT (in CMD_DIR), optionnal

GENERAL_HW_FLASH_ARGS

string

Arguments to pass GENERAL_HW_FLASH_CMD Shell script

Table 9. 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