lib/security/sle16cc.pm

fill_screen

fill_screen($tag, $text);

Wait for a screen, type a text in the input field and confirm it.

login_as_user

login_as_user($user, $password);

Log in on the text console of the booted system.

unlock_and_login_cc_system

unlock_and_login_cc_system($user, $password);

Boot the installed system after a reboot. Enter the disk encryption passphrase, select the default grub entry if the menu is shown and log in on the text console. The prompt looks different on UEFI, where tianocore shows it.

type_line_zkvm

type_line_zkvm($text [, secret => 1]);

Send a line to the serial console of the s390x zKVM guest. The svirt console must be selected and save_svirt_pty must be called before.

The text goes through the shell of the svirt host, so the text is quoted. type_line_svirt does not quote the text, and passwords with special characters break. Set secret to hide the text in the logs.

answer_zkvm

answer_zkvm($expect, $text [, timeout => $timeout] [, secret => 1]);

Wait for $expect on the serial console and send $text as a line. Die at once if the CC installer shows an error.

unlock_and_login_cc_system_zkvm

unlock_and_login_cc_system_zkvm($user, $password);

Boot the installed system on s390x zKVM after a reboot. Enter the disk encryption passphrase on the serial console and log in. The number of passphrase prompts depends on the disk layout, so the function answers each prompt until the login prompt is shown.

permit_root_ssh_zkvm

permit_root_ssh_zkvm($password);

On s390x zKVM all the root consoles of openQA, like root-console and root-serial-ssh, use SSH. SLE 16 does not permit the root login with a password over SSH, and the CC installer cannot change it like an Agama profile. Log out the first user from the serial console, log in as root and permit the root login over SSH.