- Don't include Disk entries in storage config unless they've been modified
- Make sure underlying devices don't include partition table unless needed
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
- When user did not specify ssh/github id, this broke our postinstall template
Fix by only appending ssh-import-id if user specifies a value.
- Move hostname config into a separate part of the postinstall cloud-init
userdata so cloud-init actually applies the hostname specified
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
When curtin encountered an error, if the resulting message
was very large, this would prevent the progress screen from
displaying useful information and left the user believing the
install was still going on even when it had stopped.
Resolve this by applying some post processing on the curtin
error message to help user better spot the issue. We also
update the Title, Header and Footer to indicate an error has
occurred.
Finally, left-align the progress output.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
The latest curtin now does package dep checks during installation
which may install and enable things like lvm2 and mdadm. These
packages trigger running daemons which prevent the unmounting of
filesystem when building the installer image. Resolve this by
re-implementing curtin's [un]disable_daemon_in_root functions.
Update runinstaller to use 3 spare disks as virtio to enable
raid testing.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
The holders and tags were kept on the Disk object, however when
using partitions, this wasn't available since partitions are
represented by an action object. Avoid this by hanging the
holders and tags off of the filesystem model directly, indexing
by device.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
Enable Create Logical Volume (LVM2) option in filesystem view.
Implement backend for building and emitting LVM storage config.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
- Model inputs after Ubiquity layout
- Add Servername (hostname)
- Add SSH ID import (import from launchpad or github)
- Include information under important fields
- Drop old/unused hostname MVC files
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
- Skip add_partition entry for bcache, raid, and lvm devices
- Don't display Format entire partition if it's already been formated
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
The new fixed_X attribute will center and set a fixed size on the
widget wrapped. This keeps the widget the same size no matter the
scale of the window.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
We needed to add in a dummy stdin fd for the async run_command
Fix up the postinstall command
Add a check on tailing the install log file
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
Return to spawning curtin in two stages, and include additional
signals and flags to control when we spawn the postinstall
config operation.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
Ensure they all use backing_dev, cache_dev parameter ordering
Added properties to BcacheAction for involved devices
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
We initialized params and subnets to empty lists.
Params is expected to be a dictionary while subnets
is a list.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
Rework of the menu signals broke add-raid-dev by mapping a
menu signal to a completion signal. Revert add-raid-dev back
to non-menu signal to fix.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
We now have a bonding UX panel, modeled after the raid menu
where we have a list of interfaces and a radiobox for
selecting the bond mode. This calls into the network
model to add the bond interface.
- Update the network view to only display the Bond option if we have
more than one interface that is available (ie, not already part of
a bond).
- Also update the bond info to include the bond interface composition
in the hardware info such that it displays according to spec
- Add iface_is_bonded_slave to model
- Update network model info dict to include bond_{slave,master}. This
helps us display the (Bonded) attribute for slaves, but not the primary
bond iface.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
- Spec calls for a list of gateway ips followed by a list of interfaces
which are associated to be displayed
- Use updated model.set_default_gateway() method
- Add Default gateway status message to Network View
- Ensure that manually assigned gateways are displayed in the set default
route view by extracting the 'gateway' value from the subnets in
the Networkdev object.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
Probert includes network info on bonds and bridges, include this
data as we now rely upon it in the network model.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
When fixing the width of the column for network interface names
we re-introduced a bug that occurs when a host has no nics
available. Fix this again.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
The model makes use of Networkdev objects, when the
user is ready, done will extract the current configuration
from the devices and emit the actions.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
Match the same ordering of provider and method between the
main network view and the manual configuration views.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>