A new builtin curthook was introduced to address copying over
common metadata from /cdrom/.disk/ at install time. This addressed
copying /cdrom/.disk/info and /cdrom/.disk/ubuntu_dist_channel
(LP: #2037038).
Adds support for AutoinstallValidation errors, the first class
of non-reportable errors. Includes a separate error overaly to
display a warning to the user about the issue.
Changes to the server to allow restarting the installer before all
of the controllers are loaded, since the error means the controllers
won't ever be loaded. Adds special handling to the ProgressView to
change the Reboot (the machine) button to a Restart (the installer) button
for this case.
Currently, installations of Ubuntu Server and Ubuntu Desktop both fail
on UEFI-based systems because of a grub2 bug. This is a workaround to
avoid failing installs until grub2 migrates to the release pocket.
Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
Now that curtin more or less supports NVMe over TCP with the rootfs on
remote storage, relax the contraints set by subiquity.
We still need the /boot (and /boot/efi) partitions on local storage
though.
Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
Change when the server discovers if the install is interactive or not.
This allows clients to display autoinstall errors in an interactive
way, if applicable. This also enables accessing the ssh_info endpoint
before all of the controllers are loaded. Autoinstall loading happens
after the loading cloudinit stage, so this should be accessible by then.
If a failure happens during/before cloudinit is finished, `interactive`
will still be set to `None` and clients should default to the
non-interactive case.
Adds a field to the ApplicationStatus struct, nonreportable_error,
to be filled when the server enters an error state due to a
non-reportable error/exception type.
When importing a key on a terminal with limited capabilities, the UI can
crash with:
File "urwid/canvas.py", line 1315, in apply_text_layout
return TextCanvas(t, a, c, maxcol=maxcol)
File "urwid/canvas.py", line 358, in __init__
raise CanvasError("Canvas text is wider than the maxcol [...]
urwid.canvas.CanvasError: Canvas text is wider than the maxcol specified
When a SSH key is too long to be displayed on the terminal, we clip the
end and show the ellipsis "…" character instead. It is supposedly 1
column wide but it reverts to "..." (3 columns wide) on terminals with
limited capabilities.
The bug seems fixed in urwid in noble but we're using core22 for now.
Let's not try to show the character until we switch to core24 (or until
the bug is fixed in jammy).
LP: #2055702
Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
Inspect cloud-init status for disabled. When disabled do not
call stages.Init due to a side-effect that cloud-init tries to
rediscover any viable datasource when none are previously
discovered.
LP: #2055077
Clarify that the implemented mechanism is the keystore setup. An
implementation that doesn't use native ZFS encryption is plausibly
interesting, which is a better use of the term ZFS_LUKS.
We generally expect /var/lib/snapd/modeenv to exist, but in case it does not,
fall back to picking up the mode from kernel command line (just like snapd does
it).
Signed-off-by: Maciej Borzecki <maciej.borzecki@canonical.com>
The changes in 66e8222a09 and
f3043cde88 introduced established
/run/console-conf as the project runtime directory. Make sure that the wrapper
uses the same location.
Credits to @kubiko for introducing the changes in his core24 nucleus branch.
Signed-off-by: Maciej Borzecki <maciej.borzecki@canonical.com>