Actions
Transactional Update test description¶
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 ifSYSTEM_ROLE=microos
(only openSUSE MicroOS)crio
should be installed ifSYSTEM_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
andcockpit-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"
- cannot create
/var
is RW:- can create
touch /var/log/should_succeed
btrfs property get /var ro | grep "ro=false"
- can create
/etc
is RW:- can create
touch /etc/should_succeed
- can create
- 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 returnpassed
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 returnpassed
string.
Updated by jlausuch over 2 years ago ยท 3 revisions