Carlos Nihelton
1e6c4472a5
Complementary to 1127 on integration side
2021-11-17 13:26:41 -03:00
Dan Bungert
1eefb7a9e5
check-language-support: fix empty pkg list
...
The check-language-support on my machine was providing a single empty
newline as output, and the length check isn't catching that as the
resulting packages array has a value of [''].
Drop empty values from the list to avoid a "KeyError: ''" exception.
2021-11-17 07:23:16 -07:00
Didier Roche
dde0a6d53c
Merge pull request #1116 from CarlosNihelton/ft-wsl-locale-deeng-31
...
System locale manipulation wired into Subiquity.
2021-11-16 08:43:51 +01:00
Didier Roche
072d2b233a
Merge pull request #1124 from CarlosNihelton/fix-systemsetup-reconfig-post
...
SystemSetupModel now acks the variant at start.
2021-11-15 09:07:13 +01:00
Carlos Nihelton
377e880cb5
Style improvements.
2021-11-12 16:04:02 -03:00
Carlos Nihelton
4bb8ee3b3b
SystemSetupModel now acks the variant at start.
...
- Without this change, wsl_configuration variant is not reckon without
client_variant.POST.
- Issue and suggestions of fixes originally reported by jpnurmi.
2021-11-11 09:22:10 -03:00
Carlos Nihelton
a1fd0615f8
Slipped on the linter.
2021-11-09 18:34:58 -03:00
Carlos Nihelton
409ac4157a
From weird splits into regex
2021-11-09 18:15:59 -03:00
Carlos Nihelton
63d565b89c
Write text files instead of wget
2021-11-09 18:15:20 -03:00
Carlos Nihelton
4e050ecddb
Style improvements.
2021-11-09 09:36:10 -03:00
Carlos Nihelton
f9d3877feb
Corrected list type hint for Python 3.8.
...
- CI failed on Focal due Python version unable to understand list[str].
2021-11-08 19:03:10 -03:00
Carlos Nihelton
eb6bd2d263
Smaller functions, early returns and funny mocking
2021-11-08 13:11:30 -03:00
Carlos Nihelton
6be4aea138
l-s-c as dep on Makefile, avoid raising exceptions
...
- And clear .subiquity/var/cache
2021-11-05 18:09:15 -03:00
Carlos Nihelton
5f9f2122ce
System locale manipulation wired into Subiquity.
...
- We don't have cloud-init in WSL.
- Subiquity must perform any actions to support the choosen locale.
- l-s-c package added as dependency.
2021-11-05 17:29:33 -03:00
Carlos Nihelton
a264fdafbc
Prefill was not working outside of dry-run
2021-11-04 12:01:00 -03:00
Carlos Nihelton
887d63caf0
System locale manipulation wired into Subiquity.
...
- We don't have cloud-init in WSL.
- Subiquity must perform any actions to support the choosen locale.
2021-11-03 18:22:42 -03:00
Carlos Nihelton
106b8c758e
Temporary fix for integration tests chroot'ing
...
useradd -R does chroot.
useradd -P doesn't.
2021-11-03 15:53:02 -03:00
Didier Roche
3d2be8f66f
Merge pull request #1113 from canonical/fix_server_state_rerun
...
Fix reruning in production system_setup on WSL
2021-11-03 12:54:06 +01:00
Didier Roche
244aa7de81
Fix reruning in production system_setup on WSL
...
On system_setup, we always run the subiquity server. On WSL, ensure we
wipe the server-state file (no systemd fallback) before starting the
server.
Co-authored-by: Jean-Baptiste Lallement <jean-baptiste@ubuntu.com>
2021-11-03 12:48:53 +01:00
Didier Roche
277fe55599
Don’t block on running commands in configure
...
Those commands needs to be async to be able to still answer GET/POST
request while configure is running.
This allows showing up the summary page immediately.
Co-authored-by: Jean-Baptiste Lallement <jean-baptiste@ubuntu.com>
2021-11-03 12:35:25 +01:00
Didier Roche
f8e90c894d
Summary page to show immediately and update once the setup is done
...
Shows immediately the summary page. Before, this one was making a GET
request to the server, which was stuck on any long running command in
the controller.
Now, affect correctly the identity in memory and reuse it if needed.
Show a progress message while the configuration is happening and replace
it with a "completed" text on success.
Co-authored-by: Jean-Baptiste Lallement <jean-baptiste@ubuntu.com>
2021-11-03 10:48:03 +01:00
Didier Roche
fa5721ce0a
Allow waiting on summary page
...
We previously only went on this page when DONE or in ERROR state. Allow
now to be in any state as we switch to it as soon as possible.
Co-authored-by: Jean-Baptiste Lallement <jean-baptiste@ubuntu.com>
2021-11-03 10:33:38 +01:00
Didier Roche
f762f41a5b
Don’t override syslog dir to prevent printing on TUI.
...
Co-authored-by: Jean-Baptiste Lallement <jean-baptiste@ubuntu.com>
2021-11-03 10:32:57 +01:00
Didier Roche
7cd65267e9
Fix server socket path in dry-run mode
...
Co-authored-by: Jean-Baptiste Lallement <jean-baptiste@ubuntu.com>
2021-11-03 10:32:11 +01:00
Carlos Nihelton
1a0c3a1ef0
Prefill file checks summarized by os.path.isfile.
2021-11-01 16:20:24 -03:00
Carlos Nihelton
af91bb0a6f
Removing dead code.
...
- My bad.
2021-10-29 20:23:16 -03:00
Carlos Nihelton
4c0ad44738
Moving logic form SystemSetupModel to controllers.
...
- In order to stay confined into system_setup,
WSLLocaleController had to be recriated.
2021-10-29 12:53:06 -03:00
Carlos Nihelton
10f209ad81
Linting issues fixed.
2021-10-28 15:54:07 -03:00
Carlos Nihelton
2125acffe6
WSL Locale controller is not needed anymore.
...
- With 'prefill' working, calling Powershell to find Windows locale
is not required anymore.
- Since `f21986be` subiquity's default locale controller respects
mode.selected_language initialization.
2021-10-28 15:52:24 -03:00
Carlos Nihelton
168a5c13a0
SystemSetupModel handles 'prefill' data
...
- Init method changed to accept that data, which could be None.
- If valid, user Identity and Locale are prepopulated.
- Server parses the YAML and send valid info (or None) to the Model.
2021-10-28 15:52:24 -03:00
Carlos Nihelton
41a2a554ef
Server CLI option '--prefill' added.
...
- TUI logs the args in consistency to what's been done to Flutter UI.
- Server starting code checks if prefill file exists.
2021-10-28 15:51:41 -03:00
Patrick Wu
a3fce9f9c2
system_setup: add useradd tests
2021-10-20 00:27:10 +08:00
Patrick Wu
ec04a6833a
system_setup: shutdown/reboot tests
2021-10-18 17:15:45 +08:00
Didier Roche
31fa83e79e
Merge pull request #1078 from canonical/wsl_oobe_deeng_83
...
DEENG-83 - Implement a reboot in shutdown to restart WSL instances to take new configuration in effect.
2021-10-12 18:13:07 +02:00
Patrick Wu
1d19dfb772
system_setup: implement shutdown/reboot action
2021-10-12 23:20:05 +08:00
Patrick Wu
8559d7fe7d
modulizing the usergroup retriving
2021-10-12 10:07:45 +08:00
Patrick Wu
271b72b41a
system_setup: setup user with wsl.conf
2021-10-11 15:33:46 +08:00
Patrick Wu
7ae8e108a6
system_setup: include full autoinstall system
2021-10-11 10:20:18 +08:00
Patrick Wu
07b0407815
system_setup: refactor the testing system
...
1. updating testing system with the proper autoinstall schema
2. reconf mode testing included
2021-10-08 20:49:06 +08:00
Patrick Wu
5879b41e48
system_setup: several fixes that should be merge before DEENG-82
...
1. fix a wrong type information
2. fix some configuration error when updating information
2021-10-08 16:41:28 +08:00
Patrick Wu
1c111c764c
system_setup: write files to .subiquity when dryrun
2021-10-07 16:25:07 +08:00
Patrick Wu
c934268813
system_setup: changes and fixes
...
1. rebase with main and update autoinstall-system-setup.yml
2. provide a more unified indent style
3. update get_userandgroups() to the dropped one
4. fix the problematic os action
5. simply asignments
6. assign default_loader a default value
7. provide a type-to-file dict in wsl_conf
8. provide stderr info when providing error in creating user
9. update schema and example files
2021-10-06 22:13:15 +08:00
Patrick Wu
1a7274dbba
system_setup: unify api names and simply WSLconfig class into function
2021-10-06 22:13:15 +08:00
Patrick Wu
5c0e64e78a
system_setup: address the run_command fail issue
2021-10-06 22:13:15 +08:00
Patrick Wu
9fbff87fe1
system_setup: changes to the get-usersandgroups
2021-10-06 22:13:15 +08:00
Patrick Wu
32a62748c9
system_setup: initial redesign of generic config handler
...
Also have to change the logic for default loader
2021-10-06 22:13:15 +08:00
Patrick Wu
f31e252436
system_setup: reduce code duplication in getting default value
2021-10-06 22:13:15 +08:00
Patrick Wu
225cb1bd37
system_setup: fixes for after rebasing
...
1. add extra logs
2. improve the answers file
3. await the self.configured in wslconf API
2021-10-06 22:13:15 +08:00
Patrick Wu
032412a938
system_setup: provide configuration calls
2021-10-06 22:13:15 +08:00
Patrick Wu
a211689e08
system_setup: update client_variant to variant
2021-10-06 22:13:15 +08:00
Patrick Wu
0a0c53a61b
system_setup: move all write file actions to configure controller
...
This completes 5. Move all “Commits/Write to file” in the configure controller.
2021-10-06 22:13:15 +08:00
Patrick Wu
2490befbd0
system_setup: remove unnecessary params in tui.py
2021-10-05 09:33:21 +08:00
Jean-Baptiste Lallement
6cc8c6169b
Fix crash with autoinstall on non-systemd env
...
On WSL and any system without systemd the server crashes becauses
the syslog id is always set (and never None) and systemd cat cannot
connect to the journal.
We cant set the id to None because the API expects a string, so the
check "is not None" is always true.
Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-10-04 13:09:24 -07:00
Michael Hudson-Doyle
b144f234ac
install packages listed by check-language-support when locale_support == "langpack"
2021-09-30 12:09:57 +13:00
Jean-Baptiste Lallement
44b0b66531
Block shutdown controller on installation done
...
A race existed due to ~he shutdown controller not waiting for the
install task to be complete.
Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-09-28 09:32:39 +02:00
Jean-Baptiste Lallement
fecd1cc68c
Remove empty "required" in schema
...
There are no required for WSLConf*, remove it instead of using empty
lists.
Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-09-28 09:32:39 +02:00
Jean-Baptiste Lallement
4966173d6c
Test system setup autoinstall
...
It also adds an argument --ignore-tz to the schema comparison test to
not fail on system where the schema has no TZ like WSL.
Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-09-28 09:32:39 +02:00
Jean-Baptiste Lallement
b81447c988
Added schema for system setup autoinstall
...
Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-09-28 09:26:29 +02:00
Jean-Baptiste Lallement
f13bb1121f
Fix: use right identity controller for system setup
...
Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-09-28 09:26:10 +02:00
Patrick Wu
65530cf3b3
system_setup: additional Base/Avanced changes and fixes
...
the fixes includes:
1. renamed helpers.py to wsl_utils.py
2. update several log strings
3. renamed LocaleController to WSLLocaleController
4. improving logic and warnings in get_windows_locale()
5. move config_ref to wsl_utils.py
5. fixes bool_converter()
6. fixes locale configured() getting stuck
2021-09-27 20:36:25 +08:00
Michael Hudson-Doyle
3b6436434c
remove server-state file when starting up dry-run system_setup
2021-09-27 22:10:07 +13:00
Michael Hudson-Doyle
2f9c22961e
Merge pull request #1042 from canonical/wsl_oobe_auto_reconf_mode
...
DE-98/DE-99 - system_setup: Wsl oobe auto reconf mode
2021-09-24 14:26:23 +12:00
Patrick Wu
ee3a3df893
sustem_setup: fixes according to Michael's feedback
2021-09-23 15:10:39 +08:00
Didier Roche
fa9957d27d
Merge pull request #1055 from canonical/wsl_oobe_no_dry_mode
...
WSL OOBE - no dry mode
2021-09-21 11:49:38 +02:00
Jean-Baptiste Lallement
0a5b8fcf46
Do not wait on cloud-init on system without cloud-init
...
On systems where cloud-init cannot run (ie WSL) we where waiting forever
on cloud-init
Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-09-20 19:30:36 +02:00
Jean-Baptiste Lallement
eee1e9de6d
Start server if not socket activated
...
On systems without socket activation enabled, the client starts the
server manually.
Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-09-20 19:29:10 +02:00
Patrick Wu
365769c365
system_setup: update Summary code
2021-09-20 21:58:16 +08:00
Patrick Wu
1aac580dfd
system_setup: update the detection logic
2021-09-20 21:58:16 +08:00
Patrick Wu
ceae8e9d19
system_setup: fixes according to the feedback
...
1. update client_variant comment
2. remove Welcome controller
3. remove a TODO
2021-09-20 19:54:27 +08:00
Patrick Wu
6303b5d6c5
system_setup: proper wsl_configuration UI setup
...
This fixes In wsl_configuration mode the UI shows ”base”/”advanced” screens.
2021-09-20 19:54:14 +08:00
Patrick Wu
018185af49
system_setup: system setup API for Flutter UI part
...
This completes TODO "provide an API for this for the flutter UI to know
about it"
API is at /meta/client_variant with GET method, returns a string
2021-09-20 19:39:20 +08:00
Patrick Wu
78221ebf25
system setup: auto reconf mode general completion
...
Mostly complete the second task except the API for GUI:
Implement an API in the server to know if we are in reconfigure or setup mode based on existing UID user >= 1000. Fetch that API from the client and set the variant to wsl_setup or wsl_configuration.
2021-09-20 19:39:20 +08:00
Michael Hudson-Doyle
9051a33c4f
make SubiquityController.configured async
2021-09-16 20:59:01 +12:00
Michael Hudson-Doyle
aa9c945674
Have SubiquityController.configured broadcast rather than set an event
...
This should make it cleaner to implement interdependencies between
controllers, like in-progress installation source selection needs to
know about locale changes.
2021-09-16 20:59:01 +12:00
Jean-Baptiste Lallement
717cb5b541
system-setup: finished removing duplicated fields
...
There was some remaining duplicated fields in the controllers and models
between base and advanced configuration, which made the code crash.
Co-authored-by: Didier Roche <didrocks@ubuntu.com>
2021-09-10 12:07:55 +02:00
Patrick Wu
e661b08905
system_setup: no longer inherits
2021-09-09 16:23:47 -06:00
Patrick Wu
43497a99cb
system setup: reduce WSLConfigurationAdvanced size
...
by inheriting WSLConfigurationBase
2021-09-09 16:23:47 -06: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
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
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
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
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
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
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