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>
The virtualenv was proving more complicated to use during the
image building process. Broke off our own shim until Debian/Ubuntu
get newer urwid packages.
Signed-off-by: Adam Stokes <adam.stokes@ubuntu.com>
We've encountered some usb nics which don't have an entry
in the udev database, subsequently the ID_XXX_FROM_DATABASE
isn't present in the output. Address this by using some
fallback keys, ID_XXX, ID_XXX_ID and an Unknown value if
all fail.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
The model gets passed into the view, but it's only the class name
We need to create an object of the model class before we can use it.
Also implement new network get_iface_info to dump additional iface
info in the view.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
Update subiquity welcome controller to call probert to extract
host information and present it to the user briefly before
invokin the curtin installer.
Add the install_src to git clone probert. Pack this as a tarball
in the user-data like subiquity.
Update user-data package installs for new probert deps.
Modify boot parameters to handle systemd persistent nic naming;
we may not always have eth0 as a nic. Subsequently update
user-data to use bootcmd to automatically attempt to bring up
nics during the boot before the installer.
Finally fix commandline parsing/output in geninstaller.
Implement version parameter and better caching of previous
maas ephemeral images.
Fix issue with removing cache after unpacking rootfs which is
now owned by root (add sudo to rm of cache).
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>