Skip to content

Conversation

marmarta
Copy link
Member

  • improved dark mode
  • use Mock API for tests
  • add config for device attachments to Global Config, in particular
  • devices denied can be configured
  • auto-attach, ask-to-attach and required auto-attach can be configured

requires QubesOS/qubes-core-admin-client#355

@qubesos-bot
Copy link

qubesos-bot commented Apr 30, 2025

OpenQA test summary

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

  • system_tests_guivm_gui_interactive

    • guivm_manager: unnamed test (unknown)
    • guivm_manager: Failed (test died)
      # Test died: no candidate needle with tag(s) 'menu-qubes-tools' mat...
  • system_tests_dispvm

  • system_tests_guivm_vnc_gui_interactive

    • guivm_manager: unnamed test (unknown)
    • guivm_manager: Failed (test died)
      # Test died: no candidate needle with tag(s) 'menu-qubes-tools' mat...
  • system_tests_audio

  • system_tests_qwt_win10_seamless@hw13

    • windows_install: wait_serial (wait serial expected)
      # wait_serial expected: qr/0ZKG~-\d+-/...

    • windows_install: Failed (test died + timed out)
      # Test died: command 'script -e -c 'bash -x /usr/bin/qvm-create-win...

  • system_tests_basic_vm_qrexec_gui_btrfs

    • TC_20_NonAudio_whonix-gateway-17-pool: test_000_start_shutdown (error)
      subprocess.CalledProcessError: Command 'qubes.WaitForSession' retur...
  • system_tests_guivm_gpu_gui_interactive@hw13

    • guivm_manager: unnamed test (unknown)
    • guivm_manager: Failed (test died)
      # Test died: no candidate needle with tag(s) 'menu-qubes-tools' mat...
  • system_tests_basic_vm_qrexec_gui_ext4

  • system_tests_qwt_win11@hw13

    • windows_install: Failed (test died)
      # Test died: command 'script -e -c 'bash -x /usr/bin/qvm-create-win...
  • system_tests_qwt_win10@hw13

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

    • windows_install: Failed (test died + timed out)
      # Test died: command 'script -e -c 'bash -x /usr/bin/qvm-create-win...

Failed tests

37 failures
  • system_tests_extra

    • TC_00_QVCTest_whonix-workstation-17: test_010_screenshare (failure)
      AssertionError: 1 != 0 : Timeout waiting for /dev/video0 in test-in...
  • system_tests_guivm_gui_interactive

    • guivm_manager: unnamed test (unknown)
    • guivm_manager: Failed (test died)
      # Test died: no candidate needle with tag(s) 'menu-qubes-tools' mat...
  • system_tests_dispvm

  • system_tests_kde_gui_interactive

    • gui_keyboard_layout: wait_serial (wait serial expected)
      # wait_serial expected: "echo -e '[Layout]\nLayoutList=us,de' | sud...

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

    • gui_keyboard_layout: Failed (test died + timed out)
      # Test died: command 'echo -e '[Layout]...

    • gui_keyboard_layout: wait_serial (wait serial expected)
      # wait_serial expected: "# "...

    • gui_keyboard_layout: wait_serial (wait serial expected)
      # wait_serial expected: qr/2E8vz-\d+-/...

  • system_tests_guivm_vnc_gui_interactive

    • guivm_manager: unnamed test (unknown)
    • guivm_manager: Failed (test died)
      # Test died: no candidate needle with tag(s) 'menu-qubes-tools' mat...
  • system_tests_audio

  • system_tests_qwt_win10_seamless@hw13

    • windows_install: wait_serial (wait serial expected)
      # wait_serial expected: qr/0ZKG~-\d+-/...

    • windows_install: Failed (test died + timed out)
      # Test died: command 'script -e -c 'bash -x /usr/bin/qvm-create-win...

  • system_tests_basic_vm_qrexec_gui_btrfs

    • TC_20_NonAudio_whonix-gateway-17-pool: test_000_start_shutdown (error)
      subprocess.CalledProcessError: Command 'qubes.WaitForSession' retur...
  • system_tests_guivm_gpu_gui_interactive@hw13

    • guivm_manager: unnamed test (unknown)
    • guivm_manager: Failed (test died)
      # Test died: no candidate needle with tag(s) 'menu-qubes-tools' mat...
  • system_tests_basic_vm_qrexec_gui_ext4

  • system_tests_qwt_win11@hw13

    • windows_install: Failed (test died)
      # Test died: command 'script -e -c 'bash -x /usr/bin/qvm-create-win...
  • system_tests_qwt_win10@hw13

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

    • windows_install: Failed (test died + timed out)
      # Test died: command 'script -e -c 'bash -x /usr/bin/qvm-create-win...

Fixed failures

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

10 fixed

Unstable tests

Performance Tests

Performance degradation:

10 performance degradations
  • debian-12-xfce_exec-data-duplex-root: 81.25 🔺 ( previous job: 70.01, degradation: 116.05%)
  • whonix-workstation-17_exec-data-duplex-root: 104.24 🔺 ( previous job: 86.00, degradation: 121.21%)
  • dom0_root_rnd4k_q1t1_write 3:write_bandwidth_kb: 80.00 :small_red_triangle: ( previous job: 1840.00, degradation: 4.35%)
  • dom0_varlibqubes_seq1m_q8t1_read 3:read_bandwidth_kb: 143625.00 :small_red_triangle: ( previous job: 289182.00, degradation: 49.67%)
  • dom0_varlibqubes_seq1m_q8t1_write 3:write_bandwidth_kb: 106520.00 :small_red_triangle: ( previous job: 122848.00, degradation: 86.71%)
  • dom0_varlibqubes_rnd4k_q32t1_write 3:write_bandwidth_kb: 7336.00 :small_red_triangle: ( previous job: 8874.00, degradation: 82.67%)
  • dom0_varlibqubes_rnd4k_q1t1_write 3:write_bandwidth_kb: 3671.00 :small_red_triangle: ( previous job: 4420.00, degradation: 83.05%)
  • fedora-41-xfce_root_seq1m_q1t1_write 3:write_bandwidth_kb: 52905.00 :small_red_triangle: ( previous job: 75708.00, degradation: 69.88%)
  • fedora-41-xfce_root_rnd4k_q32t1_write 3:write_bandwidth_kb: 2307.00 :small_red_triangle: ( previous job: 3547.00, degradation: 65.04%)
  • fedora-41-xfce_volatile_seq1m_q1t1_write 3:write_bandwidth_kb: 20035.00 :small_red_triangle: ( previous job: 62556.00, degradation: 32.03%)

Remaining performance tests:

62 tests
  • debian-12-xfce_exec: 7.72 🟢 ( previous job: 8.63, improvement: 89.45%)
  • debian-12-xfce_exec-root: 29.08 🟢 ( previous job: 29.44, improvement: 98.78%)
  • debian-12-xfce_socket: 8.75 🔺 ( previous job: 8.50, degradation: 102.91%)
  • debian-12-xfce_socket-root: 7.94 🟢 ( previous job: 8.31, improvement: 95.47%)
  • debian-12-xfce_exec-data-simplex: 63.92 🟢 ( previous job: 65.51, improvement: 97.56%)
  • debian-12-xfce_exec-data-duplex: 74.25 🔺 ( previous job: 73.55, degradation: 100.95%)
  • debian-12-xfce_socket-data-duplex: 162.10 🔺 ( previous job: 161.35, degradation: 100.47%)
  • fedora-41-xfce_exec: 9.13 🟢 ( previous job: 9.30, improvement: 98.11%)
  • fedora-41-xfce_exec-root: 61.28 🔺 ( previous job: 60.59, degradation: 101.13%)
  • fedora-41-xfce_socket: 8.56 🔺 ( previous job: 8.48, degradation: 100.96%)
  • fedora-41-xfce_socket-root: 8.28 🟢 ( previous job: 8.81, improvement: 93.92%)
  • fedora-41-xfce_exec-data-simplex: 65.54 🟢 ( previous job: 76.90, improvement: 85.23%)
  • fedora-41-xfce_exec-data-duplex: 67.67 🟢 ( previous job: 68.34, improvement: 99.02%)
  • fedora-41-xfce_exec-data-duplex-root: 106.52 🟢 ( previous job: 109.83, improvement: 96.98%)
  • fedora-41-xfce_socket-data-duplex: 134.89 🟢 ( previous job: 156.23, improvement: 86.34%)
  • whonix-gateway-17_exec: 7.25 🟢 ( previous job: 7.34, improvement: 98.84%)
  • whonix-gateway-17_exec-root: 38.67 🟢 ( previous job: 39.57, improvement: 97.71%)
  • whonix-gateway-17_socket: 6.75 🟢 ( previous job: 7.85, improvement: 85.91%)
  • whonix-gateway-17_socket-root: 8.20 🔺 ( previous job: 7.89, degradation: 103.85%)
  • whonix-gateway-17_exec-data-simplex: 64.92 🟢 ( previous job: 77.76, improvement: 83.48%)
  • whonix-gateway-17_exec-data-duplex: 80.06 🔺 ( previous job: 78.39, degradation: 102.14%)
  • whonix-gateway-17_exec-data-duplex-root: 97.60 🔺 ( previous job: 90.74, degradation: 107.55%)
  • whonix-gateway-17_socket-data-duplex: 154.80 🟢 ( previous job: 161.95, improvement: 95.58%)
  • whonix-workstation-17_exec: 8.55 🔺 ( previous job: 8.27, degradation: 103.37%)
  • whonix-workstation-17_exec-root: 54.41 🟢 ( previous job: 57.61, improvement: 94.45%)
  • whonix-workstation-17_socket: 7.92 🟢 ( previous job: 8.97, improvement: 88.34%)
  • whonix-workstation-17_socket-root: 8.66 🟢 ( previous job: 9.46, improvement: 91.53%)
  • whonix-workstation-17_exec-data-simplex: 74.66 🔺 ( previous job: 74.54, degradation: 100.16%)
  • whonix-workstation-17_exec-data-duplex: 70.60 🟢 ( previous job: 74.84, improvement: 94.34%)
  • whonix-workstation-17_socket-data-duplex: 166.32 🔺 ( previous job: 160.20, degradation: 103.82%)
  • dom0_root_seq1m_q8t1_read 3:read_bandwidth_kb: 303319.00 :green_circle: ( previous job: 289982.00, improvement: 104.60%)
  • dom0_root_seq1m_q8t1_write 3:write_bandwidth_kb: 202850.00 :green_circle: ( previous job: 101988.00, improvement: 198.90%)
  • dom0_root_seq1m_q1t1_read 3:read_bandwidth_kb: 292571.00 :green_circle: ( previous job: 14284.00, improvement: 2048.24%)
  • dom0_root_seq1m_q1t1_write 3:write_bandwidth_kb: 45759.00 :green_circle: ( previous job: 32696.00, improvement: 139.95%)
  • dom0_root_rnd4k_q32t1_read 3:read_bandwidth_kb: 19300.00 :green_circle: ( previous job: 17102.00, improvement: 112.85%)
  • dom0_root_rnd4k_q32t1_write 3:write_bandwidth_kb: 2381.00 :green_circle: ( previous job: 1091.00, improvement: 218.24%)
  • dom0_root_rnd4k_q1t1_read 3:read_bandwidth_kb: 11992.00 :green_circle: ( previous job: 11086.00, improvement: 108.17%)
  • dom0_varlibqubes_seq1m_q1t1_read 3:read_bandwidth_kb: 414456.00 :small_red_triangle: ( previous job: 433654.00, degradation: 95.57%)
  • dom0_varlibqubes_seq1m_q1t1_write 3:write_bandwidth_kb: 161673.00 :small_red_triangle: ( previous job: 167872.00, degradation: 96.31%)
  • dom0_varlibqubes_rnd4k_q32t1_read 3:read_bandwidth_kb: 101486.00 :small_red_triangle: ( previous job: 108760.00, degradation: 93.31%)
  • dom0_varlibqubes_rnd4k_q1t1_read 3:read_bandwidth_kb: 7772.00 :green_circle: ( previous job: 6356.00, improvement: 122.28%)
  • fedora-41-xfce_root_seq1m_q8t1_read 3:read_bandwidth_kb: 370652.00 :small_red_triangle: ( previous job: 401292.00, degradation: 92.36%)
  • fedora-41-xfce_root_seq1m_q8t1_write 3:write_bandwidth_kb: 144578.00 :green_circle: ( previous job: 138008.00, improvement: 104.76%)
  • fedora-41-xfce_root_seq1m_q1t1_read 3:read_bandwidth_kb: 324536.00 :green_circle: ( previous job: 306332.00, improvement: 105.94%)
  • fedora-41-xfce_root_rnd4k_q32t1_read 3:read_bandwidth_kb: 88506.00 :green_circle: ( previous job: 88110.00, improvement: 100.45%)
  • fedora-41-xfce_root_rnd4k_q1t1_read 3:read_bandwidth_kb: 8423.00 :green_circle: ( previous job: 7675.00, improvement: 109.75%)
  • fedora-41-xfce_root_rnd4k_q1t1_write 3:write_bandwidth_kb: 1571.00 :green_circle: ( previous job: 950.00, improvement: 165.37%)
  • fedora-41-xfce_private_seq1m_q8t1_read 3:read_bandwidth_kb: 370652.00 :small_red_triangle: ( previous job: 404699.00, degradation: 91.59%)
  • fedora-41-xfce_private_seq1m_q8t1_write 3:write_bandwidth_kb: 112424.00 :green_circle: ( previous job: 99783.00, improvement: 112.67%)
  • fedora-41-xfce_private_seq1m_q1t1_read 3:read_bandwidth_kb: 342783.00 :green_circle: ( previous job: 330572.00, improvement: 103.69%)
  • fedora-41-xfce_private_seq1m_q1t1_write 3:write_bandwidth_kb: 99189.00 :green_circle: ( previous job: 43760.00, improvement: 226.67%)
  • fedora-41-xfce_private_rnd4k_q32t1_read 3:read_bandwidth_kb: 94525.00 :green_circle: ( previous job: 86107.00, improvement: 109.78%)
  • fedora-41-xfce_private_rnd4k_q32t1_write 3:write_bandwidth_kb: 4465.00 :green_circle: ( previous job: 1209.00, improvement: 369.31%)
  • fedora-41-xfce_private_rnd4k_q1t1_read 3:read_bandwidth_kb: 8573.00 :small_red_triangle: ( previous job: 8908.00, degradation: 96.24%)
  • fedora-41-xfce_private_rnd4k_q1t1_write 3:write_bandwidth_kb: 1585.00 :green_circle: ( previous job: 653.00, improvement: 242.73%)
  • fedora-41-xfce_volatile_seq1m_q8t1_read 3:read_bandwidth_kb: 321945.00 :small_red_triangle: ( previous job: 335115.00, degradation: 96.07%)
  • fedora-41-xfce_volatile_seq1m_q8t1_write 3:write_bandwidth_kb: 155287.00 :green_circle: ( previous job: 88088.00, improvement: 176.29%)
  • fedora-41-xfce_volatile_seq1m_q1t1_read 3:read_bandwidth_kb: 335974.00 :green_circle: ( previous job: 323135.00, improvement: 103.97%)
  • fedora-41-xfce_volatile_rnd4k_q32t1_read 3:read_bandwidth_kb: 85456.00 :small_red_triangle: ( previous job: 86131.00, degradation: 99.22%)
  • fedora-41-xfce_volatile_rnd4k_q32t1_write 3:write_bandwidth_kb: 3007.00 :green_circle: ( previous job: 2636.00, improvement: 114.07%)
  • fedora-41-xfce_volatile_rnd4k_q1t1_read 3:read_bandwidth_kb: 7936.00 :small_red_triangle: ( previous job: 8052.00, degradation: 98.56%)
  • fedora-41-xfce_volatile_rnd4k_q1t1_write 3:write_bandwidth_kb: 2676.00 :green_circle: ( previous job: 1713.00, improvement: 156.22%)

Copy link
Member

@marmarek marmarek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Shouldn't port be selected by default when adding new auto attach rule? That's the safer option.
  • "Create New Device Assignment" window doesn't fit in 768 pixels horizontally (minus xfce panel) - but it looks like there is enough space above the buttons that it could fit if not some constraints
  • similar for the attachment new attachment policy window
  • the section title "Block devices" may suggest... block devices, not blocking devices; maybe "Deny devices"?
  • Saving a policy to block all devices doesn't work - Interface code list should be in the form ... error
  • After getting the above error, the whole tool closes, I can only guess if other changes were saved or not (looks like they weren't); it also didn't allow "fixing" the issue

marmarta added 3 commits June 3, 2025 14:17
adjust black options to stop enforcing 80 characters,
instead default to 88.
@marmarta
Copy link
Member Author

marmarta commented Jun 3, 2025

I think the dialog windows still might be too big here.

@marmarek
Copy link
Member

marmarek commented Jun 6, 2025

I think the dialog windows still might be too big here.

It fits on the screen initially, but not after selecting device (due to multi-line device info). But part of the buttons are still visible this point. And then after adding a qube, buttons are completely gone :(
And I don't see any obvious place to save some space anyway, remaining padding looks to be important.

@marmarek
Copy link
Member

marmarek commented Jun 6, 2025

More test results:

  • The dialog for required device fits on the screen no problem, but it opens a bit close to the bottom edge, and after adding a few qubes to the list, buttons end up outside of the screen (but it's possible to move the window so it fits again). Feel free to ignore this point.
  • The dialog for required devices doesn't reset after canceling (open it, select device, cancel, open again and the device is still in the combobox, but then it has "no device selected" text)
  • Required device (at least "block") are listed in "device assignment" section, "required devices" section loads empty
  • Related to the above: clicking edit on such "required" rule converts it to "ask"
  • Assignment rules (not required) are not loaded. Clicking apply makes them disappear from the dialog (I tried with mic ask to personal), but the assignment is actually created, and trying to add it again results in an error that is already exists (when saving).

@marmarta
Copy link
Member Author

Hopefully those problems are fixed now.....

@marmarta marmarta force-pushed the dev_api_addons branch 2 times, most recently from 08759d0 to c5f22b5 Compare June 11, 2025 20:20
Copy link
Member

@marmarek marmarek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved as of b445fbd

@marmarek marmarek merged commit 98166a0 into QubesOS:main Jun 12, 2025
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants