Wiki » History » Version 7
jlausuch, 2022-09-08 08:26
1 | 1 | jlausuch | ## SLE Micro Test Cases |
---|---|---|---|
2 | |||
3 | ### Basic checks |
||
4 | #### microos/networking.pm |
||
5 | Basic network and connectivity check. |
||
6 | - Print network configuration (ip addr show and resolv.conf) |
||
7 | 2 | jlausuch | - Ping localhost `127.0.0.1` (IPv4) and `::1` (IPv6) |
8 | 1 | jlausuch | - Curl to openqa.opensuse.org and github.com |
9 | |||
10 | #### microos/libzypp_config.pm |
||
11 | Check that zypper configuration is customized for MicroOS. |
||
12 | 2 | jlausuch | - `egrep -x "^solver.onlyRequires ?= ?true" /etc/zypp/zypp.conf` |
13 | - `egrep -x "^rpm.install.excludedocs ?= ?yes" /etc/zypp/zypp.conf` |
||
14 | - `egrep -x "^multiversion ?=" /etc/zypp/zypp.conf` |
||
15 | 1 | jlausuch | |
16 | #### microos/image_checks.pm |
||
17 | Simple image specific checks: |
||
18 | - Verify that openQA resized the disk image |
||
19 | - Verify that there is no unpartitioned space left |
||
20 | - Verify that the filesystem mounted at /var grew beyond the default 5GiB |
||
21 | - Verify that combustion ran |
||
22 | |||
23 | #### microos/one_line_checks.pm |
||
24 | Simple checks after installation. |
||
25 | 2 | jlausuch | - Check that snapper is configured `snapper list` |
26 | - Subvolume check `btrfs subvolume show /var` |
||
27 | - `kubectl` is not installable if `SYSTEM_ROLE=microos` (only openSUSE MicroOS) |
||
28 | - `crio` should be installed if `SYSTEM_ROLE=kubeadm` (only openSUSE MicroOS) |
||
29 | 1 | jlausuch | |
30 | |||
31 | #### microos/services_enabled.pm |
||
32 | Check that services are enables based on system role |
||
33 | The following services should be enabled by default: |
||
34 | 2 | jlausuch | - `issue-add-ssh-keys` |
35 | - `issue-generator` |
||
36 | - `transactional-update.timer` |
||
37 | - `sshd` |
||
38 | |||
39 | 1 | jlausuch | On other system roles (MicroOS only), other services might be checked to be enabled. |
40 | |||
41 | |||
42 | #### microos/cockpit_service.pm |
||
43 | Basic check for cockpit service. |
||
44 | - Install `cockpit` package if not installed |
||
45 | - Install `cockpit-networkmanager` package if the system is running network-manager. |
||
46 | - Install `cockpit-wicked` package if the system is running wicked. |
||
47 | - Install `cockpit-machines` and `cockpit-tukit` if packages are available. |
||
48 | - Enable and start `cockpit.socket service` and check that Cockpit is active and accessible on http://localhost:9090 |
||
49 | - Test Cockpit service survives a reboot (it's active automatically after rebooting) |
||
50 | |||
51 | |||
52 | |||
53 | ### Specific transactional system tests |
||
54 | |||
55 | #### transactional/trup_smoke.pm |
||
56 | 4 | jlausuch | Basic smoke test to verify all basic transactional update operations work and system can properly boot. |
57 | - Reinstall bootloader: `transactional-update bootloader` |
||
58 | - Regenerate grub.cfg: `transactional-update grub.cfg` |
||
59 | - Regenerate initrd: `transactional-update initrd` |
||
60 | - Regenerate kdump: `transactional-update kdump` |
||
61 | - Run cleanup: `transactional-update cleanup` |
||
62 | |||
63 | 1 | jlausuch | |
64 | #### transactional/filesystem_ro.pm |
||
65 | 3 | jlausuch | Check that root filesystem is read only |
66 | - `/` is RO: |
||
67 | - cannot create `touch /should_fail` |
||
68 | - `btrfs property get / ro | grep "ro=true"` |
||
69 | - `/var` is RW: |
||
70 | - can create `touch /var/log/should_succeed` |
||
71 | - `btrfs property get /var ro | grep "ro=false"` |
||
72 | - `/etc` is RW: |
||
73 | - can create `touch /etc/should_succeed` |
||
74 | - Look for ro mount point in fstab: `findmnt -s / -n -O ro` |
||
75 | - Look for ro mount point in mounted filesystems: `findmnt / -n -O ro` |
||
76 | 1 | jlausuch | |
77 | #### transactional/transactional_update.pm |
||
78 | TBD |
||
79 | |||
80 | #### transactional/rebootmgr.pm |
||
81 | 6 | jlausuch | Test rebootmgr using different strategies |
82 | - Test instant reboot |
||
83 | - Test maint-window strategy |
||
84 | - Test etcd locking strategy |
||
85 | |||
86 | 1 | jlausuch | |
87 | #### transactional/health_check.pm |
||
88 | 5 | jlausuch | Check that health-check service works correctly. |
89 | - Install and enable service `health-checker` if not installed. |
||
90 | - `health-checker` command shall return `passed` string. |
||
91 | - Current snapshot shall be the same as the logged one from health-checker. |
||
92 | - Update rebootmgr.sh using transactional update shell to force health-checker to fail: |
||
93 | - f=$(rpm --eval %{_libexecdir})/health-checker/fail.sh; echo -e \'#/bin/sh\n[ "$1" != "check" ]\' > $f && chmod a+x $f |
||
94 | - reboot |
||
95 | - health-checker should rollback to the correct snapshot |
||
96 | - `health-checker` command shall return `passed` string. |
||
97 | 7 | jlausuch | |
98 | |||
99 | ### Cockpit UI testing (manual) |
||
100 | The strategy for testing Cockpit UI is not yet 100% defined, there are still (2022-09-01) some open questions to be answered. For now, the UI has been tested manually. |
||
101 | TBD |