Skip to content

waawvmupdate: run qubes.PostUpdate hook after every update attempt - #225

Merged
marmarek merged 2 commits into
QubesOS:mainfrom
andreasglashauser:post-update-hook
Sep 14, 2026
Merged

marmarek merged 2 commits into
QubesOS:mainfrom
andreasglashauser:post-update-hook

Conversation

@andreasglashauser

@andreasglashauser andreasglashauser commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

The dnf agents return before the transaction when there is nothing to upgrade, and apt-get never invokes dpkg (and so never DPkg::Post-Invoke) when there is nothing to do. As a result qubes.PostInstall and any post-install.d script only run after a real package change, and secondary package managers hooked there lag behind on quiet templates like debian minimal.

After the package manager finishes with OK or OK_NO_UPDATES in a template or standalone qube, the agent now runs /etc/qubes-rpc/qubes.PostUpdate, which executes/etc/qubes/post-update.d/*.shregardless of whether any package changed. The script itself ships with QubesOS/qubes-core-agent-linux#676. If it is missing, the template runs an older core-agent and the step is skipped.

Fixes QubesOS/qubes-issues#10389.

AI disclosure: I used a local LLM for writing commit messages. I have written each line of code myself, but I used Claude Fable 5 to brainstorm an implementation plan and review my code. Fable also edited doc/tools/qubes-vm-update.rst for me.

Comment thread vmupdate/agent/source/common/post_update_hook.py Outdated
@marmarek

Copy link
Copy Markdown
Member

PipelineRetry

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 73.75%. Comparing base (bbba4b0) to head (ee95af4).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #225      +/-   ##
==========================================
+ Coverage   71.36%   73.75%   +2.38%     
==========================================
  Files          12       14       +2     
  Lines        1383     1440      +57     
==========================================
+ Hits          987     1062      +75     
+ Misses        396      378      -18     

☔ View full report in Codecov by Harness.
📢 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.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@qubesos-bot

Copy link
Copy Markdown

OpenQA test summary

Complete test suite and dependencies: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2026091318-devel&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=2026050504-devel&flavor=update

  • system_tests_extra

    • TC_00_Direct_whonix-workstation-18: test_050_generate (failure)
      AssertionError: 'user2@localhost' not found in '/home/user/.gnupg/p...

    • TC_00_QVCTest_fedora-44-xfce: test_010_screenshare (failure + cleanup)
      ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^... AssertionError: 1179648 != 0

  • system_tests_usbproxy

    • TC_20_USBProxy_core3_debian-13-xfce: test_030_detach (error)
      qubesusbproxy.core3ext.QubesUSBException: Device detach failed: 20...
  • system_tests_network_updates

    • TC_00_Dom0Upgrade_whonix-gateway-18: test_000_update_salt (error)
      subprocess.CalledProcessError: Command 'timeout=120; while ! tor-ci...

    • TC_00_Dom0Upgrade_whonix-gateway-18: test_010_instal (error)
      subprocess.CalledProcessError: Command 'timeout=120; while ! tor-ci...

  • system_tests_audio@hw1

  • system_tests_gpu_passthrough@hw13

    • gpu_passthrough: Failed (test died)
      # Test died: command 'ansible-playbook -i inventory -e pci_devices=...
  • system_tests_qwt_win10@hw13

    • windows_install: wait_serial (wait serial expected)
      # wait_serial expected: qr/install-complete-\d+-/...
  • system_tests_qwt_win10_seamless@hw13

    • windows_install: wait_serial (wait serial expected)
      # wait_serial expected: qr/install-complete-\d+-/...

    • windows_install: Failed (test died + timed out)
      # Test died: Install timed out at qubesos/tests/windows_install.pm ...

Failed tests

15 failures
  • system_tests_extra

    • TC_00_Direct_whonix-workstation-18: test_050_generate (failure)
      AssertionError: 'user2@localhost' not found in '/home/user/.gnupg/p...

    • TC_00_QVCTest_fedora-44-xfce: test_010_screenshare (failure + cleanup)
      ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^... AssertionError: 1179648 != 0

  • system_tests_usbproxy

    • TC_20_USBProxy_core3_debian-13-xfce: test_030_detach (error)
      qubesusbproxy.core3ext.QubesUSBException: Device detach failed: 20...
  • system_tests_network_updates

    • TC_00_Dom0Upgrade_whonix-gateway-18: test_000_update_salt (error)
      subprocess.CalledProcessError: Command 'timeout=120; while ! tor-ci...

    • [unstable] TC_00_Dom0Upgrade_whonix-gateway-18: test_006_update_flag_clear (failure + timed out)
      Error: Failed to download metadata for repo 'test': Cannot download...

    • TC_00_Dom0Upgrade_whonix-gateway-18: test_010_instal (error)
      subprocess.CalledProcessError: Command 'timeout=120; while ! tor-ci...

  • system_tests_dispvm

  • system_tests_audio@hw1

  • system_tests_gpu_passthrough@hw13

    • gpu_passthrough: Failed (test died)
      # Test died: command 'ansible-playbook -i inventory -e pci_devices=...
  • system_tests_whonix@hw1

    • [unstable] whonixcheck: fail (unknown)
      Whonixcheck for whonix-gateway-18 failed...

    • [unstable] whonixcheck: Failed (test died)
      # Test died: systemcheck failed at qubesos/tests/whonixcheck.pm lin...

  • system_tests_qwt_win10@hw13

    • windows_install: wait_serial (wait serial expected)
      # wait_serial expected: qr/install-complete-\d+-/...

    • windows_install: Failed (test died + timed out)
      # Test died: Install timed out at qubesos/tests/windows_install.pm ...

  • system_tests_qwt_win10_seamless@hw13

    • windows_install: wait_serial (wait serial expected)
      # wait_serial expected: qr/install-complete-\d+-/...

    • windows_install: Failed (test died + timed out)
      # Test died: Install timed out at qubesos/tests/windows_install.pm ...

Fixed failures

Compared to: https://openqa.qubes-os.org/tests/176874#dependencies

32 fixed
  • system_tests_whonix

    • whonixcheck: Failed (test died)
      # Test died: command 'qvm-shutdown --wait anon-whonix ' failed at /...
  • system_tests_pvgrub_salt_storage

    • system_tests: Fail (unknown)
      Tests qubes.tests.integ.grub failed (exit code 1), details reported...

    • system_tests: Failed (test died)
      # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...

    • TC_41_HVMGrub_debian-13-xfce: test_000_standalone_vm (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

    • TC_41_HVMGrub_debian-13-xfce: test_001_standalone_vm_dracut (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

    • TC_41_HVMGrub_debian-13-xfce: test_010_template_based_vm (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

    • TC_41_HVMGrub_debian-13-xfce: test_011_template_based_vm_dracut (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

    • TC_41_HVMGrub_fedora-43-xfce: test_010_template_based_vm (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

  • system_tests_extra

    • TC_01_InputProxyExclude_debian-13-xfce: test_000_qemu_tablet (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

    • TC_01_InputProxyExclude_fedora-43-xfce: test_000_qemu_tablet (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

    • TC_00_QVCTest_fedora-43-xfce: test_010_screenshare (failure + cleanup)
      ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^... AssertionError: 1179648 != 0

    • TC_00_QVCTest_whonix-gateway-18: test_010_screenshare (failure + cleanup)
      AssertionError: 2.3156185715769593 not less than 2.0

    • TC_00_PDFConverter_fedora-43-xfce: test_004_cancel_stops_conversion (failure)
      AssertionError: DispVM not cleaned up 10s after cancel: {<DispVM at...

  • system_tests_usbproxy

    • system_tests: wait_serial (wait serial expected)
      # wait_serial expected: qr/h3uXO-\d+-/...

    • TC_20_USBProxy_core3_fedora-43-xfce: test_090_attach_stubdom (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

  • system_tests_network_ipv6

    • system_tests: Fail (unknown)
      Tests qubes.tests.integ.network_ipv6 failed (exit code 1), details ...

    • system_tests: Failed (test died)
      # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...

    • VmIPv6Networking_fedora-43-xfce: test_001_simple_networking_paused_from_none_to_existent (error)
      raise TimeoutError from exc_val... TimeoutError

  • system_tests_audio

  • system_tests_audio@hw1

  • system_tests_guivm_gpu_gui_interactive@hw13

    • shutdown: unnamed test (unknown)
    • shutdown: Failed (test died)
      # Test died: no candidate needle with tag(s) 'text-logged-in-root' ...
  • system_tests_qwt_win10_seamless@hw13

    • windows_clipboard_and_filecopy: unnamed test (unknown)
    • windows_clipboard_and_filecopy: Failed (test died)
      # Test died: no candidate needle with tag(s) 'windows-Edge-address-...
  • system_tests_qwt_win11@hw13

    • windows_install: Failed (test died)
      # Test died: Install failed with code 1 at qubesos/tests/windows_in...

Unstable tests

Details
  • system_tests_whonix

    whonixcheck/Failed (2/5 times with errors)
    • job 195145 # Test died: command 'qvm-run -ap anon-whonix 'LC_ALL=C whonixchec...
    • job 195438 # Test died: command 'qvm-run -ap anon-whonix 'LC_ALL=C whonixcheck...
    whonixcheck/Failed (1/5 times with errors)
    • job 194984 # Test died: command 'qvm-run -ap whonix-gateway-18 'LC_ALL=C whon...
    whonixcheck/fail (1/5 times with errors)
    • job 194984 Whonixcheck for anon-whonix failed...
    whonixcheck/wait_serial (2/5 times with errors)
    • job 195145 # Command: qvm-run -ap anon-whonix 'LC_ALL=C whonixcheck --verbose...
    • job 195438 # Command: qvm-run -ap anon-whonix 'LC_ALL=C whonixcheck --verbose ...
    whonixcheck/wait_serial (1/5 times with errors)
    • job 194984 # Command: qvm-run -ap whonix-gateway-18 'LC_ALL=C whonixcheck --v...
  • system_tests_basic_vm_qrexec_gui

    system_tests/Fail (1/5 times with errors)
    • job 195163 Tests qubes.tests.integ.basic failed (exit code 1), details reporte...
    system_tests/Failed (1/5 times with errors)
    • job 195163 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    TC_30_Gui_daemon/test_002_clipboard_300k (1/5 times with errors)
    • job 195163 : Clipboard copy operation failed - content...
  • system_tests_pvgrub_salt_storage

    system_tests/Failed (1/5 times with errors)
    • job 195016 # Test died: command 'curl --form upload=@nose2-junit.xml --form up...
  • system_tests_splitgpg

    system_tests/Failed (1/5 times with errors)
    • job 195018 # Test died: command 'curl --form upload=@tests-qubes.tests.extra.l...
  • system_tests_extra

    system_tests/Fail (1/5 times with errors)
    • job 194433 Tests qubes.tests.extra failed (exit code 1), details reported sepa...
    system_tests/Failed (1/5 times with errors)
    • job 195170 # Test died: command 'testfunc qubes.tests.extra' timed out...
    system_tests/Failed (1/5 times with errors)
    • job 194433 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    TC_00_PDFConverter_debian-13-xfce/test_004_cancel_stops_conversion (1/5 times with errors)
    • job 194433 AssertionError: DispVM not cleaned up 10s after cancel: {<DispVM at...
    TC_00_PDFConverter_fedora-44-xfce/test_004_cancel_stops_conversion (1/5 times with errors)
    • job 194433 AssertionError: DispVM not cleaned up 10s after cancel: {<DispVM at...
    system_tests/wait_serial (1/5 times with errors)
    • job 195170 # Command: testfunc qubes.tests.extra...
  • system_tests_gui_interactive

    clipboard_and_web/ (1/5 times with errors)
    clipboard_and_web/Failed (1/5 times with errors)
    • job 195010 # Test died: no candidate needle with tag(s) 'personal-firefox' mat...
  • system_tests_guivm_gui_interactive

    clipboard_and_web/ (1/5 times with errors)
    update_guivm/ (1/5 times with errors)
    clipboard_and_web/Failed (1/5 times with errors)
    • job 195012 # Test died: no candidate needle with tag(s) 'personal-firefox' mat...
    update_guivm/Failed (1/5 times with errors)
    • job 195466 # Test died: no candidate needle with tag(s) 'xterm' matched...
  • system_tests_usbproxy

    system_tests/Fail (1/5 times with errors)
    • job 195144 Tests qubes.tests.extra failed (exit code 1), details reported sepa...
    system_tests/Failed (1/5 times with errors)
    • job 195144 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    TC_20_USBProxy_core3_fedora-44-xfce/test_030_detach (1/5 times with errors)
    • job 195144 qubesusbproxy.core3ext.QubesUSBException: Device detach failed: 20...
  • system_tests_qrexec

    system_tests/Fail (1/5 times with errors)
    • job 195017 Tests qubes.tests.integ.qrexec failed (exit code 1), details report...
    system_tests/Failed (1/5 times with errors)
    • job 195017 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    TC_00_Qrexec_whonix-gateway-18/test_055_qrexec_dom0_service_abort (1/5 times with errors)
    • job 195017 AssertionError: Timeout, probably stdout wasn't closed
  • system_tests_network_ipv6

    system_tests/Failed (1/5 times with errors)
    • job 195175 # Test died: command 'curl --form upload=@tests-qubes.tests.integ.n...
  • system_tests_network_updates

    system_tests/Fail (3/5 times with errors)
    • job 194439 Tests qubes.tests.integ.dom0_update failed (exit code 1), details r...
    • job 194790 Tests qubes.tests.integ.dom0_update failed (exit code 1), details r...
    • job 195176 Tests qubes.tests.integ.dom0_update failed (exit code 1), details r...
    system_tests/Fail (1/5 times with errors)
    • job 194439 Tests qubes.tests.integ.vm_update failed (exit code 1), details rep...
    system_tests/Failed (1/5 times with errors)
    • job 195469 # Test died: command 'curl --form upload=@tests-qubes.tests.integ.d...
    system_tests/Failed (2/5 times with errors)
    • job 194790 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 195176 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    system_tests/Failed (1/5 times with errors)
    • job 194439 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    TC_00_Dom0Upgrade_whonix-gateway-18/test_000_update (2/5 times with errors)
    • job 194790 Error: Failed to download metadata for repo 'test': Cannot download...
    • job 195176 Error: Failed to download metadata for repo 'test': Cannot download...
    TC_00_Dom0Upgrade_whonix-gateway-18/test_001_update_check (1/5 times with errors)
    TC_00_Dom0Upgrade_whonix-gateway-18/test_006_update_flag_clear (1/5 times with errors)
    • job 194790 Error: Failed to download metadata for repo 'test': Cannot download...
    TC_11_QvmTemplateMgmtVM_fedora-44-xfce/test_010_template_install (1/5 times with errors)
    • job 195176 AssertionError: qvm-template failed: [Qrexec] ERROR: dnf command is...
    VmUpdates_fedora-44-xfce/test_120_updates_available_notification_qubes_vm_update (1/5 times with errors)
    • job 194439 subprocess.CalledProcessError: Command '/usr/lib/qubes/upgrades-sta...
  • system_tests_dispvm

    system_tests/Fail (4/5 times with errors)
    • job 194432 Tests qubes.tests.integ.dispvm failed (exit code 1), details report...
    • job 194783 Tests qubes.tests.integ.dispvm failed (exit code 1), details report...
    • job 195008 Tests qubes.tests.integ.dispvm failed (exit code 1), details report...
    • job 195169 Tests qubes.tests.integ.dispvm failed (exit code 1), details report...
    system_tests/Failed (4/5 times with errors)
    • job 194432 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 194783 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 195008 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 195169 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    TC_21_DispVM_Preload/test_012_preload_low_mem_early_startup (4/5 times with errors)
    • job 194432 ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^... AssertionError: 0 != 2
    • job 194783 ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^... AssertionError: 0 != 2
    • job 195008 ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^... AssertionError: 0 != 2
    • job 195169 ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^... AssertionError: 0 != 2
  • system_tests_kde_gui_interactive

    clipboard_and_web/ (1/5 times with errors)
    clipboard_and_web/ (1/5 times with errors)
    clipboard_and_web/Failed (1/5 times with errors)
    • job 194988 # Test died: no candidate needle with tag(s) 'personal-firefox' mat...
    clipboard_and_web/Failed (1/5 times with errors)
    • job 195149 # Test died: no candidate needle with tag(s) 'personal-firefox' mat...
  • system_tests_guivm_vnc_gui_interactive

    gui_filecopy/ (1/5 times with errors)
    guivm_manager/ (1/5 times with errors)
    simple_gui_apps/ (1/5 times with errors)
    gui_filecopy/Failed (1/5 times with errors)
    • job 195547 # Test died: no candidate needle with tag(s) 'files-test-file' matc...
    guivm_manager/Failed (1/5 times with errors)
    • job 195446 # Test died: no candidate needle with tag(s) 'menu-qubes-tools' mat...
    guivm_startup/Failed (1/5 times with errors)
    • job 194992 # Test died: command 'qvm-start --skip-if-running sys-gui-vnc' time...
    simple_gui_apps/Failed (1/5 times with errors)
    • job 195551 # Test died: no candidate needle with tag(s) 'vm-settings-applicati...
    guivm_startup/wait_serial (1/5 times with errors)
    • job 194992 # Command: qvm-start --skip-if-running sys-gui-vnc...
    guivm_startup/wait_serial (1/5 times with errors)
    • job 194992 # Command: qvm-run --no-gui -p -u root sys-gui-vnc 'cat /home/user/...
  • system_tests_gui_interactive@hw7

    clipboard_and_web/ (1/5 times with errors)
    clipboard_and_web/Failed (1/5 times with errors)
    • job 195010 # Test died: no candidate needle with tag(s) 'personal-firefox' mat...
  • system_tests_whonix@hw1

    whonixcheck/Failed (2/5 times with errors)
    • job 195145 # Test died: command 'qvm-run -ap anon-whonix 'LC_ALL=C whonixchec...
    • job 195438 # Test died: command 'qvm-run -ap anon-whonix 'LC_ALL=C whonixcheck...
    whonixcheck/Failed (1/5 times with errors)
    • job 194984 # Test died: command 'qvm-run -ap whonix-gateway-18 'LC_ALL=C whon...
    whonixcheck/fail (1/5 times with errors)
    • job 194984 Whonixcheck for anon-whonix failed...
    whonixcheck/wait_serial (2/5 times with errors)
    • job 195145 # Command: qvm-run -ap anon-whonix 'LC_ALL=C whonixcheck --verbose...
    • job 195438 # Command: qvm-run -ap anon-whonix 'LC_ALL=C whonixcheck --verbose ...
    whonixcheck/wait_serial (1/5 times with errors)
    • job 194984 # Command: qvm-run -ap whonix-gateway-18 'LC_ALL=C whonixcheck --v...
  • system_tests_basic_vm_qrexec_gui_btrfs

    system_tests/Failed (1/5 times with errors)
    • job 195457 # Test died: command 'curl --form upload=@tests-qubes.tests.integ.b...
  • system_tests_basic_vm_qrexec_gui_ext4

    system_tests/Fail (1/5 times with errors)
    • job 195165 Tests qubes.tests.integ.vm_qrexec_gui failed (exit code 1), details...
    system_tests/Failed (1/5 times with errors)
    • job 195165 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    TC_20_NonAudio_fedora-44-xfce-pool/test_500_gui_agent_env_sync (1/5 times with errors)
    • job 195165 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
  • system_tests_basic_vm_qrexec_gui@hw7

    system_tests/Fail (1/5 times with errors)
    • job 195163 Tests qubes.tests.integ.basic failed (exit code 1), details reporte...
    system_tests/Failed (1/5 times with errors)
    • job 195163 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    TC_30_Gui_daemon/test_002_clipboard_300k (1/5 times with errors)
    • job 195163 : Clipboard copy operation failed - content...

Performance Tests

Performance degradation:

No issues

Remaining performance tests:

111 tests
  • debian-13-xfce_exec: 8.56
  • debian-13-xfce_exec-root: 28.04
  • debian-13-xfce_socket: 9.07
  • debian-13-xfce_socket-root: 9.02
  • debian-13-xfce_exec-data-simplex: 64.89
  • debian-13-xfce_exec-data-duplex: 68.77
  • debian-13-xfce_exec-data-duplex-root: 83.35
  • debian-13-xfce_socket-data-duplex: 82.28
  • fedora-44-xfce_exec: 8.91
  • fedora-44-xfce_exec-root: 71.56
  • fedora-44-xfce_socket: 8.88
  • fedora-44-xfce_socket-root: 8.78
  • fedora-44-xfce_exec-data-simplex: 72.27
  • fedora-44-xfce_exec-data-duplex: 77.73
  • fedora-44-xfce_exec-data-duplex-root: 105.78
  • fedora-44-xfce_socket-data-duplex: 84.86
  • whonix-gateway-18_exec: 7.60
  • whonix-gateway-18_exec-root: 147.78
  • whonix-gateway-18_socket: 8.37
  • whonix-gateway-18_socket-root: 9.16
  • whonix-gateway-18_exec-data-simplex: 70.04
  • whonix-gateway-18_exec-data-duplex: 68.96
  • whonix-gateway-18_exec-data-duplex-root: 148.61
  • whonix-gateway-18_socket-data-duplex: 100.65
  • whonix-workstation-18_exec: 7.92
  • whonix-workstation-18_exec-root: 167.51
  • whonix-workstation-18_socket: 8.51
  • whonix-workstation-18_socket-root: 9.92
  • whonix-workstation-18_exec-data-simplex: 67.04
  • whonix-workstation-18_exec-data-duplex: 70.77
  • whonix-workstation-18_exec-data-duplex-root: 159.76
  • whonix-workstation-18_socket-data-duplex: 93.65
  • dom0_root_seq1m_q8t1_read 3:read_bandwidth_kb: 379781.00
  • dom0_root_seq1m_q8t1_write 3:write_bandwidth_kb: 242165.00
  • dom0_root_seq1m_q1t1_read 3:read_bandwidth_kb: 429920.00
  • dom0_root_seq1m_q1t1_write 3:write_bandwidth_kb: 192664.00
  • dom0_root_rnd4k_q32t1_read 3:read_bandwidth_kb: 98365.00
  • dom0_root_rnd4k_q32t1_write 3:write_bandwidth_kb: 4817.00
  • dom0_root_rnd4k_q1t1_read 3:read_bandwidth_kb: 8172.00
  • dom0_root_rnd4k_q1t1_write 3:write_bandwidth_kb: 4460.00
  • dom0_varlibqubes_seq1m_q8t1_read 3:read_bandwidth_kb: 496484.00
  • dom0_varlibqubes_seq1m_q8t1_write 3:write_bandwidth_kb: 336189.00
  • dom0_varlibqubes_seq1m_q1t1_read 3:read_bandwidth_kb: 195515.00
  • dom0_varlibqubes_seq1m_q1t1_write 3:write_bandwidth_kb: 88208.00
  • dom0_varlibqubes_rnd4k_q32t1_read 3:read_bandwidth_kb: 95417.00
  • dom0_varlibqubes_rnd4k_q32t1_write 3:write_bandwidth_kb: 10232.00
  • dom0_varlibqubes_rnd4k_q1t1_read 3:read_bandwidth_kb: 8290.00
  • dom0_varlibqubes_rnd4k_q1t1_write 3:write_bandwidth_kb: 4208.00
  • fedora-44-xfce_root_seq1m_q8t1_read 3:read_bandwidth_kb: 275795.00
  • fedora-44-xfce_root_seq1m_q8t1_write 3:write_bandwidth_kb: 147789.00
  • fedora-44-xfce_root_seq1m_q1t1_read 3:read_bandwidth_kb: 337705.00
  • fedora-44-xfce_root_seq1m_q1t1_write 3:write_bandwidth_kb: 37639.00
  • fedora-44-xfce_root_rnd4k_q32t1_read 3:read_bandwidth_kb: 87857.00
  • fedora-44-xfce_root_rnd4k_q32t1_write 3:write_bandwidth_kb: 3477.00
  • fedora-44-xfce_root_rnd4k_q1t1_read 3:read_bandwidth_kb: 7012.00
  • fedora-44-xfce_root_rnd4k_q1t1_write 3:write_bandwidth_kb: 249.00
  • fedora-44-xfce_private_seq1m_q8t1_read 3:read_bandwidth_kb: 346751.00
  • fedora-44-xfce_private_seq1m_q8t1_write 3:write_bandwidth_kb: 111552.00
  • fedora-44-xfce_private_seq1m_q1t1_read 3:read_bandwidth_kb: 320567.00
  • fedora-44-xfce_private_seq1m_q1t1_write 3:write_bandwidth_kb: 36335.00
  • fedora-44-xfce_private_rnd4k_q32t1_read 3:read_bandwidth_kb: 83849.00
  • fedora-44-xfce_private_rnd4k_q32t1_write 3:write_bandwidth_kb: 1760.00
  • fedora-44-xfce_private_rnd4k_q1t1_read 3:read_bandwidth_kb: 7534.00
  • fedora-44-xfce_private_rnd4k_q1t1_write 3:write_bandwidth_kb: 798.00
  • fedora-44-xfce_volatile_seq1m_q8t1_read 3:read_bandwidth_kb: 199839.00
  • fedora-44-xfce_volatile_seq1m_q8t1_write 3:write_bandwidth_kb: 96459.00
  • fedora-44-xfce_volatile_seq1m_q1t1_read 3:read_bandwidth_kb: 332670.00
  • fedora-44-xfce_volatile_seq1m_q1t1_write 3:write_bandwidth_kb: 38855.00
  • fedora-44-xfce_volatile_rnd4k_q32t1_read 3:read_bandwidth_kb: 60006.00
  • fedora-44-xfce_volatile_rnd4k_q32t1_write 3:write_bandwidth_kb: 2880.00
  • fedora-44-xfce_volatile_rnd4k_q1t1_read 3:read_bandwidth_kb: 7320.00
  • fedora-44-xfce_volatile_rnd4k_q1t1_write 3:write_bandwidth_kb: 1070.00
  • debian-13-xfce_dom0-dispvm-api (mean:6.428): 77.14
  • debian-13-xfce_dom0-dispvm-gui-api (mean:8.588): 103.06
  • debian-13-xfce_dom0-dispvm-preload-2-api (mean:3.354): 40.25
  • debian-13-xfce_dom0-dispvm-preload-2-delay-0-api (mean:3.094): 37.13
  • debian-13-xfce_dom0-dispvm-preload-2-delay-minus-1d2-api (mean:3.324): 39.89
  • debian-13-xfce_dom0-dispvm-preload-4-api (mean:2.626): 31.52
  • debian-13-xfce_dom0-dispvm-preload-4-delay-0-api (mean:2.481): 29.77
  • debian-13-xfce_dom0-dispvm-preload-4-delay-minus-1d2-api (mean:2.492): 29.90
  • debian-13-xfce_dom0-dispvm-preload-2-gui-api (mean:4.601): 55.21
  • debian-13-xfce_dom0-dispvm-preload-4-gui-api (mean:3.817): 45.80
  • debian-13-xfce_dom0-dispvm-preload-6-gui-api (mean:3.224): 38.69
  • debian-13-xfce_dom0-vm-api (mean:0.026): 0.31
  • debian-13-xfce_dom0-vm-gui-api (mean:0.033): 0.40
  • fedora-44-xfce_dom0-dispvm-api (mean:8.256): 99.08
  • fedora-44-xfce_dom0-dispvm-gui-api (mean:10.339): 124.07
  • fedora-44-xfce_dom0-dispvm-preload-2-api (mean:3.847): 46.16
  • fedora-44-xfce_dom0-dispvm-preload-2-delay-0-api (mean:3.68): 44.17
  • fedora-44-xfce_dom0-dispvm-preload-2-delay-minus-1d2-api (mean:4.301): 51.61
  • fedora-44-xfce_dom0-dispvm-preload-4-api (mean:3.02): 36.23
  • fedora-44-xfce_dom0-dispvm-preload-4-delay-0-api (mean:2.802): 33.62
  • fedora-44-xfce_dom0-dispvm-preload-4-delay-minus-1d2-api (mean:3.21): 38.52
  • fedora-44-xfce_dom0-dispvm-preload-2-gui-api (mean:5.348): 64.18
  • fedora-44-xfce_dom0-dispvm-preload-4-gui-api (mean:4.168): 50.01
  • fedora-44-xfce_dom0-dispvm-preload-6-gui-api (mean:3.464): 41.57
  • fedora-44-xfce_dom0-vm-api (mean:0.039): 0.47
  • fedora-44-xfce_dom0-vm-gui-api (mean:0.033): 0.40
  • whonix-workstation-18_dom0-dispvm-api (mean:9.615): 115.38
  • whonix-workstation-18_dom0-dispvm-gui-api (mean:11.693): 140.31
  • whonix-workstation-18_dom0-dispvm-preload-2-api (mean:4.442): 53.30
  • whonix-workstation-18_dom0-dispvm-preload-2-delay-0-api (mean:4.51): 54.12
  • whonix-workstation-18_dom0-dispvm-preload-2-delay-minus-1d2-api (mean:5.106): 61.27
  • whonix-workstation-18_dom0-dispvm-preload-4-api (mean:3.321): 39.85
  • whonix-workstation-18_dom0-dispvm-preload-4-delay-0-api (mean:3.392): 40.70
  • whonix-workstation-18_dom0-dispvm-preload-4-delay-minus-1d2-api (mean:3.627): 43.52
  • whonix-workstation-18_dom0-dispvm-preload-2-gui-api (mean:6.162): 73.94
  • whonix-workstation-18_dom0-dispvm-preload-4-gui-api (mean:4.815): 57.78
  • whonix-workstation-18_dom0-dispvm-preload-6-gui-api (mean:3.961): 47.53
  • whonix-workstation-18_dom0-vm-api (mean:0.045): 0.54
  • whonix-workstation-18_dom0-vm-gui-api (mean:0.049): 0.59

@marmarek
marmarek merged commit 565a797 into QubesOS:main Sep 14, 2026
1 check was pending
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.

add update hook RPC(s) in addition to qubes.PostInstall

4 participants