With the addition of riscv64 we have a case that is using
emulation, but actually having a fine bootloader.
Splitting up the detection allows to boot properly the kernel on the
image/disk and furthermore to run it without root (which otherwise
would be needed to mount and extract the guest kernel on the host).
Signed-off-by: Christian Ehrhardt <email address hidden>
Following LP: #2013403, cloud-init now prevent login until the system
is fully provisioned, which create a situation where we can connect to
ssh but not login.
This fix it by capturing exit code and retrying if a specific exit code
occurs.
We don't enable ssh retries for other kind of errors.
When uvtool creates a VM, it uses the qemu system daemon connection.
This commit forces the list command to use the same connection no matter
the local configuration. This makes create/list command consistent.
Using the virsh wrapper has the disadvantage of not taking into
consideration libvirt configuration we assume (for example using the
system daemon for the libvirt qemu driver/hypervisor.
Also, given that uvtool tends to be used as a shim over libvirt,
filtering the list output wouldn't be very helpful.
This commit clarifies the above and marks a todo to turn this into a
better native implementation.