-
-
Notifications
You must be signed in to change notification settings - Fork 9
/
README
69 lines (55 loc) · 5.4 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
OpenQA Tests for Qubes OS
To install, clone this repo to /var/lib/openqa/tests/qubesos
Example command for posting new ISO for test:
openqa-client --host https://openqa.qubes-os.org isos post iso=Qubes-DVD-x86_64-20180224.iso DISTRI=qubesos VERSION=4.0 FLAVOR=install-iso ARCH=x86_64 BUILD=20180224 UEFI_DIRECT=1
Example command for starting tests of updates in current-testing:
openqa-client --host https://openqa.qubes-os.org isos post DISTRI=qubesos VERSION=4.0 FLAVOR=update ARCH=x86_64 BUILD=$(date +%Y%m%d%H) UEFI_DIRECT=1
Updates test on R4.1:
openqa-cli api isos -X post VERSION=4.1 BUILD=$(date +%Y%m%d%H) DISTRI=qubesos ARCH=x86_64 FLAVOR=update UPDATE=1 UPDATE_TEMPLATES=fedora-34-xfce GUIVM=1
Example command for starting tests for a template in templates-*-testing:
openqa-client --host https://openqa.qubes-os.org isos post DISTRI=qubesos VERSION=4.0 FLAVOR=templates ARCH=x86_64 BUILD=2020022706-4.0-fedora-31 UPDATE_TEMPLATES='fedora-31 fedora-31-minimal' TEST_TEMPLATES='fedora-31 fedora-31-minimal'
Job templates:
This is now edited via web UI. The templates.json file is git is a backup.
Dump the templates: openqa-dump-templates --json | jq -S > templates.json
Load the templates: openqa-load-templates templates.json
Variables:
- `DISTRI` - always `qubesos`
- `VERSION` - system version, currently not interpreted (but displayed in UI)
- `FLAVOR` - `install-iso` for installation tests, `update` for updates system tests
- `ARCH` - always `x86_64`
- `BUILD` - build number, not interpreted (but displayed in UI)
- `UEFI_DIRECT` - UEFI boots directly to Xen, no separate bootloader
Variables used in tests:
- `INSTALL_TEMPLATES` - space separated list of template groups (`debian`, `whonix`), or `all`; can include also specific template versions (`debian-11`) - they they will be installed/reinstalled from online repo after the initial install process
- `USBVM` - USB VM configuration: `none` (assert that already disabled by default), `disable` (disable explicitly), `sys-usb` (default), `sys-net` (combined with Net VM)
- `KEYBOARD_LAYOUT` - install with non-default keyboard layout; currently only `us-colemak` value is supported
- `LOCALE` - install with non-default locale; currently only `en_DK.utf8` value is supported
- `SYSTEM_TESTS` - run system tests from those (space separated) modules, each module can be suffixed with ":TIMEOUT" (in seconds); tests are run using nose2
- `VERBOSE_LIBVIRT` - increase libvirt log level, including libxl logging; slows down the system and may lead to huge logs
- `REPO_1` - repository name to install updates (dom0 and vm) from - in addition to standard repos
- `KEY_1` - repository key short fingerprint to use for REPO_1
- `SALT_SYSTEM_TESTS` - run salt formula preparing for system tests (mostly install extra packages)
- `UPDATE_TEMPLATES` - update listed template packages as a whole (space separated list of templates to update)
- `TEST_TEMPLATES` - limit tests to listed templates only (space separated list of templates to test)
- `DEFAULT_TEMPLATE` - choose default template - on install jobs it's chosen in initial-setup, on update jobs all qubes that used default template are switched to this one
- `UPDATE` - install updates in dom0 and all templates
- `QUBES_TEST_EXTRA_INCLUDE`, `QUBES_TEST_EXTRA_EXCLUDE` - passed directly to the test environment
- `TEST_GUI_INTERACTIVE` - simple GUI interactive tests (start application from menu etc)
- `TEST_WINDOWS_GUI_INTERACTIVE` - simple GUI interactive tests for Windows with QWT installed
- `WINDOWS_VERSION` - create Windows VM of specific version and install QWT inside (argument as for qvm-create-windows-qube)
- `QWT_DOWNLOAD` - download specific QWT build (can be URL to iso or rpm file); otherwise qubes-windows-tools dom0 packages is installed from standard repositories
- `GUIVM` - create GUI VM (sys-gui)
- `GUIVM_VNC` - create GUI VM (sys-gui-vnc)
- `KEEP_SCREENLOCKER` - do not disable xscreensaver (or whatever screenlocker is there)
- `PARTITIONING` - partition layout ('standard', 'xfs', 'btrfs', 'default', 'unencrypted'); on install - set via installer options, later - created manually on sdb, and all templates are migrated there
- `HEADS` - when set to `1`, the test will handle Heads boot menu. Currently relevant only with `BACKEND=generalhw`. It's supposed to be sed in "machine" definition.
- `RELEASE_UPGRADE_REPO` - relevant for release-upgrade flavor, download scripts from specific URL, like: `https://raw.githubusercontent.com/marmarek/qubes-dist-upgrade/<branch-name>`
- `WHONIXCHECK` - run whonixcheck / systemcheck on all Whonix-related VMs (including templates)
- `WHONIX_INTERACTIVE` - run interactive tests on Whonix-related VMs (mostly anon-whonix)
- `KERNEL_VERSION` - which kernel flavor should be used - currently supported value is 'latest', which will switch to kernel-latest and kernel-latest-qubes-vm during update
- `PIPEWIRE` - when set to `1`, VMs are set to use pipewire instead of
pulseaudio, including switching native pulseaudio to pipewire-pulse.
- `SUSPEND_MODE` - what suspend mode should be used; default is `S3`, set to `S0ix` to use S0ix suspend
- `INSTALL_OEM` - do fully automated OEM installation
- `INSTALL_OEM_STARTUP` - start OEM installation, but still expect interactive prompts during installation
- `HID` - for generalhw tests, tell it whether `USB` hid is used (default) or `PS2` one; in the latter case, sys-usb is not supposed to have input-proxy allowed by default