Project

General

Profile

Actions

Wiki » History » Revision 8

« Previous | Revision 8/10 (diff) | Next »
jlausuch, 2022-09-13 16:01


COCKPIT MANUAL TEST

Preparation

Install the needed modules

Make sure the following packages are installed on the system:

---+------------------------+------------------------------------------------------------------------------+--------
i+ | cockpit                | Web Console for Linux servers                                                | package
i  | cockpit-bridge         | Cockpit bridge server-side component                                         | package
i+ | cockpit-kdump          | Cockpit user interface for kernel crash dumping                              | package
i+ | cockpit-machines       | Cockpit user interface for virtual machines                                  | package
i+ | cockpit-networkmanager | Cockpit user interface for networking, using NetworkManager                  | package
i+ | cockpit-podman         | Cockpit component for Podman containers                                      | package
i+ | cockpit-selinux        | Cockpit SELinux package                                                      | package
i+ | cockpit-storaged       | Cockpit user interface for storage, using udisks                             | package
i+ | cockpit-system         | Cockpit admin interface package for configuring and troubleshooting a system | package
i+ | cockpit-tukit          | Cockpit module for Transactional Update                                      | package
i+ | cockpit-ws             | Cockpit Web Service                                                          | package

If needed, to install them:
transactional-update pkg install cockpit-X cockpit-Y cockpit-Z

Reboot the system.

Start cockpit service

systemctl enable --now cockpit.socket

In a browser, load the Cockpit UI using https://:9090.

Overview Tab

Logs Tab

Storage Tab

Podman Containers Tab

Virtual Machines Tab

Accounts Tab

Services Tab

Kernel Dump Tab

SELinux Tab

Software Updates Tab

Terminal Tab

APENDIX

SLE Micro Test Cases

Basic checks

microos/networking.pm

Basic network and connectivity check.

  • Print network configuration (ip addr show and resolv.conf)
  • Ping localhost 127.0.0.1 (IPv4) and ::1 (IPv6)
  • Curl to openqa.opensuse.org and github.com

microos/libzypp_config.pm

Check that zypper configuration is customized for MicroOS.

  • egrep -x "^solver.onlyRequires ?= ?true" /etc/zypp/zypp.conf
  • egrep -x "^rpm.install.excludedocs ?= ?yes" /etc/zypp/zypp.conf
  • egrep -x "^multiversion ?=" /etc/zypp/zypp.conf

microos/image_checks.pm

Simple image specific checks:

  • Verify that openQA resized the disk image
  • Verify that there is no unpartitioned space left
  • Verify that the filesystem mounted at /var grew beyond the default 5GiB
  • Verify that combustion ran

microos/one_line_checks.pm

Simple checks after installation.

  • Check that snapper is configured snapper list
  • Subvolume check btrfs subvolume show /var
  • kubectl is not installable if SYSTEM_ROLE=microos (only openSUSE MicroOS)
  • crio should be installed if SYSTEM_ROLE=kubeadm (only openSUSE MicroOS)

microos/services_enabled.pm

Check that services are enables based on system role
The following services should be enabled by default:

  • issue-add-ssh-keys
  • issue-generator
  • transactional-update.timer
  • sshd

On other system roles (MicroOS only), other services might be checked to be enabled.

microos/cockpit_service.pm

Basic check for cockpit service.

  • Install cockpit package if not installed
  • Install cockpit-networkmanager package if the system is running network-manager.
  • Install cockpit-wicked package if the system is running wicked.
  • Install cockpit-machines and cockpit-tukit if packages are available.
  • Enable and start cockpit.socket service and check that Cockpit is active and accessible on http://localhost:9090
  • Test Cockpit service survives a reboot (it's active automatically after rebooting)

Specific transactional system tests

transactional/trup_smoke.pm

Basic smoke test to verify all basic transactional update operations work and system can properly boot.

  • Reinstall bootloader: transactional-update bootloader
  • Regenerate grub.cfg: transactional-update grub.cfg
  • Regenerate initrd: transactional-update initrd
  • Regenerate kdump: transactional-update kdump
  • Run cleanup: transactional-update cleanup

transactional/filesystem_ro.pm

Check that root filesystem is read only

  • / is RO:
    • cannot create touch /should_fail
    • btrfs property get / ro | grep "ro=true"
  • /var is RW:
    • can create touch /var/log/should_succeed
    • btrfs property get /var ro | grep "ro=false"
  • /etc is RW:
    • can create touch /etc/should_succeed
  • Look for ro mount point in fstab: findmnt -s / -n -O ro
  • Look for ro mount point in mounted filesystems: findmnt / -n -O ro

transactional/transactional_update.pm

TBD

transactional/rebootmgr.pm

Test rebootmgr using different strategies

  • Test instant reboot
  • Test maint-window strategy
  • Test etcd locking strategy

transactional/health_check.pm

Check that health-check service works correctly.

  • Install and enable service health-checker if not installed.
  • health-checker command shall return passed string.
  • Current snapshot shall be the same as the logged one from health-checker.
  • Update rebootmgr.sh using transactional update shell to force health-checker to fail:
    • f=$(rpm --eval %{_libexecdir})/health-checker/fail.sh; echo -e \'#/bin/sh\n[ "$1" != "check" ]\' > $f && chmod a+x $f
    • reboot
    • health-checker should rollback to the correct snapshot
  • health-checker command shall return passed string.

Cockpit UI testing (manual)

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

Updated by jlausuch over 1 year ago · 8 revisions