Skip to content
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

Various fixes #368

Merged
merged 2 commits into from
Mar 26, 2022
Merged

Various fixes #368

merged 2 commits into from
Mar 26, 2022

Conversation

marmarek
Copy link
Member

Fix network renaming issue, and make VM startup more reliable.

Fixes QubesOS/qubes-issues#7284

Since more and more "user" services are started via systemd instead of
/etc/xdg/autostart, wait for them to finish starting too. This makes
starting user applications more reliable.
There are a couple of issues with this renaming:
1. When enabled, the interface name cannot be prediced until it actually
   happens. This breaks waiting for the device to appear in
   qubes-network-uplink.service.
2. Setting SYSTEMD_WANTS on a device that gets renamed seems to not work
   (is the variable bound to the old device name?). This breaks dynamic
   network attach (see 99-qubes-network.rules).

So, disable it completely for Xen devices, at least for now. This may
pose some issues (or rather - rollback fix attempt) for VMs with both
physical devices and Xen netfront device(s), but this is extremely rare
case that nobody complained about before.

Fixes QubesOS/qubes-issues#7284
@qubesos-bot
Copy link

qubesos-bot commented Mar 19, 2022

OpenQA test summary

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

New failures, excluding unstable

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

  • system_tests_pvgrub_salt_storage

    • TC_41_HVMGrub_debian-11: test_010_template_based_vm (failure)
      AssertionError: Failed command: apt-get update && apt-get install -...
  • system_tests_devices

    • TC_10_Attach_fedora-34: test_000_attach_reattach (error)
      subprocess.CalledProcessError: Command 'ls /dev/xvdi' returned non-...
  • system_tests_basic_vm_qrexec_gui_ext4

    • TC_30_Gui_daemon: test_000_clipboard (failure)
      self.assertEqual(clipboard_content, ... AssertionError: '' != 'test22'
  • system_tests_basic_vm_qrexec_gui_xfs

    • TC_00_AppVM_debian-11-pool: test_210_time_sync (error)
      subprocess.CalledProcessError: Command 'date -u +%s' returned non-z...

    • TC_00_AppVM_fedora-34-pool: test_225_audio_rec_unmuted_hvm (failure)
      AssertionError: only silence detected, no useful audio data

  • system_tests_gui_tools

    • qui_widgets_domains: unnamed test (unknown)
    • qui_widgets_domains: Failed (test died)
      # Test died: no candidate needle with tag(s) 'qui-domains-domain-op...

Failed tests

26 failures
  • system_tests_pvgrub_salt_storage

    • [unstable] TC_40_PVGrub_debian-11: test_000_standalone_vm (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...

    • TC_41_HVMGrub_debian-11: test_010_template_based_vm (failure)
      AssertionError: Failed command: apt-get update && apt-get install -...

  • system_tests_dispvm

    • [unstable] TC_20_DispVM_fedora-34: test_100_open_in_dispvm (failure)
      AssertionError: './open-file test.txt' failed with ./open-file test...
  • system_tests_devices

    • TC_10_Attach_fedora-34: test_000_attach_reattach (error)
      subprocess.CalledProcessError: Command 'ls /dev/xvdi' returned non-...
  • system_tests_basic_vm_qrexec_gui_btrfs

    • [unstable] TC_30_Gui_daemon: test_000_clipboard (failure)
      self.assertEqual(clipboard_content, ... AssertionError: '' != 'test23'
  • system_tests_basic_vm_qrexec_gui_ext4

    • TC_03_QvmRevertTemplateChanges: test_000_revert_linux (error)
      NotImplementedError: FileVolume supports maximum 1 volume revision ...

    • TC_30_Gui_daemon: test_000_clipboard (failure)
      self.assertEqual(clipboard_content, ... AssertionError: '' != 'test22'

  • system_tests_basic_vm_qrexec_gui_xfs

    • [unstable] TC_30_Gui_daemon: test_000_clipboard (failure)
      self.assertEqual(clipboard_content, ... AssertionError: '' != 'test24'

    • TC_00_AppVM_debian-11-pool: test_210_time_sync (error)
      subprocess.CalledProcessError: Command 'date -u +%s' returned non-z...

    • TC_00_AppVM_fedora-34-pool: test_225_audio_rec_unmuted_hvm (failure)
      AssertionError: only silence detected, no useful audio data

  • system_tests_gui_tools

    • qui_widgets_domains: unnamed test (unknown)
    • qui_widgets_domains: Failed (test died)
      # Test died: no candidate needle with tag(s) 'qui-domains-domain-op...
  • system_tests_suspend@hw1

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: qr/p5~T5-\d+-/u...

    • suspend: Failed (test died + timed out)
      # Test died: command 'true' timed out at qubesos/tests/suspend.pm l...

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: "xl info; echo 8Ye1l-\$?-"...

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: qr/8Ye1l-\d+-/u...

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

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: "xl list; echo MfjdI-\$?-"...

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: qr/MfjdI-\d+-/u...

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

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: "xl dmesg; echo hNz_G-\$?-"...

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: qr/hNz_G-\d+-/u...

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

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: "journalctl -b|tail -n 10000; echo Adw2Q-\$...

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: qr/Adw2Q-\d+-/u...

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

Fixed failures

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

3 fixed
  • system_tests_network_updates

  • system_tests_pvgrub_salt_storage

    • TC_40_PVGrub_debian-11: test_010_template_based_vm (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
  • system_tests_basic_vm_qrexec_gui@hw1

Unstable tests

  • system_tests_basic_vm_qrexec_gui@hw1

    TC_30_Gui_daemon/test_000_clipboard (1/5 times with errors)
    • job 35458 self.assertEqual(clipboard_content, ... AssertionError: '' != 'test19'
  • system_tests_network

    VmNetworking_debian-11/test_040_inter_vm (1/5 times with errors)
    • job 36341 qubes.exc.QubesVMNotStartedError: Cannot dynamically attach to stop...
  • system_tests_pvgrub_salt_storage

    TC_40_PVGrub_debian-11/test_000_standalone_vm (4/5 times with errors)
    • job 35450 qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
    • job 36203 qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
    • job 36344 qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
    • job 36944 qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
    TC_40_PVGrub_debian-11/test_010_template_based_vm (3/5 times with errors)
    • job 36203 qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
    • job 36483 qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
    • job 36944 qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
  • system_tests_splitgpg

    TC_10_Thunderbird_debian-11/test_000_send_receive_default (2/5 times with errors)
    • job 35451 dogtail.tree.SearchError: descendent of [application | Thunderbird]...
    • job 36345 Exception: Failed to send message with error 'Status:'
    TC_10_Thunderbird_fedora-34/test_000_send_receive_default (1/5 times with errors)
    • job 36345 dogtail.tree.SearchError: child of [desktop frame | main]: "Thunder...
    TC_10_Thunderbird_whonix-ws-16/test_000_send_receive_default (1/5 times with errors)
    • job 36345 Exception: Failed to send message with error 'Status:'
    TC_00_Direct_whonix-gw-16/test_000_version (1/5 times with errors)
    • job 35451 qubes.exc.QubesVMError: qrexec-daemon startup failed: 2022-02-24 04...
    TC_10_Thunderbird_debian-11/test_010_send_receive_inline_signed_only (1/5 times with errors)
    • job 35451 dogtail.tree.SearchError: descendent of [application | Thunderbird]...
    TC_10_Thunderbird_fedora-34/test_010_send_receive_inline_signed_only (1/5 times with errors)
    • job 36345 dogtail.tree.SearchError: child of [desktop frame | main]: "Thunder...
    TC_10_Thunderbird_whonix-ws-16/test_010_send_receive_inline_signed_only (1/5 times with errors)
    • job 36345 Exception: Failed to send message with error 'Status:'
    TC_10_Thunderbird_debian-11/test_020_send_receive_inline_with_attachment (2/5 times with errors)
    • job 35451 dogtail.tree.SearchError: descendent of [application | Thunderbird]...
    • job 36345 Exception: Failed to send message with error 'Status:'
    TC_10_Thunderbird_fedora-34/test_020_send_receive_inline_with_attachment (1/5 times with errors)
    • job 36345 dogtail.tree.SearchError: child of [desktop frame | main]: "Thunder...
    TC_10_Thunderbird_whonix-ws-16/test_020_send_receive_inline_with_attachment (1/5 times with errors)
    • job 36345 Exception: Failed to send message with error 'Status:'
  • system_tests_extra

    TC_00_ImgConverter_fedora-34/test_000_png (1/5 times with errors)
    • job 36492 Cannot process volume group qubes_dom0...
  • system_tests_manager

    GlobalSettingsTest/test_00_settings_started (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_01_load_correct_defs (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_02_dom0_updates_load (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_03_nothing_changed_ok (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_04_nothing_changed_cancel (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_10_set_update_vm (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_11_set_update_vm_to_none (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_20_set_clock_vm (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_21_set_clock_vm_to_none (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_30_set_default_netvm (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_31_set_default_netvm_to_none (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_40_set_default_template (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_50_set_default_kernel (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_51_set_default_kernel_to_none (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_60_set_dom0_updates_true (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_70_change_vm_updates (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_72_set_all_vms_true (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_73_set_all_vms_false (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_80_set_default_dispvm (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_81_set_default_dispvm_to_none (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_90_test_all_set_none (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
  • system_tests_qrexec

    TC_00_Qrexec_debian-11/test_050_qrexec_simple_eof (2/5 times with errors)
    • job 36190 AssertionError: Timeout, probably EOF wasn't transferred to the VM ...
    • job 36331 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_00_Qrexec_debian-11/test_070_qrexec_vm_simultaneous_write (1/5 times with errors)
    • job 36331 AssertionError: Timeout, probably deadlock
  • system_tests_network_ipv6

    VmIPv6Networking_debian-11/test_020_simple_proxyvm_nm (1/5 times with errors)
    • job 36481 AssertionError: 1 != 0 : nm-applet window not found
    VmIPv6Networking_whonix-ws-16/test_020_simple_proxyvm_nm (1/5 times with errors)
    VmIPv6Networking_debian-11/test_520_ipv6_simple_proxyvm_nm (1/5 times with errors)
    • job 36342 AssertionError: 1 != 0 : nm-applet window not found
    VmIPv6Networking_debian-11/test_540_ipv6_inter_vm (1/5 times with errors)
    • job 36342 raise exceptions.TimeoutError()... asyncio.exceptions.TimeoutError
  • system_tests_network_updates

    TC_10_QvmTemplate_whonix-gw-16/test_010_template_install (1/5 times with errors)
    • job 36943 AssertionError: libvirt event impl drain timeout
    TC_11_QvmTemplateMgmtVM_whonix-gw-16/test_010_template_install (2/5 times with errors)
    • job 36222 AssertionError: libvirt event impl drain timeout
    • job 36343 qvm-template: error: Template 'debian-11-minimal' not found.
  • system_tests_dispvm

    TC_04_DispVM/test_003_cleanup_destroyed (2/5 times with errors)
    • job 35432 raise exceptions.TimeoutError()... asyncio.exceptions.TimeoutError
    • job 36325 raise exceptions.TimeoutError()... asyncio.exceptions.TimeoutError
    TC_20_DispVM_fedora-34/test_010_simple_dvm_run (1/5 times with errors)
    • job 36325 assert len(self.loop._selector.get_map()) \... AssertionError
    TC_20_DispVM_whonix-gw-16/test_010_simple_dvm_run (1/5 times with errors)
    TC_20_DispVM_whonix-ws-16/test_010_simple_dvm_run (1/5 times with errors)
    • job 36325 assert len(self.loop._selector.get_map()) \... AssertionError
    TC_20_DispVM_whonix-gw-16/test_020_gui_app (1/5 times with errors)
    TC_20_DispVM_debian-11/test_030_edit_file (1/5 times with errors)
    • job 36325 AssertionError: Timeout while waiting for disp[0-9]* window to show
    TC_20_DispVM_fedora-34/test_030_edit_file (1/5 times with errors)
    • job 36325 AssertionError: Timeout while waiting for disp[0-9]* window to show
    TC_20_DispVM_whonix-gw-16/test_030_edit_file (1/5 times with errors)
    TC_20_DispVM_whonix-ws-16/test_030_edit_file (1/5 times with errors)
    • job 36325 AssertionError: Timeout while waiting for disp[0-9]* window to show
    TC_20_DispVM_debian-11/test_100_open_in_dispvm (3/5 times with errors)
    • job 35432 AssertionError: './open-file test.txt' failed with ./open-file test...
    • job 36185 AssertionError: './open-file test.txt' failed with ./open-file test...
    • job 36325 AssertionError: './open-file test.txt' failed with ./open-file test...
    TC_20_DispVM_fedora-34/test_100_open_in_dispvm (1/5 times with errors)
    • job 36325 AssertionError: './open-file test.txt' failed with ./open-file test...
    TC_20_DispVM_whonix-gw-16/test_100_open_in_dispvm (1/5 times with errors)
    TC_20_DispVM_whonix-ws-16/test_100_open_in_dispvm (4/5 times with errors)
    • job 35432 AssertionError: libvirt event impl drain timeout
    • job 36185 AssertionError: libvirt event impl drain timeout
    • job 36325 AssertionError: './open-file test.txt' failed with ./open-file test...
    • job 36464 AssertionError: libvirt event impl drain timeout
  • system_tests_basic_vm_qrexec_gui_btrfs

    TC_30_Gui_daemon/test_000_clipboard (1/5 times with errors)
    • job 36221 self.assertEqual(clipboard_content, ... AssertionError: '' != 'test23'
  • system_tests_basic_vm_qrexec_gui_ext4

    TC_00_AppVM_whonix-gw-16-pool/test_000_start_shutdown (1/5 times with errors)
    • job 36329 qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
    TC_00_AppVM_whonix-gw-16-pool/test_010_run_xterm (1/5 times with errors)
    • job 36329 OSError: Volume /var/lib/qubes-pool/appvms/test-inst-vm1/private.im...
  • system_tests_basic_vm_qrexec_gui_xfs

    TC_30_Gui_daemon/test_000_clipboard (1/5 times with errors)
    • job 36469 self.assertEqual(clipboard_content, ... AssertionError: '' != 'test23'
  • system_tests_basic_vm_qrexec_gui

    TC_30_Gui_daemon/test_000_clipboard (1/5 times with errors)
    • job 35458 self.assertEqual(clipboard_content, ... AssertionError: '' != 'test19'

@marmarek marmarek merged commit e099a81 into QubesOS:master Mar 26, 2022
@marmarek marmarek deleted the devel20220319 branch October 24, 2022 11:00
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.

qubes-network-uplink.service randomly not initialized on cloned standalones
2 participants