This provides us with several additional features the builtin
select() loop does not, such as:
- Chainable async actions via coroutines
- asyncio bridge
This will keep the code simpler and read more like a synchronous
application.
Signed-off-by: Adam Stokes <adam.stokes@ubuntu.com>
Non-virtio nics get persistent names which require a 2 minute timeout
which slows the installer down. Use net.ifnames=0 in grub config to
handle non virtio nics getting persistent names until a fix arrives.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
Don't let user pass the same mount twice. TODO is to
include an error message widget and place the error
there instead of in the mountpoint widget value.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
- Remove the (1-4) since GPT partition doesn't have a limit
- Calculate the lastpartition value and handle the case where
we don't have any at first
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
- Remove the error when converting sizes between input and initial value
there is a rounding error in the floating point convertion when
passing values between humanize() and dehumanize().
- Fix the error when using the full size of the disk as the first
partition and not accounting for the GPT bios size
- Implement percentage used in Filesystem Views
- Consolidate on unit keywords (single char only)
- use humanize() to append the correct unit size, remove all
hard-coded sizes when fetching size
- fix bug in calculating total disk size by only asking for the
largest available partition from parted.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
- storage config is now a dict, with "version: 1" and "config: <storage
config>"
- switched curtin branch to use to lp:curtin, because custom storage features
are now available there
Facility for non blocking async calls that provide a clean
way of handling exceptions/errors in threads without us
having to define a bunch of global exception handlers.
Signed-off-by: Adam Stokes <adam.stokes@ubuntu.com>
The previous organization was in place to reduce the number of open
files when working on getting the demo into shape. Since we've completed
the demo revert back to our MVC model incorporating the latest changes
that were made during that time leading up to the demo.
Signed-off-by: Adam Stokes <adam.stokes@ubuntu.com>
- added apt-get update before installing packages
- install all packages at once instead of looping over them
- check for error from apt-get install
- don't try to chroot if copying resolv.conf fails
pyparted uses 'linux-swap(v1)' as the filesystem name to indicate swap files.
Curtin currently recognizes 'swap'. Update the FormatAction class to emit
'swap' to match curtin.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
Switch to GPT partition. This requires using a small gpt partition
to hold grub payloads and flagged as bios_grub. Add logic to
create a bios_grub_partition if one is not already created when
first partitioning devices.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
- Reset button will clear out any changes made to the filesystem model.
- Fixed Reset button label and callback.
- Reverted change to DiskPartitionView which called filesystem:finish instead
of returning back to FilesystemView.
- Fixed a few lint errors.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>