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

Add os-release ID_LIKE to features #598

Merged
merged 1 commit into from
Jun 12, 2024
Merged

Conversation

ben-grande
Copy link
Contributor

@marmarek
Copy link
Member

PipelineRetry

@marmarek
Copy link
Member

PipelineRetry

@@ -623,8 +623,12 @@ def test_010_os_metadata(self):
self.assertIsNotNone(tpl.features.get('os-eol'))
elif self.template.startswith('whonix-'):
self.assertEqual(tpl.features.get('os-distribution'), 'whonix')
self.assertEqual(tpl.features.get('os-distribution-like'), 'debian')
Copy link
Member

Choose a reason for hiding this comment

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

This test failed for (both) Whonix templates, the bot will post details when the run completes. I do see in the log it sent some info to dom0 after installing updates:

Jun 10 08:27:55 dom0 qrexec-policy-daemon[19866]: qrexec: qubes.FeaturesRequest+: whonix-workstation-17 -> @adminvm: allowed to dom0

Copy link
Contributor Author

@ben-grande ben-grande Jun 10, 2024

Choose a reason for hiding this comment

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

This depends on the other PR QubesOS/qubes-core-agent-linux#504

    elif [ -f /usr/share/whonix/marker ]; then
        distro="whonix"
        distro_like="debian"

Because Whonix does not set /etc/os-release to the norm of using ID_LIKE=, the value will just be reported correctly after the other PR is merged. Is my assumption correct?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I also assume that Whonix reposted an empty value for os-distribution-like as Whonix does not set ID_LIKE=. It will just work after the other PR is merged unless tests could be made upon the other PR branch also instead of the main branch.

Copy link
Member

Choose a reason for hiding this comment

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

The test did run with the other PR included too...

Copy link
Contributor Author

@ben-grande ben-grande Jun 10, 2024

Choose a reason for hiding this comment

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

Ok, I do not understand the issue yet, I read the OpenQA output. Last commit only fixes the version gathering for Whonix and Kicksecure which where inverted.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ok, the issue was with the version gathering, I inverted Whonix and Kicksecure information and with set -e, it was exiting on the first error:

+ [ -f /usr/share/kicksecure/marker ]
+ [ -f /usr/share/whonix/marker ]
+ distro=whonix
+ distro_like=debian
+ cat /etc/kicksecure_version
cat: /etc/kicksecure_version: No such file or directory
+ version=
zsh: exit 1     sudo sh -x ./10-qubes-core-agent-features.sh

Last commit QubesOS/qubes-core-agent-linux@c33b577 fixes this issue. Comparison.

@marmarek
Copy link
Member

PipelineRetry

Copy link

codecov bot commented Jun 10, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 68.40%. Comparing base (fe51d74) to head (0f3bef9).
Report is 5 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #598   +/-   ##
=======================================
  Coverage   68.39%   68.40%           
=======================================
  Files          56       56           
  Lines       11221    11223    +2     
=======================================
+ Hits         7675     7677    +2     
  Misses       3546     3546           
Flag Coverage Δ
unittests 68.40% <100.00%> (+<0.01%) ⬆️

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.

@qubesos-bot
Copy link

qubesos-bot commented Jun 10, 2024

OpenQA test summary

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

  • system_tests_basic_vm_qrexec_gui

    • TC_06_AppVM_whonix-gateway-17: test_010_os_metadata (failure)
      self.assertEqual(tpl.features.get(... AssertionError: None != 'debian'

    • TC_06_AppVM_whonix-workstation-17: test_010_os_metadata (failure)
      self.assertEqual(tpl.features.get(... AssertionError: None != 'debian'

  • system_tests_extra

    • TC_00_QVCTest_fedora-40-xfce: test_020_webcam (failure + cleanup)
      AssertionError: 'qubes-video-companion webcam' exited early (0): b'...
  • system_tests_dispvm

    • TC_20_DispVM_fedora-40-xfce: test_100_open_in_dispvm (failure)
      AssertionError: './open-file test.txt' failed with ./open-file test...
  • system_tests_basic_vm_qrexec_gui_zfs

    • TC_06_AppVM_whonix-gateway-17-pool: test_010_os_metadata (failure)
      self.assertEqual(tpl.features.get(... AssertionError: None != 'debian'

    • TC_06_AppVM_whonix-workstation-17-pool: test_010_os_metadata (failure)
      self.assertEqual(tpl.features.get(... AssertionError: None != 'debian'

  • system_tests_basic_vm_qrexec_gui_btrfs

    • TC_06_AppVM_whonix-gateway-17-pool: test_010_os_metadata (failure)
      self.assertEqual(tpl.features.get(... AssertionError: None != 'debian'

    • TC_06_AppVM_whonix-workstation-17-pool: test_010_os_metadata (failure)
      self.assertEqual(tpl.features.get(... AssertionError: None != 'debian'

  • system_tests_basic_vm_qrexec_gui_ext4

    • TC_06_AppVM_whonix-gateway-17-pool: test_010_os_metadata (failure)
      self.assertEqual(tpl.features.get(... AssertionError: None != 'debian'

    • TC_06_AppVM_whonix-workstation-17-pool: test_010_os_metadata (failure)
      self.assertEqual(tpl.features.get(... AssertionError: None != 'debian'

  • system_tests_basic_vm_qrexec_gui_xfs

    • TC_06_AppVM_whonix-gateway-17-pool: test_010_os_metadata (failure)
      self.assertEqual(tpl.features.get(... AssertionError: None != 'debian'

    • TC_06_AppVM_whonix-workstation-17-pool: test_010_os_metadata (failure)
      self.assertEqual(tpl.features.get(... AssertionError: None != 'debian'

  • system_tests_basic_vm_qrexec_gui@hw1

    • TC_06_AppVM_whonix-gateway-17: test_010_os_metadata (failure)
      self.assertEqual(tpl.features.get(... AssertionError: None != 'debian'

    • TC_06_AppVM_whonix-workstation-17: test_010_os_metadata (failure)
      self.assertEqual(tpl.features.get(... AssertionError: None != 'debian'

  • system_tests_guivm_vnc_gui_interactive

    • guivm_startup: Failed (test died)
      # Test died: unexpected end of data at /usr/lib/os-autoinst/console...

Failed tests

22 failures
  • system_tests_basic_vm_qrexec_gui

    • TC_06_AppVM_whonix-gateway-17: test_010_os_metadata (failure)
      self.assertEqual(tpl.features.get(... AssertionError: None != 'debian'

    • TC_06_AppVM_whonix-workstation-17: test_010_os_metadata (failure)
      self.assertEqual(tpl.features.get(... AssertionError: None != 'debian'

  • system_tests_pvgrub_salt_storage

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

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

  • system_tests_splitgpg

  • system_tests_extra

    • TC_00_QVCTest_debian-12-xfce: test_020_webcam (failure + cleanup)
      AssertionError: 'qubes-video-companion webcam' exited early (0): b'...

    • TC_00_QVCTest_fedora-40-xfce: test_020_webcam (failure + cleanup)
      AssertionError: 'qubes-video-companion webcam' exited early (0): b'...

    • TC_00_QVCTest_whonix-workstation-17: test_020_webcam (failure + cleanup)
      AssertionError: 'qubes-video-companion webcam' exited early (0): b'...

  • system_tests_usbproxy

  • system_tests_dispvm

    • TC_20_DispVM_fedora-40-xfce: test_100_open_in_dispvm (failure)
      AssertionError: './open-file test.txt' failed with ./open-file test...
  • system_tests_basic_vm_qrexec_gui_zfs

    • TC_06_AppVM_whonix-gateway-17-pool: test_010_os_metadata (failure)
      self.assertEqual(tpl.features.get(... AssertionError: None != 'debian'

    • TC_06_AppVM_whonix-workstation-17-pool: test_010_os_metadata (failure)
      self.assertEqual(tpl.features.get(... AssertionError: None != 'debian'

  • system_tests_basic_vm_qrexec_gui_btrfs

    • TC_06_AppVM_whonix-gateway-17-pool: test_010_os_metadata (failure)
      self.assertEqual(tpl.features.get(... AssertionError: None != 'debian'

    • TC_06_AppVM_whonix-workstation-17-pool: test_010_os_metadata (failure)
      self.assertEqual(tpl.features.get(... AssertionError: None != 'debian'

  • system_tests_basic_vm_qrexec_gui_ext4

    • TC_06_AppVM_whonix-gateway-17-pool: test_010_os_metadata (failure)
      self.assertEqual(tpl.features.get(... AssertionError: None != 'debian'

    • TC_06_AppVM_whonix-workstation-17-pool: test_010_os_metadata (failure)
      self.assertEqual(tpl.features.get(... AssertionError: None != 'debian'

    • TC_20_AudioVM_Pulse_whonix-workstation-17-pool: test_220_audio_play_pulseaudio (failure)
      AssertionError: too short audio, expected 10s, got 9.05988662131519...

  • system_tests_basic_vm_qrexec_gui_xfs

    • TC_06_AppVM_whonix-gateway-17-pool: test_010_os_metadata (failure)
      self.assertEqual(tpl.features.get(... AssertionError: None != 'debian'

    • TC_06_AppVM_whonix-workstation-17-pool: test_010_os_metadata (failure)
      self.assertEqual(tpl.features.get(... AssertionError: None != 'debian'

  • system_tests_basic_vm_qrexec_gui@hw1

    • TC_06_AppVM_whonix-gateway-17: test_010_os_metadata (failure)
      self.assertEqual(tpl.features.get(... AssertionError: None != 'debian'

    • TC_06_AppVM_whonix-workstation-17: test_010_os_metadata (failure)
      self.assertEqual(tpl.features.get(... AssertionError: None != 'debian'

  • system_tests_guivm_vnc_gui_interactive

    • guivm_startup: Failed (test died)
      # Test died: unexpected end of data at /usr/lib/os-autoinst/console...

Fixed failures

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

37 fixed
  • system_tests_basic_vm_qrexec_gui

  • system_tests_pvgrub_salt_storage

    • StorageFile: test_001_non_volatile (error)
      subprocess.CalledProcessError: Command '/usr/lib/qubes/destroy-snap...
  • system_tests_extra

    • TC_00_QVCTest_whonix-workstation-17: test_010_screenshare (failure)
      self.assertNotEqual(vm.run('test -e /dev/vid... AssertionError: 0 == 0
  • system_tests_guivm_gui_interactive

    • update_guivm: Failed (test died)
      # Test died: command '(set -o pipefail; qubesctl --all --show-outpu...
  • system_tests_network_updates

    • TC_00_Dom0Upgrade_whonix-gateway-17: test_006_update_flag_clear (failure)
      Error: Failed to download metadata for repo 'test': Cannot download...

    • TC_10_QvmTemplate_debian-12-xfce: test_010_template_install (failure)
      AssertionError: qvm-template failed: Downloading 'qubes-template-de...

    • TC_10_QvmTemplate_fedora-40-xfce: test_010_template_install (failure)
      AssertionError: qvm-template failed: Downloading 'qubes-template-de...

    • TC_10_QvmTemplate_whonix-gateway-17: test_010_template_install (failure)
      AssertionError: qvm-template failed: Downloading 'qubes-template-de...

    • TC_11_QvmTemplateMgmtVM_debian-12-xfce: test_010_template_install (failure)
      AssertionError: qvm-template failed: Downloading 'qubes-template-de...

    • TC_11_QvmTemplateMgmtVM_fedora-40-xfce: test_010_template_install (failure)
      AssertionError: qvm-template failed: Downloading 'qubes-template-de...

    • TC_11_QvmTemplateMgmtVM_whonix-gateway-17: test_010_template_install (failure)
      AssertionError: qvm-template failed: Downloading 'qubes-template-de...

  • system_tests_basic_vm_qrexec_gui_zfs

  • system_tests_basic_vm_qrexec_gui_btrfs

  • system_tests_basic_vm_qrexec_gui_ext4

  • system_tests_basic_vm_qrexec_gui_xfs

  • system_tests_basic_vm_qrexec_gui@hw1

Unstable tests

@marmarek marmarek merged commit a044cf5 into QubesOS:main Jun 12, 2024
4 checks passed
@ben-grande ben-grande deleted the report-id-like branch June 12, 2024 06:07
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.

3 participants