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>
- Use get_interface method to obtain and Networkdev object
and interact with this. Validates {add,remove}_subnet methods
on Networkdev objects.
- Add method in model for setting and validating gateway values
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
The network model wasn't not prepared to allow manual configuration
to affect the state such that after manual configuration the view
would be able to extract the current state of a network device
config. Reuse the Blockdev model as Networkdev as well as encapsulating
the use of the action objects as a means of storting the current
configuration.
Adjust the views to use the updated model.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
- Call into model to extract interface info to populate view
- Clearly display two modes, ipv4 and v6
- Change button style, ideally we'd make a new one that doesn't indent by two
chars
- Disabled ipv6 button for now
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
- Apply limits to realname (1..160)
- Apply limits to username (1..32)
- Restrict chars allowed for realname via RealnameEditor widget
- Ensure all fields have input
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
- Add a 'Quit Installer' button on the final install progress screen. This
is useful for users who want to mess around with the system post-install.
- Redirect 'Reboot' to 'quit' if we're in dry-run mode.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
Implement a stack-based signal class to push and pop menu levels
Switch navigation signals to use 'menu:' for filtering
Ensure all view classes subclass from ViewPolicy for common keypress
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
Running flake8 via python3 triggers python3 level of lint checking.
This fixes at least the case where python2 flags the '_*' expander.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
When we create virtual deviecs (raid, lvm and bcache)
we store constructed info dictionaries; these must be
removed when we reset the model state.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
When fixing show-disk-info on virtio devices, a thinko when
indexing the info structure caused issues when looking at
a secondary clause in a compound statement. Fix this by
extracting the value via a .get and checking.
- Also include a probert dump of a virtio-based cloud image
for testing with virtio devices.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
Include the ui path in the view logging to help indicate which parts of the MVC
are logging debug data.
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>