Models/
Inherit a model policy that outlines the minimum requirements.
Things like exposed signals, menuing structure, and previous
controller are expected to be there.
Controllers/
Moved controller logic in a core controller which eases
the signal emitter to view mappings.
Signals/
Navigation and views are handled by a global Signal
class which manages all emitted signals and their
connection callbacks.
This also removes the need for having to define
callbacks in all of the view classes.
UI/
Made a dummy view availble for those that have
yet to be implemented.
Signed-off-by: Adam Stokes <adam.stokes@ubuntu.com>
grub2 supports rebooting into the newly installed image so change
curtin_wrap to reboot upon successful install.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
Partial implementation using parted to model new partitions.
Add a method to track sequential actions taken against block
device and can write out a storage config file for curtin.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
- installer/geninstaller: when -b grub2 flag is given, installs grub2 using
grub-install, copies installer/resources/grub/grub.cfg onto target
- installer/resources/grub/grub.cfg: grub configuration that in addition to
having a menuentry for the installer, scans all partitions on the system
other than the one it is running from for linux installations and creates
menuentries for the other installations as well, to deal with potential
situations where the user reboots the system after installing but does not
remove the installation disk
The logging data generated during storage probing is
hard to read, so instead, dump the data out via json.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
Detect successful install by looking at output from
curtin logged to a file. Also read for input from
user on successful install.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
Not clear how else to resolve this, possibly patch to upstream kernel
but unlikely. so let's disable the floppy disk in our VM.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
- Use updated probert *Info class for accessing object data
- Add --dry-run parameter to prevent invoking curtin when testing
- Add new make target to run ui-view by default with --dry-run
- Use a template to write out curtin config file for installation
- Use virtio disks and multiple nics to test probing.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
Apparently asyncioeventloop needs more than a shim to work properly
in urwid <= 1.2.1. Remove the shim and revisit once urwid 1.3.0 is
packaged in Debian/Ubuntu
Fixes#11
Signed-off-by: Adam Stokes <adam.stokes@ubuntu.com>