-
-
Notifications
You must be signed in to change notification settings - Fork 117
tests: simple end-to-end remote qrexec test #669
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
|
@fepitre I tried this. It doesn't work yet. First I hit the bug I commented in the qrexec PR. But then the source on remote side is not set - it appears as the connection is coming from the relay, not vm1-remote. |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #669 +/- ##
==========================================
+ Coverage 70.24% 70.26% +0.02%
==========================================
Files 59 59
Lines 12739 12788 +49
==========================================
+ Hits 8948 8986 +38
- Misses 3791 3802 +11
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Yes, I did not added the translation to source being the vm calling qrexec originally. |
OpenQA test summaryComplete test suite and dependencies: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2025042414-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=2025031804-4.3&flavor=update
Failed tests10 failures
Fixed failuresCompared to: https://openqa.qubes-os.org/tests/132953#dependencies 13 fixed
Unstable testsDetailsPerformance TestsPerformance degradation:14 performance degradations
Remaining performance tests:58 tests
|
* origin/pr/674:
tests: only close watch fd for LocalVM
Pull request description:
```
======================================================================
ERROR: qubes.tests.integ.misc/TC_10_RemoteVM_fedora-41-xfce/test_000_full_connect
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/qubes/tests/__init__.py", line 891, in cleanup_app
self.remove_test_vms()
~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/qubes/tests/__init__.py", line 1216, in remove_test_vms
self.remove_vms(
~~~~~~~~~~~~~~~^
[
^
...<9 lines>...
]
^
)
^
File "/usr/lib/python3.13/site-packages/qubes/tests/__init__.py", line 1187, in remove_vms
self._remove_vm_qubes(vm)
~~~~~~~~~~~~~~~~~~~~~^^^^
File "/usr/lib/python3.13/site-packages/qubes/tests/__init__.py", line 1029, in _remove_vm_qubes
del app.domains[vm.qid]
~~~~~~~~~~~^^^^^^^^
File "/usr/lib/python3.13/site-packages/qubes/app.py", line 568, in __delitem__
self.app.fire_event("domain-delete", vm=vm)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/qubes/events.py", line 200, in fire_event
sync_effects, async_effects = self._fire_event(
~~~~~~~~~~~~~~~~^
event, kwargs, pre_event=pre_event
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/qubes/events.py", line 169, in _fire_event
effect = func(self, event, **kwargs)
File "/usr/lib/python3.13/site-packages/qubes/tests/__init__.py", line 883, in close_qdb_on_remove
if vm._qdb_connection_watch is not None:
^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'RemoteVM' object has no attribute '_qdb_connection_watch'
```
Related to #669.
Test vm1 -> relay -> vm2-remote call path. Do it on a single host by having relay service that transform names (source to source-remote and target-remote to target). For this to work, there need to be matching pairs of VMs with and without -remote suffix, and appropriate policy for both outgoing and incoming connections. For now put the test into 'misc' package, when there will be more qubes-air related tests, move it elsewhere. QubesOS/qubes-issues#9015
RemoteVM has much less attributes, so use getattr to handle this gracefully. At the same time, add also "relayvm" attribute too. QubesOS/qubes-issues#9015
3282a6f to
e90249b
Compare
Test vm1 -> relay -> vm2-remote call path. Do it on a single host by having
relay service that transform names (source to source-remote and
target-remote to target). For this to work, there need to be matching pairs
of VMs with and without -remote suffix, and appropriate policy for both
outgoing and incoming connections.
QubesOS/qubes-issues#9015