org.opensuse.Agama1.Manager
Probe (); Commit (); CanInstall (OUT b result); CollectLogs (IN s user, OUT s tarball_filesystem_path); Finish ();
InstallationPhases readable aa{sv} CurrentInstallationPhase readable u IguanaBackend readable b BusyServices readable as
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.