Commit Graph

144 Commits

Author SHA1 Message Date
Olivier Gayot 9856b79f36 Redirect stdout and stderr from server into two distinct files
Instead of having interleaved stdout and stderr in server-output, we now
have respectively:

* stdout redirected to server-stdout
* stderr redirected to server-stderr

This will allow us to monitor for warnings / errors more efficiently.

Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
2022-03-08 12:12:07 +01:00
Olivier Gayot 812bba1de1 Use logger names consistent with directory structure
Refreshed name of loggers to make them consistent with the directory
structure.

Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
2022-02-25 17:35:45 +01:00
Carlos Nihelton e79e4ea9a9
Removes unnecessary check `sourceDirs is None` 2022-02-17 07:07:19 -03:00
Carlos Nihelton a7fd83a384
Fixes missing dir on system_setup integration test
By providing alternative directories to find LC_* locale definitions.
2022-02-16 22:59:05 -03:00
Dan Bungert 0f9c9eef3f options: add output_base for dryrun use
To enable parallel API testing, add an output_base argument to replace
the default '.subiquity' that is sprinkled everywhere.
2022-01-26 10:39:23 -07:00
Didier Roche 34b621ee66
Merge pull request #1165 from CarlosNihelton/fix-wsl-snap-env
[SystemSetup] Fix L-S-C behavior under WSL snap environment
2022-01-21 15:56:42 +01:00
Carlos Nihelton 0d30deac7f
Promotes the "--no-checks" to outside of dry-run
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.
2022-01-18 10:18:45 -03:00
Carlos Nihelton a14a143d55 Fix l-s-c behavior under SNAP environment.
- By passing the datadir command line option.
2022-01-17 11:57:04 -03:00
Carlos Nihelton 957d56a52f FIx unbound variable in live run 2022-01-17 10:48:58 -03:00
Olivier Gayot 3d3994f3f3 Fix return type of __recommended_languages_pack
Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
2022-01-14 13:02:25 +01:00
Carlos Nihelton e429babb03 Fixes potential false positive UID findings
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.
2021-12-17 10:35:38 -03:00
Carlos Nihelton b17c3d3db9 Cleanup complete.
- No user setup in wsl.conf
- Shutdown controller creates the launcher-command file
2021-12-14 12:13:00 -03:00
Carlos Nihelton bad945f5d7 Remove username from wsl.conf
- 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
2021-12-14 12:04:38 -03:00
Carlos Nihelton 22a8219cb3 Dryrun won't stop configure controller due C-L-S
- Also noticed a possible unbound var in IOError handler.
2021-11-24 11:35:31 -03:00
Carlos Nihelton a88fcdb8b3 Explicit case for c-l-s failure by returning None 2021-11-22 13:42:45 -03:00
Carlos Nihelton 37758047f2 Improved control over lang packs on integration
- Dryrun should never return empty packages list unless under failure.
- runtests check if the mimic-installed files match the proper language.
2021-11-22 12:16:01 -03:00
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