Name

org.opensuse.Agama1.Manager

Methods

Probe       ();
Commit      ();
CanInstall  (OUT b result);
CollectLogs (IN  s user,
             OUT s tarball_filesystem_path);
Finish      ();

Properties

InstallationPhases        readable   aa{sv}
CurrentInstallationPhase  readable   u
IguanaBackend             readable   b
BusyServices              readable   as

Description

Method Details

The Probe() method

Probe ();

The Commit() method

Commit ();

The CanInstall() method

CanInstall (OUT b result);

OUT b result:

The CollectLogs() method

CollectLogs (IN  s user,
             OUT s tarball_filesystem_path);

IN s user:

OUT s tarball_filesystem_path:

The Finish() method

Finish ();

Property Details

The "InstallationPhases" property

InstallationPhases  readable   aa{sv}

All possible phases:

[
{"id" => 0, "label" => "startup"},
{"id" => 1, "label" => "config"},
{"id" => 2, "label" => "install"}
]

The installation process follows a set of phases. Only the main service (`Agama::Manager`) knows the information about the current installation phase. The rest of services will act as utility services without any knowledge about the whole installation process.

A client (e.g., a web UI) will ask to the main service for the current phase of the installation.

In principle, the installation will follow 3 possible phases: *Startup*, *Config* and *Install*.

* *Startup* Phase: This is the initial phase. The manager service will start in this phase and it will not change to another phase until the client asks for performing the next phase.

* *Config* Phase: The installation is configured during this phase. Configuring the installation means that everything needed from the system is read and the required default proposal are calculated. In YaST terms, the *config* phase implies to probe some modules like storage, language, etc, and to perform their proposals. Note that not all modules have to be probed/proposed. Probing some modules could be delayed to the next *install* phase.

* *Install* Phase: This phase implies to perform everything to install the system according to the selected options and proposals. Note that this phase is not only a typical YaST commit. For example, some proposals (software?) could be done during this phase. In short, at the beginning of this phase we have all the required information to perform the installation, and at the end of the phase the system is installed.

The "CurrentInstallationPhase" property

CurrentInstallationPhase  readable   u

Id of the current phase.

The "IguanaBackend" property

IguanaBackend  readable   b

The "BusyServices" property

BusyServices  readable   as