Tests in real WSL2 environment revealed that update-locale checks fails but with the "--no-checks" option it updates the locale files accordingly and when the image restarts the locale is correctly set.
Also, splits part of the configure() method:
- `__query_uid()` finds the username UID
- `_create_user()` creates the user set in IdentityModel
- Both methods accept a fake root path under dryrun.
- This is a cleanup for SystemSetup per DEENG-134 and DEENG-139
- Default user should be set by the WSL launcher.
- Shutdown/reboot actions also.
- Added a structured form of communication between OOBE and launcher.
- /run/launcher-command
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.
- Without this change, wsl_configuration variant is not reckon without
client_variant.POST.
- Issue and suggestions of fixes originally reported by jpnurmi.
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>
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>
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>
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>
- 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.
- 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.