In addition to autoinstall_key, controllers can now define an
autoinstall_key_alias.
The purpose of this attribute is to provide a backward compatibility
mechanism when we need to change the name of an autoinstall_key for
whatever reason.
When loading autoinstall data, if we can't find data matching the
autoinstall_key, we will now also look for data matching the key alias.
In the JSON schema, the old name (i.e., autoinstall_key_alias) will be
marked deprecated and the description will have the name of the
replacement key (i.e., autoinstall_key).
Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
Building with --destructive-mode fails with error:
dh install
dh_testroot
dh_testroot: error: You must run this as root (or use fakeroot).
make: *** [debian/rules:6: install] Error 255
Use fakeroot for installation.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
The build instruction contain a step
PYTHONPATH=probert ./probert/bin/probert --all > mymachine.json
This requires package os-prober.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Running `make install_depends` does not (always) pull python3-systemd
which is a dependency of Subiquity.
In environments having Install-Recommends enabled, python3-systemd is
pulled by apport which is itself pulled by python3-apport.
Fixed by adding it to the list of dependencies in apt-deps.txt
Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
Instead of having interleaved stdout and stderr in server-output, we now
have respectively:
* stdout redirected to server-stdout
* stderr redirected to server-stderr
This will allow us to monitor for warnings / errors more efficiently.
Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
RFC3339 allows dates to use the Z suffix instead of a time zone offset
of 0. Unfortunately, this is not supported by Python
datetime.date.fromisoformat. Work around the issue by replacing the
optional Z character with +00:00 before parsing the date.
Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
The ensure_cmd_exists() coroutine from ubuntu_drivers was never awaited.
Therefore, the check would always silently succeed. Taking a look in
server-output would show the warning though:
RuntimeWarning: coroutine
'UbuntuDriversHasDriversInterface.ensure_cmd_exists' was never awaited
self.ubuntu_drivers.ensure_cmd_exists(d.mountpoint)
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
Also, the implementation of ensure_cmd_exists() when
SUBIQUITY_DEBUG=run-drivers is set was failing because we use a shell
builtin as an executable. This was not noticed since ensure_cmd_exists()
was not executed and arun_command() does not check for errors by
default.
Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>