Commit Graph

17 Commits

Author SHA1 Message Date
Olivier Gayot 4c70b78fba install: invoke curtin multiple times with different stages
We now invoke curtin install in a step-by-step mode. Before, we would
perform a single invocation of curtin install for the following stages:

 * early (but no early_commands configured)
 * partitioning
 * extract
 * curthooks
 * hook
 * late (but no late_commands configured)

We now run multiple invocations of curtin install, in 5 different steps:

 * initial: does not run any stage per se but prepares curtin
   for the next invocations (this invocation is not strictly necessary
   and could be merged with the next step but having it separate makes
   the flow easier to understand, I think)
 * partitioning: runs the partitioning stage
 * extract: runs the extract stage
 * curthooks: runs the curthooks stage

The early and late stages were dropped since they would act as no-ops.
We also dropped the hook stage since it does nothing in Ubuntu.

The configuration files for each step ends up in
/var/log/installer/curtin-install/subiquity-{step_name}.conf

The log files for each step end up in
/var/log/installer/curtin-install/{step_name}.log

If errors occur, a tarball of the necessary logs end up in
/var/log/installer/curtin-install/{step_name}-error.tar

All files (i.e. configuration files, log files, error-files) are bundled
in the apport report in case of crash.

Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
2022-08-11 09:16:06 +02:00
Michael Hudson-Doyle 545d5cc4c1 expand DESIGN.md a bit 2021-08-05 16:19:13 +12:00
Dan Bungert 21058464fd
make_cloudconfig - start moving cloud config generation to models (#975)
Add make_cloudconfig as a function that models should offer that allows
for generation of the cloud-config snippet.
Move snaplist and locale to this mechanism.
Add a test for snaplist output.
2021-06-08 16:54:29 -06:00
Michael Hudson-Doyle 7a6a984578 add a bit in DESIGN.md about how errors work in the API 2021-05-13 06:17:33 +12:00
Michael Hudson-Doyle 4e423d5b7d trivial DESIGN.md updates 2021-03-18 16:25:41 +13:00
Michael Hudson-Doyle c77d6b402a document how error handling should work 2020-12-18 14:42:01 +13:00
Michael Hudson-Doyle 0ad21b7c96 smoosh InstallState into ApplicationState
Having these be separate was slightly confusing, particular as I need to
add an "ERROR" state that isn't necessarily due to the install step
itself failing. Now we have one enum for the overall status of the
installer and a separate field that indicates whether the client should
be in interactive or non-interactive mode (or "not-yet-known" which is
handled more or less like non-interactive mode).
2020-12-18 14:41:35 +13:00
Michael Hudson-Doyle bc81cee393 write some documentation 2020-11-04 10:57:22 +13:00
Michael Hudson-Doyle 6007b4dc41 do not crash in a terminal < 76 columns wide
for https://bugs.launchpad.net/ubuntu-z-systems/+bug/1874314
2020-04-28 21:32:46 +12:00
Michael Hudson-Doyle ae5cd6268a kill off run_in_bg and some related hacks 2019-12-15 08:53:37 +13:00
Michael Hudson-Doyle 6703efd03e document SingleInstanceTask a bit in DESIGN.md 2019-12-13 10:05:49 +13:00
Michael Hudson-Doyle 08e081415d move async_helpers to subiquitycore 2019-12-13 10:04:02 +13:00
Michael Hudson-Doyle 2d2c4e740a update DESIGN.md 2019-12-12 15:48:11 +13:00
Michael Hudson-Doyle e1531eaa6a update DESIGN.md 2019-12-11 15:02:13 +13:00
Michael Hudson-Doyle a2ccb0cd9e remove all remaining footer-related things 2019-09-30 09:32:23 +13:00
Michael Hudson-Doyle e1981ecaeb a few updates 2019-04-26 10:40:04 +12:00
Michael Hudson-Doyle 77139697d6 start a design document 2019-04-17 20:05:35 +12:00