Commit Graph

229 Commits

Author SHA1 Message Date
Michael Hudson-Doyle fae9be9103 make the network view slightly less of a snowflake 2019-02-04 17:25:31 +13:00
Michael Hudson-Doyle bee1109a2d Much more fine grained answers support for networking. 2018-10-31 09:59:31 +13:00
Michael Hudson-Doyle 15b6bb1114 Major refactor of network model
The main thrust of this is to not create virtual interfaces until
applying the config.

This meant that the network model has to change a bit to be able to
represent interfaces that do not yet exist on the system. I did this
by ripping out most of the existing network device code: now a
NetworkDev is really just a wrapper for the config for a device and (if
it exists) the netlink data too. A few places had to adjust to checking
if the netlink info is available before accessing it but all in all it
was not that painful.

There are a few other refactorings in this commit that perhaps should be
split out (how the bond parameters are handled, some stuff about
resizing the table rows when interfaces are edited) but it doesn't
really seem worth it.
2018-10-31 09:58:56 +13:00
Michael Hudson-Doyle 7a86603539 prevent bonding of bonds
https://bugs.launchpad.net/bugs/1782397
2018-07-23 10:39:14 +12:00
Michael Hudson-Doyle 96ee3db409 make example CIDR form address family appropriate
https://bugs.launchpad.net/bugs/1782391
2018-07-23 10:38:06 +12:00
Michael Hudson-Doyle 7f766e93a1 forbid bonding of vlans
https://bugs.launchpad.net/bugs/1782351
2018-07-23 10:34:41 +12:00
Michael Hudson-Doyle 42b339605c make button labels more consistent
especially back vs cancel

for https://bugs.launchpad.net/subiquity/+bug/1781457
2018-07-16 22:45:36 +12:00
Michael Hudson-Doyle 437f42b599 lint 2018-07-12 11:36:30 +12:00
Michael Hudson-Doyle f3b0d13fbe a proper multi-nic selector 2018-07-12 10:10:08 +12:00
Michael Hudson-Doyle 07ac05b6d3 view improvements 2018-07-11 22:02:52 +12:00
Michael Hudson-Doyle 46c0d598ad first cut at a bond form that handles devices too 2018-07-11 22:02:52 +12:00
Michael Hudson-Doyle 5e683dcc1f add create bond button 2018-07-11 22:02:52 +12:00
Michael Hudson-Doyle 2f149a8aac enable/disable bond options as bonding mode changes 2018-07-11 22:02:52 +12:00
Dimitri John Ledkov 87558f0074 lint 2018-07-11 22:02:52 +12:00
Dimitri John Ledkov 87ef3749e6 Finish bond master/slaves. 2018-07-11 22:02:52 +12:00
Dimitri John Ledkov e0d231f5d7 Create bond 2018-07-11 22:02:52 +12:00
Michael Hudson-Doyle 0457985208 fixup tests 2018-07-11 14:55:41 +12:00
Michael Hudson-Doyle 535a0f3b04 fix editing an interface 2018-07-11 09:43:58 +12:00
Michael Hudson-Doyle e91308e8b9 close any dialog open for an interface that is deleted 2018-07-11 09:36:14 +12:00
Michael Hudson-Doyle 91def10468 improve message on vlan interfaces 2018-07-10 22:58:47 +12:00
Michael Hudson-Doyle 53a14e30ad make updates to network screen in response to netlink events more finegrained 2018-07-10 13:25:05 +12:00
Michael Hudson-Doyle 1701246d12 refactor how device row gets created a bit 2018-07-10 12:34:42 +12:00
Michael Hudson-Doyle b3636cfcd9 refactor how netdev action menu gets populated 2018-07-10 12:30:01 +12:00
Dimitri John Ledkov 8a0e94ccc7 Pacify flake8 2018-07-06 15:00:27 +01:00
Dimitri John Ledkov a4daae42d6 Fix crash, after deleting last vlan. 2018-07-06 14:33:34 +01:00
Dimitri John Ledkov 68b6b2a6b1 Implement information screen for the network interfaces. 2018-07-06 14:33:32 +01:00
Dimitri John Ledkov 92c53b29ae Vlan ui 2018-07-06 14:31:42 +01:00
Michael Hudson-Doyle e3e5c7f760 fix tests 2018-07-06 14:44:19 +12:00
Michael Hudson-Doyle ed09054928 fix lint 2018-07-06 14:17:27 +12:00
Michael Hudson-Doyle 29fe577013 delete more unused code 2018-07-06 14:13:30 +12:00
Michael Hudson-Doyle 830d89c735 unify "action menu row" creation 2018-07-06 13:57:55 +12:00
Michael Hudson-Doyle 7d15727b74 add wlan editing 2018-07-06 13:36:53 +12:00
Michael Hudson-Doyle 2e281d00d4 delete gobs of old code 2018-07-06 13:36:53 +12:00
Michael Hudson-Doyle 2251cac4ba trim back to existing functionality 2018-07-06 13:36:53 +12:00
Michael Hudson-Doyle 805ad5f495 code motion 2018-07-06 13:36:53 +12:00
Michael Hudson-Doyle 79a380f28f initialize manual form fields 2018-07-06 13:36:53 +12:00
Michael Hudson-Doyle 58fd656aed small tweaks 2018-07-06 13:36:53 +12:00
Michael Hudson-Doyle 834b5a1014 a bit better 2018-07-06 13:36:53 +12:00
Michael Hudson-Doyle 89a30721a2 copy network manager a bit more directly 2018-07-06 13:36:53 +12:00
Michael Hudson-Doyle 0fdd9721ce tweaks 2018-07-06 13:36:53 +12:00
Michael Hudson-Doyle 08de48623f more 2018-07-06 13:36:53 +12:00
Michael Hudson-Doyle 4c9ec9cf5e more 2018-07-06 13:36:53 +12:00
Michael Hudson-Doyle 6eb255c2e0 beginnings of an edit network device dialog 2018-07-06 13:36:53 +12:00
Michael Hudson-Doyle ad8d6c9086 skeleton of new view 2018-07-06 13:36:53 +12:00
Michael Hudson-Doyle 9cbaac4542 use our custom WidgetWrap everywhere 2018-06-22 09:38:18 +12:00
Michael Hudson-Doyle 1ab495c0a8 fix refreshing network view on network changes 2018-06-13 13:38:03 +12:00
Ryan Harper 5f233be9b1 pep8 fixes for subiquitycore/ui/views/network.py 2018-05-24 16:54:02 -05:00
Ryan Harper c908115ee0 pep8 fixes for subiquitycore/ui/views/network_configure_manual_interface.py 2018-05-24 16:54:02 -05:00
Ryan Harper c99941f3c5 pep8 fixes for subiquitycore/ui/views/login.py 2018-05-24 16:51:51 -05:00
Ryan Harper 62ea440b3d pep8 fixes for subiquitycore/ui/views/network.py 2018-05-24 16:51:51 -05:00
Ryan Harper 0fa5dcab28 pep8 fixes 2018-05-24 16:51:51 -05:00
Ryan Harper c8d4c51ddd pep8 fixes 2018-05-24 16:51:51 -05:00
Ryan Harper ae9412159d Don't use __name__ in getLogger 2018-05-24 16:51:51 -05:00
Ryan Harper 13ca352291 pep8 fixes for subiquitycore/ui/views/network_configure_wlan_interface.py 2018-05-24 16:51:51 -05:00
Ryan Harper 591be4ecbc pep8 fixes for subiquitycore.ui.views.network_default_route 2018-05-24 16:51:51 -05:00
Ryan Harper 45fabd78f2 pep8 fixes for subiquitycore.ui.views.tests.test_network_configure_manual_interface 2018-05-24 16:51:51 -05:00
Ryan Harper a0bf68f3c4 pyflakes3 fixes
Add and enable pyflakes3 on console_conf, subiquity, subiquitycore and tests.
Replace NOQA markers with __all__ declarations for module imports.
Replace some obvious deadcode that voilates flake8, separate pass for removing
dead code rather than commenting will be handled later.
2018-05-24 16:51:51 -05:00
Michael Hudson-Doyle 0fe1f5145c sprinkle in some more ".base_widget"s 2018-05-23 13:40:14 +12:00
Michael Hudson-Doyle 626488e988
Merge pull request #334 from CanonicalLtd/mwhudson/move-excerpt-title-to-view
move excerpt, title and footer from controller to view
2018-05-22 22:38:39 +12:00
Michael Hudson-Doyle f6f214125f move TaskSequence somewhere more generic
I want to reuse it in my containerizing branch.

Improve API and docs a bit while I am looking at it.
2018-05-21 11:52:06 +12:00
Michael Hudson-Doyle 11708703c9 move titles, footers, excerpts from controller to view
read title and footer from the view instance, make views respsonsible for rendering
the excerpt

adapts infrastructure, welcome, keyboard, network views
2018-05-18 15:55:49 +12:00
Michael Hudson-Doyle 960f51ca91 remove view argument to Form.as_rows and friends 2018-05-07 10:57:35 +12:00
Michael Hudson-Doyle fa8f8d32f5 down all network links that have changed config before applying it
this means that if you enter a broken config, it breaks as it should
2018-05-03 12:14:06 +12:00
Michael Hudson-Doyle fe671d8d9b fix rendering of nic info if dhcp failed but has addresses of other family
This bug has been here forever! Oh well.
2018-04-27 14:56:30 +12:00
Michael Hudson-Doyle 7d704f83f0 mark even more strings as translatable 2018-04-19 13:09:00 +12:00
Michael Hudson-Doyle 028914da97 another small helper 2018-04-09 14:37:26 +12:00
Michael Hudson-Doyle a723d25a4c create a helper to create a common screen layout 2018-04-09 14:30:59 +12:00
Michael Hudson-Doyle 0fc83c4bc1 simplify a bunch of views
i am slowly getting better at urwid...
2018-04-09 14:10:36 +12:00
Michael Hudson-Doyle 8287d695dc fix live updates of network screen 2018-03-16 15:30:14 +13:00
Michael Hudson-Doyle 1f937090c0 update help text for address 2018-03-14 14:58:58 +13:00
Michael Hudson-Doyle ca953ea01f improve scrolling experience
Before this change, subiquity has lots of ListBoxes that just contain a single
Pile containing all their contents. This is (a) a bit silly (b) make some parts
of the scrolling experience a bit poor, for example urwid tries to scroll all
of a ListBox element into view when it gets focus but this is defeated by
shoving all the elements into a Pile (this causes
https://bugs.launchpad.net/subiquity/+bug/1750058 and a few other strange
bits).

The fix for this is obvious (don't wrap ListBox elements in a Pile) but this
breaks some aspects of tab cycling (when you shift tab back into a listbox you
want the last element of the box to be both selected and scrolled into view,
that sort of thing). Fixing all these bits of broken behaviour required
rewriting the tab cycling implementation to the point of copy/paste/hack-ing
the Pile.keypress method. Rather than doing the same for Columns, I just
prevent the creation of Columns with more than 1 selectable, which as we want
subiquity to be navigable with up/down/return does not seem so bad.

As penitence for all this, I've added a bunch of commentary explaining what is
going on.
2018-03-14 14:35:27 +13:00
Michael Hudson-Doyle 4a5e3b3815 stop showing >s on network config choices that do not lead to a new screen 2018-02-20 10:32:51 +13:00
Michael Hudson-Doyle 306978ee79 cursor positioning nerdery on network config screen 2018-02-20 10:29:24 +13:00
Michael Hudson-Doyle c9f3bd3ae0 fix behaviour of "up" on views that have done initially focused
before this, if you press up on e.g. the network view, focus would go to the first nic
not the last as you might expect. this is pretty obscure but oh well. such is urwid.
2018-01-11 11:50:08 +13:00
Michael Hudson-Doyle d77b4148ef expand NetworkConfigureIPv4InterfaceView tests a bit 2017-12-11 09:52:36 +13:00
Michael Hudson-Doyle 67611165df fix network manual view and add super simple test of it 2017-12-08 09:41:51 +13:00
Michael Hudson-Doyle c85602527e stop any of the *_btn functions defining a label by default 2017-11-22 13:53:35 +13:00
Michael Hudson-Doyle 08e51b87ae move some listboxs inside their padding 2017-10-20 15:51:01 +13:00
Michael Hudson-Doyle b6a27582c9 redo padding and layout of network views 2017-10-20 14:55:01 +13:00
Mathieu Trudel-Lapierre 491ca1e1c0 Indicate which network config method is active. 2017-10-12 11:01:33 -04:00
Michael Hudson-Doyle 5507fd0fbc clunky way of indicating which network config method is active 2017-10-11 21:35:10 +13:00
Michael Hudson-Doyle 2c6fb9ed99 hide network error if showing before starting config again 2017-09-28 16:00:35 -04:00
Dimitri John Ledkov 785b4d5568
Fix up more fixed layouts with button_pile(). 2017-09-20 14:01:42 +01:00
Michael Hudson-Doyle 14fa3cd107 use button_pile helper everywhere 2017-09-20 15:20:32 +12:00
Michael Hudson-Doyle f000fc24eb add a helper to pad a pile of buttons just enough 2017-09-20 14:55:02 +12:00
Michael Hudson-Doyle 9356501aa7
change cancel buttons to back buttons where appropriate
and also some "Done" buttons become "Save" buttons.
2017-09-18 17:19:27 +01:00
Dimitri John Ledkov 693f3e7c7d
Barebones i18n setup. 2017-09-18 14:14:39 +01:00
Dimitri John Ledkov 648d7d4086
Buttons 2017-09-18 14:01:11 +01:00
Michael Hudson-Doyle 91d57c50f2 a slightly different approach 2017-09-15 10:40:11 +12:00
Dimitri John Ledkov 7c5e55e0b2
Update color palette
Create palette for traffic light buttons: green (default), amber and
red. Color-code most buttons.

Make all progressbars orange for the completed part.
2017-09-12 12:05:44 +01:00
Michael Hudson-Doyle 1b328dbb61 work around urwid crash
see https://github.com/urwid/urwid/issues/253
2017-09-08 12:36:44 +12:00
Michael Hudson-Doyle e0f75ba013 tweaks to network views
1) move the done / cancel buttons (and error display) out of scrolling region
2) focus done by default
3) update footer texts to make sense
4) use a bit more of the horizontal space to show interface information
2017-09-08 09:48:41 +12:00
Michael Hudson-Doyle 9afd3cbc5a have escape always remove an overlay view 2017-04-05 15:20:36 +12:00
Michael Hudson-Doyle 395b30451e stop being clever in handling of escape in network screens 2017-04-05 14:36:46 +12:00
Michael Hudson-Doyle f8211b56fb clean up wifi config view code a bunch
(this was the first complicated urwid code i wrote)
2017-03-21 14:47:01 +13:00
Michael Hudson-Doyle 62ad81d690 make sure wifi psk is between 8 and 63 characters long 2017-03-21 14:39:23 +13:00
Michael Hudson-Doyle 26c1af8328 allow the gateway to be empty for an interface 2017-03-20 14:51:41 +13:00
Michael Hudson-Doyle 404ca627da use evilnick's wording on the network page 2017-03-02 13:52:20 +13:00
Michael Hudson-Doyle 2a1fbcd6fe remove some help leftovers 2017-02-16 12:36:26 +13:00
Michael Hudson-Doyle 308a29c75b move help to an overlay 2017-02-14 16:16:19 +13:00