Project

General

Profile

Actions

action #167470

closed

coordination #163919: [epic] Create automation setup for testing Agama

Enable installation for full encryption with focus on booting the installed system

Added by JERiveraMoya 3 months ago. Updated 2 months ago.

Status:
Resolved
Priority:
High
Assignee:
Target version:
-
Start date:
2024-09-26
Due date:
% Done:

0%

Estimated time:

Description

Motivation

As a follow up of #166133 we need to figure out a way to boot the system, when having two password and potentially create our page objects to do that instead of using legacy code.

Scope

Agama devel
Leap 16
Agama SLES

In s390x we cannot connect to the installed system, so we can skip this one.

Acceptance criteria

  • AC1: Enable installation for full encryption with focus on booting the installed system
  • AC2: Convert to Page Object the code in the new test modules developed in AC1.

Files

TW_1.png (6.4 KB) TW_1.png Enter passphrase for hd0.gpt2 lmanfredi, 2024-09-26 12:57
TW_2.png (10.6 KB) TW_2.png Please enter passphrase for disk cr_swap lmanfredi, 2024-09-26 12:57
TW_3.png (5.45 KB) TW_3.png login: lmanfredi, 2024-09-26 12:57

Updated by lmanfredi 3 months ago

By a local test using a VM with agama-installer.x86_64-10.0.0-openSUSE-Build25.17.iso, the steps are:

  • Enter passphrase for hd0.gpt2
  • Please enter passphrase for disk cr_swap
  • login:
Actions #2

Updated by lmanfredi 3 months ago

Created WIP PR#20303

Actions #4

Updated by JERiveraMoya 3 months ago ยท Edited

Remaining part is:
To install Tumbleweed with the (current production) installer and compare the result with a installation with agama, both should contain the root and the swap partitions encrypted and similar characteristics of LUKSs, etc., if they don't then we stop here and file a bug (or discuss with squad in our channel if in doubt).
If those are similar, then let's add YAML_TEST_DATA to pass validation in validate_encrypt test module.

Repeat the same process to enable the test suite in Leap 16 and SLES 16 job groups.

Actions #5

Updated by lmanfredi 3 months ago

Closed PR#20303

Actions #6

Updated by lmanfredi 2 months ago

The current installation contains 2 encrypted device, verified also by local VM test.
But the test data eg

  • test_data/yam/agama_tumbleweed_full_disk_encryption.yaml
  • test_data/yam/agama_full_disk_encryption.yaml

contains:

---
crypttab:
  num_devices_encrypted: 1

The proposal is to create a new yaml test data for YAML_TEST_DATA that fit the actual number of devices

Actions #7

Updated by lmanfredi 2 months ago

Could be enough to add the section test_data into yaml schedule file schedule/yam/agama_full_disk_encryption.yaml:

test_data:
  crypttab:
    num_devices_encrypted: 2
  <<: !include test_data/yast/encryption/default_enc_luks2.yaml

as in the Tumbleweed test case crypt_no_lvm

Actions #8

Updated by lmanfredi 2 months ago

Created PR#20351

Actions #9

Updated by lmanfredi 2 months ago

Merged PR#20351

Actions #10

Updated by lmanfredi 2 months ago

Verified in production with build 25.64: agama_full_disk_encryption

Actions #11

Updated by JERiveraMoya 2 months ago

Following the scope described in the ticket:

Actions #12

Updated by lmanfredi 2 months ago

I think that for USB installation (agama_full_disk_encryption@uefi-usb-4G) we need a different YAML_SCHEDULE because after agama perl module has completed,
it shown again the same windows as in boot_agama perl module during the run of boot_full_disk_encryption, like the system is still need to install.
See:
https://openqa.opensuse.org/tests/overview?build=build-issues-167470
https://openqa.opensuse.org/tests/4549174#step/boot_full_disk_encryption/3
https://openqa.opensuse.org/tests/4549174#step/boot_agama/1

Actions #13

Updated by JERiveraMoya 2 months ago

lmanfredi wrote in #note-12:

I think that for USB installation (agama_full_disk_encryption@uefi-usb-4G) we need a different YAML_SCHEDULE because after agama perl module has completed,
it shown again the same windows as in boot_agama perl module during the run of boot_full_disk_encryption, like the system is still need to install.
See:
https://openqa.opensuse.org/tests/overview?build=build-issues-167470
https://openqa.opensuse.org/tests/4549174#step/boot_full_disk_encryption/3
https://openqa.opensuse.org/tests/4549174#step/boot_agama/1

yes, that will be in another ticket to tackle, requires a workaround to go to hard disk, I was expecting to see it in some of the new scenarios we are adding.

Actions #14

Updated by lmanfredi 2 months ago

Created needles with tag:

  • enter-passphrase-for-root-partition
  • enter-passphrase-for-swap-partition

on repo os-autoinst-needles-sles

enter-passphrase-for-root-partition-20241015.json:    "enter-passphrase-for-root-partition"
enter-passphrase-for-root-partition-x86_64-20241015.json:    "enter-passphrase-for-root-partition"
enter-passphrase-for-swap-partition-20241015.json:    "enter-passphrase-for-swap-partition"

for SLES.

Created os-autoinst-distri-opensuse PR#20399

Skipped test modules validate_encrypt in job template EXCLUDE_MODULES: validate_encrypt

Actions #15

Updated by lmanfredi 2 months ago

Merged PR#20399

Actions #16

Updated by JERiveraMoya 2 months ago

  • Status changed from In Progress to Resolved
Actions

Also available in: Atom PDF