Wiki » History » Version 8
jlausuch, 2022-09-13 16:01
1 | 8 | jlausuch | ## COCKPIT MANUAL TEST |
---|---|---|---|
2 | |||
3 | ### Preparation |
||
4 | |||
5 | #### Install the needed modules |
||
6 | |||
7 | Make sure the following packages are installed on the system: |
||
8 | ``` |
||
9 | ---+------------------------+------------------------------------------------------------------------------+-------- |
||
10 | i+ | cockpit | Web Console for Linux servers | package |
||
11 | i | cockpit-bridge | Cockpit bridge server-side component | package |
||
12 | i+ | cockpit-kdump | Cockpit user interface for kernel crash dumping | package |
||
13 | i+ | cockpit-machines | Cockpit user interface for virtual machines | package |
||
14 | i+ | cockpit-networkmanager | Cockpit user interface for networking, using NetworkManager | package |
||
15 | i+ | cockpit-podman | Cockpit component for Podman containers | package |
||
16 | i+ | cockpit-selinux | Cockpit SELinux package | package |
||
17 | i+ | cockpit-storaged | Cockpit user interface for storage, using udisks | package |
||
18 | i+ | cockpit-system | Cockpit admin interface package for configuring and troubleshooting a system | package |
||
19 | i+ | cockpit-tukit | Cockpit module for Transactional Update | package |
||
20 | i+ | cockpit-ws | Cockpit Web Service | package |
||
21 | ``` |
||
22 | If needed, to install them: |
||
23 | `transactional-update pkg install cockpit-X cockpit-Y cockpit-Z` |
||
24 | |||
25 | Reboot the system. |
||
26 | |||
27 | #### Start cockpit service |
||
28 | `systemctl enable --now cockpit.socket` |
||
29 | |||
30 | In a browser, load the Cockpit UI using https://<IP>:9090. |
||
31 | |||
32 | |||
33 | ## Overview Tab |
||
34 | |||
35 | ## Logs Tab |
||
36 | |||
37 | ## Storage Tab |
||
38 | |||
39 | ## Podman Containers Tab |
||
40 | |||
41 | ## Virtual Machines Tab |
||
42 | |||
43 | ## Accounts Tab |
||
44 | |||
45 | ## Services Tab |
||
46 | |||
47 | ## Kernel Dump Tab |
||
48 | |||
49 | ## SELinux Tab |
||
50 | |||
51 | ## Software Updates Tab |
||
52 | |||
53 | ## Terminal Tab |
||
54 | |||
55 | |||
56 | # APENDIX |
||
57 | 1 | jlausuch | ## SLE Micro Test Cases |
58 | |||
59 | ### Basic checks |
||
60 | #### microos/networking.pm |
||
61 | Basic network and connectivity check. |
||
62 | - Print network configuration (ip addr show and resolv.conf) |
||
63 | 2 | jlausuch | - Ping localhost `127.0.0.1` (IPv4) and `::1` (IPv6) |
64 | 1 | jlausuch | - Curl to openqa.opensuse.org and github.com |
65 | |||
66 | #### microos/libzypp_config.pm |
||
67 | Check that zypper configuration is customized for MicroOS. |
||
68 | 2 | jlausuch | - `egrep -x "^solver.onlyRequires ?= ?true" /etc/zypp/zypp.conf` |
69 | - `egrep -x "^rpm.install.excludedocs ?= ?yes" /etc/zypp/zypp.conf` |
||
70 | - `egrep -x "^multiversion ?=" /etc/zypp/zypp.conf` |
||
71 | 1 | jlausuch | |
72 | #### microos/image_checks.pm |
||
73 | Simple image specific checks: |
||
74 | - Verify that openQA resized the disk image |
||
75 | - Verify that there is no unpartitioned space left |
||
76 | - Verify that the filesystem mounted at /var grew beyond the default 5GiB |
||
77 | - Verify that combustion ran |
||
78 | |||
79 | #### microos/one_line_checks.pm |
||
80 | Simple checks after installation. |
||
81 | 2 | jlausuch | - Check that snapper is configured `snapper list` |
82 | - Subvolume check `btrfs subvolume show /var` |
||
83 | - `kubectl` is not installable if `SYSTEM_ROLE=microos` (only openSUSE MicroOS) |
||
84 | - `crio` should be installed if `SYSTEM_ROLE=kubeadm` (only openSUSE MicroOS) |
||
85 | 1 | jlausuch | |
86 | |||
87 | #### microos/services_enabled.pm |
||
88 | Check that services are enables based on system role |
||
89 | The following services should be enabled by default: |
||
90 | 2 | jlausuch | - `issue-add-ssh-keys` |
91 | - `issue-generator` |
||
92 | - `transactional-update.timer` |
||
93 | - `sshd` |
||
94 | |||
95 | 1 | jlausuch | On other system roles (MicroOS only), other services might be checked to be enabled. |
96 | |||
97 | |||
98 | #### microos/cockpit_service.pm |
||
99 | Basic check for cockpit service. |
||
100 | - Install `cockpit` package if not installed |
||
101 | - Install `cockpit-networkmanager` package if the system is running network-manager. |
||
102 | - Install `cockpit-wicked` package if the system is running wicked. |
||
103 | - Install `cockpit-machines` and `cockpit-tukit` if packages are available. |
||
104 | - Enable and start `cockpit.socket service` and check that Cockpit is active and accessible on http://localhost:9090 |
||
105 | - Test Cockpit service survives a reboot (it's active automatically after rebooting) |
||
106 | |||
107 | |||
108 | |||
109 | ### Specific transactional system tests |
||
110 | |||
111 | #### transactional/trup_smoke.pm |
||
112 | 4 | jlausuch | Basic smoke test to verify all basic transactional update operations work and system can properly boot. |
113 | - Reinstall bootloader: `transactional-update bootloader` |
||
114 | - Regenerate grub.cfg: `transactional-update grub.cfg` |
||
115 | - Regenerate initrd: `transactional-update initrd` |
||
116 | - Regenerate kdump: `transactional-update kdump` |
||
117 | - Run cleanup: `transactional-update cleanup` |
||
118 | |||
119 | 1 | jlausuch | |
120 | #### transactional/filesystem_ro.pm |
||
121 | 3 | jlausuch | Check that root filesystem is read only |
122 | - `/` is RO: |
||
123 | - cannot create `touch /should_fail` |
||
124 | - `btrfs property get / ro | grep "ro=true"` |
||
125 | - `/var` is RW: |
||
126 | - can create `touch /var/log/should_succeed` |
||
127 | - `btrfs property get /var ro | grep "ro=false"` |
||
128 | - `/etc` is RW: |
||
129 | - can create `touch /etc/should_succeed` |
||
130 | - Look for ro mount point in fstab: `findmnt -s / -n -O ro` |
||
131 | - Look for ro mount point in mounted filesystems: `findmnt / -n -O ro` |
||
132 | 1 | jlausuch | |
133 | #### transactional/transactional_update.pm |
||
134 | TBD |
||
135 | |||
136 | #### transactional/rebootmgr.pm |
||
137 | 6 | jlausuch | Test rebootmgr using different strategies |
138 | - Test instant reboot |
||
139 | - Test maint-window strategy |
||
140 | - Test etcd locking strategy |
||
141 | |||
142 | 1 | jlausuch | |
143 | #### transactional/health_check.pm |
||
144 | 5 | jlausuch | Check that health-check service works correctly. |
145 | - Install and enable service `health-checker` if not installed. |
||
146 | - `health-checker` command shall return `passed` string. |
||
147 | - Current snapshot shall be the same as the logged one from health-checker. |
||
148 | - Update rebootmgr.sh using transactional update shell to force health-checker to fail: |
||
149 | - f=$(rpm --eval %{_libexecdir})/health-checker/fail.sh; echo -e \'#/bin/sh\n[ "$1" != "check" ]\' > $f && chmod a+x $f |
||
150 | - reboot |
||
151 | - health-checker should rollback to the correct snapshot |
||
152 | - `health-checker` command shall return `passed` string. |
||
153 | 7 | jlausuch | |
154 | |||
155 | ### Cockpit UI testing (manual) |
||
156 | 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. |
||
157 | TBD |