Skip to content

Conversation

@ben-grande
Copy link
Contributor

@ben-grande ben-grande commented Nov 14, 2025

The force feature exists for the sole reason of skipping deletion of the original feature if it has the same value as the current netvm.

For: #722
Fixes: QubesOS/qubes-issues#10173
For: QubesOS/qubes-issues#1512


Integration tests working locally.

@codecov
Copy link

codecov bot commented Nov 14, 2025

Codecov Report

❌ Patch coverage is 8.00000% with 23 lines in your changes missing coverage. Please review.
✅ Project coverage is 70.55%. Comparing base (6b978a3) to head (274bb39).
⚠️ Report is 19 commits behind head on main.

Files with missing lines Patch % Lines
qubes/vm/mix/net.py 8.69% 21 Missing ⚠️
qubes/vm/dispvm.py 0.00% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #755      +/-   ##
==========================================
- Coverage   70.68%   70.55%   -0.13%     
==========================================
  Files          61       61              
  Lines       13809    13790      -19     
==========================================
- Hits         9761     9730      -31     
- Misses       4048     4060      +12     
Flag Coverage Δ
unittests 70.55% <8.00%> (-0.13%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ben-grande ben-grande force-pushed the preload-redo-netvm-post-restart branch 3 times, most recently from 7e18879 to 5feaff8 Compare November 14, 2025 13:06
@ben-grande ben-grande marked this pull request as ready for review November 14, 2025 13:09
@marmarek
Copy link
Member

Is new feature necessary, isn't it enough to set deferred-netvm-original to the same value as is currently? Similar to qvm-prefs vmname netvm $(qvm-prefs vmname netvm) does re-connect the network.
Note also that changing netvm back and forth should still apply the change eventually - suppose the following scenario:

  1. Paused VM "test1" (preloaded or not), has netvm sys-firewall
  2. Change netvm to sys-net
  3. Shutdown sys-firewall
  4. Start sys-firewall
  5. Change test1's netvm back to sys-firewall

Even though the value is the same as before, it should be re-connected. I haven't checked if that's already the case, but looks similar to the case here.

@qubesos-bot
Copy link

qubesos-bot commented Nov 18, 2025

OpenQA test summary

Complete test suite and dependencies: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2025121708-4.3&flavor=pull-requests

Test run included the following:

New failures, excluding unstable

Compared to: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2025111104-4.3&flavor=update

  • system_tests_dispvm
    • TC_20_DispVM_whonix-workstation-18: test_010_dvm_run_simple (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...

    • TC_20_DispVM_whonix-workstation-18: test_011_preload_reject_max (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...

    • TC_20_DispVM_whonix-workstation-18: test_012_preload_low_mem (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...

    • TC_20_DispVM_whonix-workstation-18: test_013_preload_gui (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...

    • TC_20_DispVM_whonix-workstation-18: test_014_preload_nogui (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...

    • TC_20_DispVM_whonix-workstation-18: test_015_preload_race_more (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...

    • TC_20_DispVM_whonix-workstation-18: test_016_preload_race_less (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...

    • TC_20_DispVM_whonix-workstation-18: test_017_preload_autostart (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...

    • TC_20_DispVM_whonix-workstation-18: test_018_preload_global (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...

    • TC_20_DispVM_whonix-workstation-18: test_019_preload_refresh (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...

    • TC_20_DispVM_whonix-workstation-18: test_020_gui_app (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...

Failed tests

13 failures
  • system_tests_dispvm
    • TC_20_DispVM_whonix-workstation-18: test_010_dvm_run_simple (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...

    • TC_20_DispVM_whonix-workstation-18: test_011_preload_reject_max (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...

    • TC_20_DispVM_whonix-workstation-18: test_012_preload_low_mem (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...

    • TC_20_DispVM_whonix-workstation-18: test_013_preload_gui (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...

    • TC_20_DispVM_whonix-workstation-18: test_014_preload_nogui (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...

    • TC_20_DispVM_whonix-workstation-18: test_015_preload_race_more (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...

    • TC_20_DispVM_whonix-workstation-18: test_016_preload_race_less (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...

    • TC_20_DispVM_whonix-workstation-18: test_017_preload_autostart (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...

    • TC_20_DispVM_whonix-workstation-18: test_018_preload_global (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...

    • TC_20_DispVM_whonix-workstation-18: test_019_preload_refresh (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...

    • TC_20_DispVM_whonix-workstation-18: test_020_gui_app (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...

    • TC_20_DispVM_whonix-workstation-18: test_030_edit_file (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...

    • TC_20_DispVM_whonix-workstation-18: test_100_open_in_dispvm (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...

Fixed failures

Compared to: https://openqa.qubes-os.org/tests/158999#dependencies
Nothing fixed

Unstable tests

Details

Performance Tests

Performance degradation:

No issues

Remaining performance tests:

No remaining performance tests

@marmarek
Copy link
Member

This appears to be caused by this PR.

@ben-grande
Copy link
Contributor Author

Even though the value is the same as before, it should be re-connected. I haven't checked if that's already the case, but looks similar to the case here.

Removing the feature. It's intent was to avoid extra reconnects, but in this example, it must reconnect.

Also don't skip connecting if netvm was changed to the original value,
as the netvm may have restarted in the meantime.

For: QubesOS#722
Fixes: QubesOS/qubes-issues#10173
For: QubesOS/qubes-issues#1512
@ben-grande
Copy link
Contributor Author

Can't mix with other preloaded disposable PRs because of merge conflict. Could I get more labels on this repo? openqa-pending-[456]? For now, I just need 1 extra label.

@marmarek
Copy link
Member

If you want to test just a single PR, just skip PR_LABEL and post the comment in the PR you want to test. Anyway, I created extra label.

@ben-grande
Copy link
Contributor Author

ben-grande commented Dec 17, 2025

openQArun PR_LABEL=openqa-group-4 TEST=system_tests_dispvm,system_tests_dispvm_perf


I will cancel this one...

Error 500

@ben-grande
Copy link
Contributor Author

ben-grande commented Dec 17, 2025

openQArun PR_LABEL=openqa-group-4 TEST=system_tests_dispvm,system_tests_network,system_tests_network_ipv6


@ben-grande
Copy link
Contributor Author

Only network test that failed and error 125 is qrexec... The other failures on system_tests_dispvm is fixed in another PR that could not be included in this batch because of merge conflicts. Restarted the ipv6 job.

@ben-grande
Copy link
Contributor Author

Passed openqa. This is a bug fix, not feature improvement. Maybe it can make to final release.

https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2025121708-4.3&groupid=11

@marmarek marmarek merged commit accfea0 into QubesOS:main Dec 22, 2025
3 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Preloaded disposable doesn't handle netvm changes when it is paused

3 participants