Commit Graph

4496 Commits

Author SHA1 Message Date
Dan Bungert bc8fda47f6 EventCallback: remove 2021-09-08 18:33:57 -06:00
Dan Bungert 3a69683128 geoip: switch to MessageHub 2021-09-08 18:33:57 -06:00
Dan Bungert 44a68062d0 mirror: prep for conversion from Event -> Message
MessageHub isn't sending a changed value, so lookup the value another
way.  Helps to prep for removing the usage of EventCallback.
2021-09-08 18:33:57 -06:00
Dan Bungert fc95c72f35 pubsub: Add unit test for MessageHub
Also minor cleanup on the soon-to-be-removed EventCallback test to help
demonostrate that some of this code isn't needed.
2021-09-08 18:33:57 -06:00
Dan Bungert 0ea8139f32 MessageHub: Switch to using enum constants 2021-09-08 18:33:57 -06:00
Michael Hudson-Doyle 221f7f98f0
Merge pull request #1038 from canonical/wsl_oobe
OOBE and configuration for WSL
2021-09-06 20:23:14 +12:00
Jean-Baptiste Lallement b47362ea2a Fixed linting
Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-09-03 10:18:18 +02:00
Jean-Baptiste Lallement 2585ab0ce2 Remove uneeded controller unloading
This was a leftover from where we were loading them unconditionally

Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-09-03 10:11:35 +02:00
Jean-Baptiste Lallement 0a590e2c10 Helper for timedatectl detection
This is done now at running time.

Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-09-03 10:02:23 +02:00
Jean-Baptiste Lallement 46eb52c9cb Split system_identity controller from subiquity one
There is little inherited from it, let’s split them.

Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-09-03 09:52:23 +02:00
Jean-Baptiste Lallement 039201949d Remove uneeded confirmation handling in system_setup
Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-09-03 09:52:08 +02:00
Jean-Baptiste Lallement ea29709573 Fix typo and punctuation
Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-09-03 09:45:37 +02:00
Jean-Baptiste Lallement 3cdaf76153 Mark as TODO adding a helper for future refactoring
Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-09-03 09:44:51 +02:00
Jean-Baptiste Lallement 2a36e30812 Remove set conversion and explicitely init it
Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-09-03 09:39:32 +02:00
Jean-Baptiste Lallement 4c83e4afde Remove duplication in server execution code
Make command line and dry-run command line a class member.

Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-09-03 09:38:50 +02:00
Jean-Baptiste Lallement ef9d387b4f Removed unused function
Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-09-03 09:08:44 +02:00
Jean-Baptiste Lallement ab161250e1 Removed the progress view.
On non systemd systems (ie WSL) the progress view is always empty. Thus
this view is removed and the summary (formerly overview) view becomes
the last page of the setup with the reboot button. This button is
displayed dynamically when setup is complete.

Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-09-01 19:06:50 +02:00
Jean-Baptiste Lallement 15664d9016 Do not log to journald on non-systemd systems.
Some systems like WSL do not support systemd and we cannot rely on
journald for logging. Thus we remove the progress controller that would
always be blank.

Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-09-01 19:03:52 +02:00
Jean-Baptiste Lallement dadbb55fd2 Fix controller removal
Properly remove unsupported controllers.

Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-09-01 19:02:55 +02:00
Jean-Baptiste Lallement 5b2e78a8a1 Ensure we always exit the server
Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-09-01 17:42:19 +02:00
Jean-Baptiste Lallement 805a84ab76 Linter fixes
Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-09-01 11:02:25 +02:00
Jean-Baptiste Lallement 5d318b2fbb Rebase on new subiquity model.
Variants are set at the application level and impact the models.

Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-09-01 10:55:06 +02:00
Jean-Baptiste Lallement 3eb5231fca Only proceed for installation when ready.
Wait for models to be configured before proceeding with installation.

Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-09-01 10:48:44 +02:00
Jean-Baptiste Lallement a60da3e589 Support empty post_install model list
The signal telling postinstall was configured was never sent.

Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-09-01 10:47:24 +02:00
Jean-Baptiste Lallement 1f4a9ab6f3 Support empty default model names
When the list of model names is empty it was implicitly casted to a dict
but a set() was required for concatenation.

Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-09-01 10:45:32 +02:00
Jean-Baptiste Lallement da5c83d4f1 Set supported and current variant for WSL
Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-09-01 10:44:37 +02:00
Jean-Baptiste Lallement 1556163d87 Make variants configurable
Current variant and supported one were hardcoded and not extensible.
This makes it configurable per application.

Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-09-01 10:43:51 +02:00
Jean-Baptiste Lallement 9b67591335 More linting fixes
Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-08-31 15:56:08 +02:00
Jean-Baptiste Lallement 3044a1fc11 Update answer file with renamed controllers
WSL configuration controllers have been renamed, the answer file must be
updated accordingly

Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-08-31 15:52:03 +02:00
Jean-Baptiste Lallement dcab9c2e6e Removal of --reconfigure for server
Load all the server controller independently whether it is in first
configuration or reconfiguration mode.

Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-08-31 15:52:03 +02:00
Jean-Baptiste Lallement 518cff3d3b Fixed linting 2021-08-31 15:52:03 +02:00
Jean-Baptiste Lallement ba6ce20d64 Do not use a file to share user name
Instead retrieve it from the server and store it in memory.
2021-08-31 15:52:03 +02:00
Jean-Baptiste Lallement 41945cb84c Renamed configuration pages
In order to make naming more explicit renamed wslconf1 to wslconfbase
and wslconf2 to wslconfadvanced.
2021-08-31 15:52:03 +02:00
Jean-Baptiste Lallement 57a2212c7b List of TODOs
This is the list of identified TODOs for the OOBE.
2021-08-31 15:52:03 +02:00
Jean-Baptiste Lallement b0299f255f Added integration test for WSL
This tests covers the configuration of WSL on first boot.
2021-08-31 15:52:03 +02:00
Jean-Baptiste Lallement f41f44e9d6 Misc cleanups
* Rename/add debug with correct naming
* Remove uneeded and unused hostname in identity
* Add automatic answer support to overview
2021-08-31 15:52:03 +02:00
Jean-Baptiste Lallement 688af116f5 Added shutdown and configure controller for the WSL server
This is the WSL implementation of the Install and Shutdown controllers
that inherit from the base controllers.
2021-08-31 15:52:03 +02:00
Jean-Baptiste Lallement 8c3f0bc264 Inherit from base server
Inherit from the base server instead of reimplementing it completely
and override the methods needed for WSL. This removes lots of code duplication.
2021-08-31 15:52:03 +02:00
Jinming Wu, Patrick eae46aa50a system_setup: fixes for merge (WIP) 2021-08-31 15:52:03 +02:00
Michael Hudson-Doyle 09e8bbb6dc update stuff for my last merge 2021-08-31 15:52:03 +02:00
Jinming Wu, Patrick eec135af26 system_setup: Pre fixes 2021-08-31 15:52:03 +02:00
Jinming Wu, Patrick 6ba608b8f7 Use inheritance for IdentityForm
The previous composition version had some flaws due to multiple
instances of a given Field with different addresses when reinstalled in
the parent class. This caused the field validation validate_ to not work
as it was not taken the expected referenced values.

Instead of duplicating the code, we use an inherited version, taking and
overriding only our desired fields.

We still need to derive WSLIdentityView from the base class instead of
IdentityView, as this is what is instantiating the form.
(WSLIdentityForm instead of IdentityForm).

Co-authored-by: Jean-Baptiste Lallement <jean-baptiste@ubuntu.com>
2021-08-31 15:52:03 +02:00
Jinming Wu, Patrick d217db86a2 Revert "system_setup: identity tui validation fix"
This reverts commit 2f3dc90b7e.
2021-08-31 15:52:03 +02:00
Jinming Wu, Patrick f42f1d133e Reconfigure mode: WIP 2021-08-31 15:52:03 +02:00
Jinming Wu, Patrick d89d9c3f7d system_setup: prevent loading unnecessary library 2021-08-31 15:52:03 +02:00
Jinming Wu, Patrick 0ad5152069 system_setup: initial Progress fix 2021-08-31 15:52:03 +02:00
Jinming Wu, Patrick 3dccdddf39 system_setup: no longer require sudo for dryrun 2021-08-31 15:52:03 +02:00
Jinming Wu, Patrick aff93e5cda system_setup: PEP8 linting fixes 2021-08-31 15:52:03 +02:00
Jinming Wu, Patrick 300161e0ea system_setup: Pre fixes 2021-08-31 15:52:03 +02:00
Didier Roche 1e52ab6374 Use inheritance for IdentityForm
The previous composition version had some flaws due to multiple
instances of a given Field with different addresses when reinstalled in
the parent class. This caused the field validation validate_ to not work
as it was not taken the expected referenced values.

Instead of duplicating the code, we use an inherited version, taking and
overriding only our desired fields.

We still need to derive WSLIdentityView from the base class instead of
IdentityView, as this is what is instantiating the form.
(WSLIdentityForm instead of IdentityForm).

Co-authored-by: Jean-Baptiste Lallement <jean-baptiste@ubuntu.com>
2021-08-31 15:52:03 +02:00