-
-
Notifications
You must be signed in to change notification settings - Fork 116
Late GUID for preloaded disposables #680
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
Conversation
db354af
to
fda2224
Compare
OpenQA test summaryComplete test suite and dependencies: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2025062509-4.3&flavor=pull-requests Test run included the following:
New failures, excluding unstableCompared to: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2025061004-4.3&flavor=update
Failed tests8 failures
Fixed failuresCompared to: https://openqa.qubes-os.org/tests/142375#dependencies 11 fixed
Unstable testsPerformance TestsPerformance degradation:6 performance degradations
Remaining performance tests:66 tests
|
Inclusion of QubesOS/qubes-core-agent-linux#571 is obligatory for all tests now. There was no version bump since QubesOS/qubes-core-agent-linux@8a5e873, therefore templates didn't have a package to upgrade. |
e3b97f1
to
b1c88a1
Compare
This is fixed. |
Still an issue, some race condition probably (doesn't always happen). |
d127ac6
to
6a3a547
Compare
Latest commits didn't fix the problem, just adding some debugging, but currently fails on more tests. Unfinished. |
I tried restarting this job and it failed the same way again. |
243d157
to
71fcb72
Compare
The other errors appears to be only because that test failed, although it should not have impacted other tests. |
qubes/tests/integ/dispvm.py
Outdated
return | ||
preload_dispvm = self.disp_base.get_feat_preload() | ||
preload_unfinished = preload_dispvm | ||
for _ in range(60): |
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.
This is not very nice place to add handlers... If you are unlucky, some events may get fired before you manage to add handlers (for example domain-feature-set:preload-dispvm-in-progress
as it's fired quite early). Maybe you could instead add registering those handlers in domain-add
event? Something like:
def _register_handlers(self, vm):
# all the vm.add_handler(...) calls
def _on_domain_add(self, app, event, vm):
if (some condition checking if preloaded? or maybe do unconditionally?):
self._register_handlers(vm)
async def wait_preload(...):
self.app.add_handler("domain-add", self._on_domain_add)
# and then call _register_handlers for already existing dispvms
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.
unconditionally?
Better, domain is added then it is marked as preloaded. For VMs that are irrelevant, the event checker won't run.
00a81f7
to
7b6202a
Compare
Fixed by: self._test_event_handler_remove(appvm, "domain-preload-dispvm-start") before using the preload. Which is included in this run https://openqa.qubes-os.org/tests/144600 |
qubes/tests/integ/dispvm.py
Outdated
|
||
async def run_preload_proc(self): | ||
logger.info("start") | ||
# TODO: ben: to marek: DEVNULL may work because differently than None, |
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.
I'm okay with DEVNULL too
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.
Done.
- Autostarted applications don't show when preloading; and - Preloaded qubes paused before the session will have a working GUI when the session starts. For: QubesOS/qubes-issues#1512 For: QubesOS/qubes-issues#9940 For: QubesOS/qubes-issues#9907 Requires: QubesOS/qubes-core-admin-client#359
the session starts.
For: QubesOS/qubes-issues#1512
For: QubesOS/qubes-issues#9940
For: QubesOS/qubes-issues#9907
Requires: QubesOS/qubes-core-admin-client#359
Requires: #689