Skip to content

Instantly share code, notes, and snippets.

View joseivanlopez's full-sized avatar

José Iván López joseivanlopez

  • Suse Linux Gmbh
  • Las Palmas de Gran Canaria
View GitHub Profile

Phases and Progress

A service has an installation phase, and the installation phase has an status:

  • Installation phases: probe, install

  • Phase status: doing, done, error

  • Progress: represents the progress of a phase in doing state

D-Installer needs to offer a D-Bus API for bi-directional communication with the client. Sometimes, the backend has to wait until the client provides some information. A typical case is when requesting for a LUKS password meanwhile the storage system is been probed.

Requirements

The minimal requirements for the communication API are:

  • Emit signal when a new question is added
  • Offer a way to get the list of questions
  • Offer a way to get the list of unanswered questions
  • Offer a way to get information from a question (e.g., the UUID the question refers to)

YaST Systemd Services

YaST provides three systemd services: YaST2-Firstboot.service YaST2-Second-Stage.service and autoyast-initscripts.service. The first two services belong to yast2-installation and the last one to autoyast2-installation.

The service YaST2-Firstboot.service takes care of running YaST Firstboot. Nowadays this service only does that, so it seems misplaced in yast2-installation. Maybe it should be moved to yast2-firstboot. Anyway, the service would fail if yast2-firstboot is not installed.

The service YaST2-Second-Stage.service runs the AutoYaST second stage on the first boot after an AutoYaST installation/upgrade. And autoyast-initscripts.service runs after the second stage in order to execute customs scripts.

Services Workflow in Second Stage

Improving Modules and Extensions Dialog

The dialog for selecting modules and extensions consists on a scrollable list of checkboxes. Each checkbox has 3 possible states: selected, auto-selected and unselected. Checboxes can be disabled too. When a checkbox is checked, its dependencies are auto-selected if they are not selected yet. Similarly, when a checkbox in unchecked, its dependencies are deselected if they are auto-selected. Moreover, the details of the currently selected item are shown in a Details box below the list of checkboxes.

This dialog presents some usability problems:

  • You could not realize about auto-selected items when such items are out of scroll.
  • After selecting some items, it is difficult to know what is the master item for each auto-selected item.
  • Filtering or sorting items could be desirable, for example, you would like to see the list of selected (or unselected) items without scrolling the full list.

SLE-15-SP3

  • Image: SLE-15-SP3-Online-x86_64-GM-Media1.iso
  • Qt Version: 5.12
  • Resolution: ok

yast-inst-15sp3-online

SLE-15-SP4

When there are a lot of encrypted devices, the user is asked to provide the password for every LUKS. This can be very annoying in some typical cases. For example, if the user only wants to activate one device, or if all devices use the same password.

Possible use cases

  • Accept password for the current luks
  • Accept password for the current luks and try to activate next lukes with the same password.
  • Cancel activation of the current luks
  • Cancel activation of the current and next lukses

The popup to ask for the password should provide options to cover such use cases.

@joseivanlopez
joseivanlopez / issues_report.md
Last active December 2, 2021 09:04
Issues report: proposal N

Screenshot from 2021-12-02 08-46-56

Screenshot from 2021-12-02 09-03-23

Which one best describes the disks layout?

Screenshot from 2021-09-14 11-51-27

Screenshot from 2021-09-14 11-50-44

OBS Build Test

Package: yast2-storage-ng

Version Project Acepted on Project Build on i586 Build on x86 Test Link
4.1.97 SLE-15-SP1:Update Yes Yes Yes Open
4.2.117 SLE-15-SP2:Update Yes No Yes Open
4.2.118 SLE-15-SP2:Update No No Yes Open
4.3.53 SLE-15-SP3:Update Yes No Yes Open