Skip to content

Conversation

vishesh92
Copy link
Member

Description

This PR adds another path for qemu-img. In Open SUSE, /bin/qemu-img doesn't exist and this results in a faulty system VM template configuration as of now.

Types of changes

  • Breaking change (fix or feature that would cause existing functionality to change)
  • New feature (non-breaking change which adds functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • Enhancement (improves an existing feature and functionality)
  • Cleanup (Code refactoring and cleanup, that may add test cases)
  • build/CI
  • test (unit or integration test code)

Feature/Enhancement Scale or Bug Severity

Feature/Enhancement Scale

  • Major
  • Minor

Bug Severity

  • BLOCKER
  • Critical
  • Major
  • Minor
  • Trivial

Screenshots (if appropriate):

How Has This Been Tested?

How did you try to break this feature and the system with this change?

@vishesh92 vishesh92 requested a review from Copilot September 11, 2025 11:49
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR fixes a configuration issue in CloudStack's sudoers file where qemu-img is not accessible in OpenSUSE systems due to a different installation path. The fix adds /usr/bin/qemu-img as an additional allowed command path alongside the existing /bin/qemu-img path.

  • Adds /usr/bin/qemu-img to the CLOUDSTACK command alias in the sudoers configuration
  • Maintains backward compatibility by keeping the existing /bin/qemu-img path

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@vishesh92
Copy link
Member Author

@blueorangutan package

Copy link
Member

@weizhouapache weizhouapache left a comment

Choose a reason for hiding this comment

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

code lgtm

@blueorangutan
Copy link

@vishesh92 a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

@weizhouapache weizhouapache added this to the 4.20.2 milestone Sep 11, 2025
Copy link

codecov bot commented Sep 11, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 16.17%. Comparing base (38006b2) to head (9dc566b).
⚠️ Report is 1 commits behind head on 4.20.

Additional details and impacted files
@@            Coverage Diff            @@
##               4.20   #11614   +/-   ##
=========================================
  Coverage     16.17%   16.17%           
+ Complexity    13297    13296    -1     
=========================================
  Files          5656     5656           
  Lines        498136   498136           
  Branches      60432    60432           
=========================================
+ Hits          80583    80585    +2     
+ Misses       408585   408583    -2     
  Partials       8968     8968           
Flag Coverage Δ
uitests 4.00% <ø> (ø)
unittests 17.03% <ø> (+<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.

🚀 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.

@weizhouapache weizhouapache self-assigned this Sep 11, 2025
Copy link
Contributor

@sureshanaparti sureshanaparti left a comment

Choose a reason for hiding this comment

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

clgtm

@blueorangutan
Copy link

Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 14960

@weizhouapache
Copy link
Member

@blueorangutan test

@blueorangutan
Copy link

@weizhouapache a [SL] Trillian-Jenkins test job (ol8 mgmt + kvm-ol8) has been kicked to run smoke tests

@weizhouapache
Copy link
Member

verified OK

the /etc/sudoers.d/cloudstack-management has been updated
sudo qemu-img works for cloud user

# su cloud

sh-4.4$ /usr/bin/qemu-img 
qemu-img: Not enough arguments
Try 'qemu-img --help' for more information
sh-4.4$ 

@blueorangutan
Copy link

[SF] Trillian Build Failed (tid-14302)

@blueorangutan
Copy link

[SF] Trillian Build Failed (tid-14303)

@weizhouapache
Copy link
Member

Merging based on approvals and tests

@weizhouapache weizhouapache merged commit 253ac03 into apache:4.20 Sep 12, 2025
25 checks passed
@blueorangutan
Copy link

[SF] Trillian test result (tid-14298)
Environment: kvm-ol8 (x2), zone: Advanced Networking with Mgmt server ol8
Total time taken: 58650 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr11614-t14298-kvm-ol8.zip
Smoke tests completed. 141 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test Result Time (s) Test File

@blueorangutan
Copy link

[SF] Trillian test result (tid-14297)
Environment: kvm-suse15 (x2), zone: Advanced Networking with Mgmt server s15
Total time taken: 274004 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr11614-t14297-kvm-suse15.zip
Smoke tests completed. 112 look OK, 29 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test Result Time (s) Test File
test_DeployVmAffinityGroup Error 3645.34 test_affinity_groups.py
test_DeployVmAntiAffinityGroup Error 5.46 test_affinity_groups.py
ContextSuite context=TestClusterDRS>:setup Error 0.00 test_cluster_drs.py
test_01_host_tags Error 65.14 test_host_tags.py
ContextSuite context=TestDeployVirtioSCSIVM>:setup Error 0.00 test_deploy_virtio_scsi_vm.py
test_01_internallb_roundrobin_1VPC_3VM_HTTP_port80 Failure 3679.53 test_internal_lb.py
test_01_internallb_roundrobin_1VPC_3VM_HTTP_port80 Error 3679.75 test_internal_lb.py
test_02_internallb_roundrobin_1RVPC_3VM_HTTP_port80 Error 1176.24 test_internal_lb.py
test_02_internallb_roundrobin_1RVPC_3VM_HTTP_port80 Error 1176.31 test_internal_lb.py
test_03_vpc_internallb_haproxy_stats_on_all_interfaces Failure 486.86 test_internal_lb.py
test_04_rvpc_internallb_haproxy_stats_on_all_interfaces Failure 3686.70 test_internal_lb.py
test_04_rvpc_internallb_haproxy_stats_on_all_interfaces Error 3686.91 test_internal_lb.py
test_02_deploy_vm_with_extraconfig_kvm Error 128.58 test_deploy_vm_extra_config_data.py
test_09_connectivity_between_network_and_vpc_tier Error 70.44 test_ipv4_routing.py
test_11_isolated_network_with_dynamic_routed_mode Error 3667.42 test_ipv4_routing.py
test_11_isolated_network_with_dynamic_routed_mode Error 3667.64 test_ipv4_routing.py
test_12_vpc_and_tier_with_dynamic_routed_mode Error 1.07 test_ipv4_routing.py
test_03_create_vpc_domain_vpc_offering Error 3810.36 test_domain_vpc_offerings.py
ContextSuite context=TestImportAndUnmanageVolumes>:setup Error 0.00 test_import_unmanage_volumes.py
test_01_invalid_upgrade_kubernetes_cluster Failure 679.89 test_kubernetes_clusters.py
test_02_upgrade_kubernetes_cluster Error 3657.11 test_kubernetes_clusters.py
test_03_deploy_and_scale_kubernetes_cluster Failure 3747.75 test_kubernetes_clusters.py
test_04_autoscale_kubernetes_cluster Failure 3739.21 test_kubernetes_clusters.py
test_05_basic_lifecycle_kubernetes_cluster Failure 411.40 test_kubernetes_clusters.py
test_06_delete_kubernetes_cluster Failure 3752.02 test_kubernetes_clusters.py
test_08_upgrade_kubernetes_ha_cluster Failure 3744.62 test_kubernetes_clusters.py
test_10_vpc_tier_kubernetes_cluster Error 3677.75 test_kubernetes_clusters.py
test_10_vpc_tier_kubernetes_cluster Error 3677.97 test_kubernetes_clusters.py
test_11_test_unmanaged_cluster_lifecycle Error 11.73 test_kubernetes_clusters.py
ContextSuite context=TestKubernetesCluster>:teardown Error 20.10 test_kubernetes_clusters.py
ContextSuite context=TestListVolumes>:setup Error 0.00 test_list_volumes.py
ContextSuite context=TestLoadBalance>:setup Error 0.00 test_loadbalance.py
test_list_management_server_metrics Failure 0.13 test_metrics_api.py
test_network_acl Error 3787.16 test_network_acl.py
test_01_verify_ipv6_network Error 4575.33 test_network_ipv6.py
test_03_network_operations_on_created_vm_of_otheruser Failure 4903.14 test_network_permissions.py
test_03_network_operations_on_created_vm_of_otheruser Error 4903.45 test_network_permissions.py
test_04_deploy_vm_for_other_user_and_test_vm_operations Failure 4.42 test_network_permissions.py
ContextSuite context=TestNetworkPermissions>:teardown Error 1.35 test_network_permissions.py
test_delete_account Error 3701.28 test_network.py
ContextSuite context=TestPortForwarding>:setup Error 3897.65 test_network.py
ContextSuite context=TestPublicIP>:setup Error 194.92 test_network.py
test_reboot_router Error 7.53 test_network.py
test_releaseIP Error 8.75 test_network.py
test_releaseIP_using_IP Error 7.64 test_network.py
ContextSuite context=TestRouterRules>:setup Error 15.46 test_network.py
test_01_deployVMInSharedNetwork Failure 3673.94 test_network.py
test_02_verifyRouterIpAfterNetworkRestart Failure 273.29 test_network.py
test_01_deployVMInSharedNetwork Failure 4.39 test_network.py
ContextSuite context=TestSharedNetworkWithConfigDrive>:teardown Error 5.47 test_network.py
test_01_nic Error 59.65 test_nic.py
test_01_non_strict_host_anti_affinity Error 411.20 test_nonstrict_affinity_group.py
test_02_non_strict_host_affinity Error 148.68 test_nonstrict_affinity_group.py
ContextSuite context=TestIsolatedNetworksPasswdServer>:setup Error 0.00 test_password_server.py
test_01_isolated_persistent_network Error 501.95 test_persistent_network.py
test_02_L2_persistent_network Failure 1.74 test_persistent_network.py
test_03_deploy_and_destroy_VM_and_verify_network_resources_persist Failure 160.83 test_persistent_network.py
ContextSuite context=TestL2PersistentNetworks>:teardown Error 160.94 test_persistent_network.py
test_01_add_primary_storage_disabled_host Error 0.23 test_primary_storage.py
test_01_primary_storage_nfs Error 0.13 test_primary_storage.py
ContextSuite context=TestStorageTags>:setup Error 0.22 test_primary_storage.py
test_01_primary_storage_scope_change Error 0.10 test_primary_storage_scope.py
ContextSuite context=TestCpuCapServiceOfferings>:setup Error 0.00 test_service_offerings.py
test_02_list_snapshots_with_removed_data_store Error 13.59 test_snapshots.py
test_02_list_snapshots_with_removed_data_store Error 13.59 test_snapshots.py
test_01_deploy_vm_on_specific_host Error 0.12 test_vm_deployment_planner.py
test_04_deploy_vm_on_host_override_pod_and_cluster Error 0.10 test_vm_deployment_planner.py
test_01_migrate_VM_and_root_volume Error 105.55 test_vm_life_cycle.py
test_02_migrate_VM_with_two_data_disks Error 52.71 test_vm_life_cycle.py
test_01_secure_vm_migration Error 202.29 test_vm_life_cycle.py
test_02_unsecure_vm_migration Error 145.01 test_vm_life_cycle.py
test_03_secured_to_nonsecured_vm_migration Error 146.01 test_vm_life_cycle.py
test_04_nonsecured_to_secured_vm_migration Error 201.27 test_vm_life_cycle.py
test_08_migrate_vm Error 0.05 test_vm_life_cycle.py
test_01_migrate_vm_strict_tags_success Error 0.24 test_vm_strict_host_tags.py
test_02_migrate_vm_strict_tags_failure Error 0.21 test_vm_strict_host_tags.py
test_01_restore_vm_strict_tags_success Error 0.21 test_vm_strict_host_tags.py
test_02_restore_vm_strict_tags_failure Error 0.20 test_vm_strict_host_tags.py
test_01_scale_vm_strict_tags_success Error 0.24 test_vm_strict_host_tags.py
test_02_scale_vm_strict_tags_failure Error 0.24 test_vm_strict_host_tags.py
test_01_deploy_vm_on_specific_host_without_strict_tags Error 0.23 test_vm_strict_host_tags.py
test_02_deploy_vm_on_any_host_without_strict_tags Error 2.52 test_vm_strict_host_tags.py
test_03_deploy_vm_on_specific_host_with_strict_tags_success Error 0.21 test_vm_strict_host_tags.py
test_04_deploy_vm_on_any_host_with_strict_tags_success Error 3.58 test_vm_strict_host_tags.py
test_05_deploy_vm_on_specific_host_with_strict_tags_failure Failure 0.24 test_vm_strict_host_tags.py
test_01_redundant_vpc_site2site_vpn Failure 465.64 test_vpc_vpn.py
test_01_vpc_site2site_vpn_multiple_options Error 1484.42 test_vpc_vpn.py

@vishesh92 vishesh92 deleted the update-sudoers branch September 15, 2025 05:19
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.

4 participants