-
Notifications
You must be signed in to change notification settings - Fork 155
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mantic merge 2023-09-27 #1810
Merged
Merged
Mantic merge 2023-09-27 #1810
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Collaborator
dbungert
commented
Sep 27, 2023
- cherry-picked aaaf873..28dd55f from Allow for specifying the autoinstall file over the kernel command line #1803
- cherry-picked 22b6d12 from Bump curtin rev for recovery key on systems using zkey #1805
- cherry-picked 5a573f2 from snapd api: wait longer #1804
- cherry-picked c95261e from ui: have a distinct state file for rich mode over serial #1802
- cherry-picked 4ba59a5 from locale is not implicitly interactive with other interactive sessions #1807
- cherry-picked 7de6f05 from filesystem: don't crash if v2/orig_config is called early #1808
- cherry-picked 59849f7 from oem: make sure storage is configured before using is_core_boot_classic #1809
- cherry-picked b11726d from filesystem: revamp udev handling #1806
…line (cherry picked from commit 76b520a)
(cherry picked from commit 28dd55f)
Signed-off-by: Olivier Gayot <[email protected]> (cherry picked from commit 22b6d12)
While these changes are not supposed to take nearly this long, per LP: #2034715 we know that they are, and that some systems will correctly perform the finish_install() step if just given more time. (cherry picked from commit 5a573f2)
We recently made sure that after doing a snap refresh, the rich mode (i.e., either rich or basic) is preserved. This was implemented by storing the rich mode in a state file. When the client starts, it loads the rich mode from said state file if it exists. Unfortunately, on s390x, it causes installs to default to basic mode. This happens because on this architecture, a subiquity install consists of: * a first client (over serial) showing the SSH password * a second client (logging over SSH) actually going through the installation UI. Since the first client uses a serial connection, the state file is created with rich-mode set to basic. Upon connecting using SSH, the state file is read and the rich-mode is set to basic as well. Fixed by storing the rich-mode in two separate files, one for clients over serial and one for other clients. LP: #2036096 Signed-off-by: Olivier Gayot <[email protected]> (cherry picked from commit c95261e)
(cherry picked from commit 4ba59a5)
When v2/orig_config is called too early, the load_probe_data function will fail because probe_data is None: Traceback (most recent call last): File "subiquity/common/api/server.py", line 164, in handler result = await implementation(**args) File "subiquity/server/controllers/filesystem.py", line 1029, in v2_orig_config_GET model = self.model.get_orig_model() File "subiquity/models/filesystem.py", line 1428, in get_orig_model orig_model.load_probe_data(self._probe_data) File "subiquity/models/filesystem.py", line 1894, in load_probe_data for devname, devdata in probe_data["blockdev"].items(): TypeError: 'NoneType' object is not subscriptable Make sure we don't dereference model._probe_data if it is None. Signed-off-by: Olivier Gayot <[email protected]> (cherry picked from commit 7de6f05)
Before using fs_controller.is_core_boot_classic(), we wait for the call to /meta/confirmation?tty=xxx. That said, in semi-automated desktop installs, sometimes the call to /meta/confirmation happens before marking storage configured. This leads to the following error: File "subiquity/server/controllers/oem.py", line 209, in apply_autoinstall_config await self.load_metapkgs_task File "subiquity/server/controllers/oem.py", line 81, in list_and_mark_configured await self.load_metapackages_list() File "subiquitycore/context.py", line 149, in decorated_async return await meth(self, **kw) File "subiquity/server/controllers/oem.py", line 136, in load_metapackages_list if fs_controller.is_core_boot_classic(): File "subiquity/server/controllers/filesystem.py", line 284, in is_core_boot_classic return self._info.is_core_boot_classic() AttributeError: 'NoneType' object has no attribute 'is_core_boot_classic' Receiving the confirmation before getting the storage configured is arguably wrong - but let's be prepared for it just in case. Signed-off-by: Olivier Gayot <[email protected]> (cherry picked from commit 59849f7)
In LP: #2009141, we are hitting kernel limits and pyudev buffer limits. We don't care about specific events, so much as getting one event, waiting for things to calm down, then reprobing. Outright disable the event monitor, and re-enable later. If there is a storm of events, testing has shown that stopping the listener is not enough. (cherry picked from commit b11726d)
Chris-Peterson444
approved these changes
Sep 27, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.