Skip to content

marvin: use pycryptodome instead of PyCrypt#13594

Merged
weizhouapache merged 1 commit into
apache:mainfrom
weizhouapache:4.23-marvin-pycryptodome
Jul 13, 2026
Merged

marvin: use pycryptodome instead of PyCrypt#13594
weizhouapache merged 1 commit into
apache:mainfrom
weizhouapache:4.23-marvin-pycryptodome

Conversation

@weizhouapache

@weizhouapache weizhouapache commented Jul 11, 2026

Copy link
Copy Markdown
Member

Description

This PR changes PyCrypt to pycryptodome in marvin

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?

Copilot AI review requested due to automatic review settings July 11, 2026 13:16
@boring-cyborg boring-cyborg Bot added component:marvin Python Warning... Python code Ahead! labels Jul 11, 2026
@weizhouapache

Copy link
Copy Markdown
Member Author

@blueorangutan package

@blueorangutan

Copy link
Copy Markdown

@weizhouapache a [SL] Jenkins job has been kicked to build packages. It will be bundled with no SystemVM templates. I'll keep you posted as I make progress.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 updates Marvin’s Python packaging metadata to depend on pycryptodome instead of PyCrypt, aligning the Marvin install requirements with the Crypto.* module usage found in the integration test suite.

Changes:

  • Replace PyCrypt with pycryptodome in tools/marvin/setup.py install_requires.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@codecov

codecov Bot commented Jul 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 19.47%. Comparing base (a503a52) to head (20587bf).

Additional details and impacted files
@@            Coverage Diff            @@
##               main   #13594   +/-   ##
=========================================
  Coverage     19.47%   19.47%           
  Complexity    19351    19351           
=========================================
  Files          6296     6296           
  Lines        568368   568368           
  Branches      69622    69622           
=========================================
+ Hits         110673   110702   +29     
+ Misses       445618   445586   -32     
- Partials      12077    12080    +3     
Flag Coverage Δ
uitests 3.44% <ø> (ø)
unittests 20.73% <ø> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

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

@blueorangutan

Copy link
Copy Markdown

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

@weizhouapache

Copy link
Copy Markdown
Member Author

@blueorangutan test matrix

@blueorangutan

Copy link
Copy Markdown

@weizhouapache a [SL] Trillian-Jenkins matrix job (EL8 mgmt + EL8 KVM, Ubuntu22 mgmt + Ubuntu22 KVM, EL8 mgmt + VMware 7.0u3, EL9 mgmt + XCP-ng 8.2 ) has been kicked to run smoke tests

@blueorangutan

Copy link
Copy Markdown

[SF] Trillian Build Failed (tid-16532)

@blueorangutan

Copy link
Copy Markdown

[SF] Trillian Build Failed (tid-16534)

@blueorangutan

Copy link
Copy Markdown

[SF] Trillian Build Failed (tid-16531)

@blueorangutan

Copy link
Copy Markdown

[SF] Trillian Build Failed (tid-16535)

@blueorangutan

Copy link
Copy Markdown

[SF] Trillian test result (tid-16537)
Environment: kvm-ol8 (x2), zone: Advanced Networking with Mgmt server ol8
Total time taken: 54246 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr13594-t16537-kvm-ol8.zip
Smoke tests completed. 154 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
Copy Markdown

[SF] Trillian test result (tid-16536)
Environment: xcpng82 (x2), zone: Advanced Networking with Mgmt server ol9
Total time taken: 76882 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr13594-t16536-xcpng82.zip
Smoke tests completed. 145 look OK, 9 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test Result Time (s) Test File
test_01_events_resource Error 207.97 test_events_resource.py
ContextSuite context=TestClusterDRS>:setup Error 0.00 test_cluster_drs.py
test_12_deploy_vm_with_root_disk_encryption Error 16.41 test_kms_lifecycle.py
test_09_vpc_source_nat_ip_update Error 21.19 test_network_extension_namespace.py
test_01_non_strict_host_anti_affinity Error 182.88 test_nonstrict_affinity_group.py
test_02_non_strict_host_affinity Error 79.99 test_nonstrict_affinity_group.py
test_02_list_snapshots_with_removed_data_store Error 12.61 test_snapshots.py
test_02_list_snapshots_with_removed_data_store Error 12.62 test_snapshots.py
test_01_vpn_usage Error 1.09 test_usage.py
test_11_destroy_vm_and_volumes Error 20.88 test_vm_life_cycle.py
test_01_migrate_vm_strict_tags_success Error 55.97 test_vm_strict_host_tags.py

@weizhouapache weizhouapache added this to the 4.23.0 milestone Jul 12, 2026

@sureshanaparti sureshanaparti left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

clgtm

@weizhouapache

Copy link
Copy Markdown
Member Author

merging based on approvals and simulator CI and smoke test results

@weizhouapache weizhouapache merged commit 4c0a3e1 into apache:main Jul 13, 2026
43 of 45 checks passed
@blueorangutan

Copy link
Copy Markdown

[SF] Trillian test result (tid-16533)
Environment: vmware-70u3 (x2), zone: Advanced Networking with Mgmt server ol8
Total time taken: 204422 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr13594-t16533-vmware-70u3.zip
Smoke tests completed. 142 look OK, 12 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test Result Time (s) Test File
test_12_deploy_vm_with_root_disk_encryption Error 16.43 test_kms_lifecycle.py
test_06_list_hosts_keyword_filter Failure 0.02 test_list_hosts.py
test_01_vpn_usage Error 1.12 test_usage.py
test_01_deploy_vm_on_specific_host Error 12.55 test_vm_deployment_planner.py
test_02_deploy_vm_on_specific_cluster Error 3602.96 test_vm_deployment_planner.py
test_03_deploy_vm_on_specific_pod Error 1.30 test_vm_deployment_planner.py
test_04_deploy_vm_on_host_override_pod_and_cluster Error 2.30 test_vm_deployment_planner.py
test_05_deploy_vm_on_cluster_override_pod Error 2.29 test_vm_deployment_planner.py
test_01_offline_migrate_VM_and_root_volume Error 1898.80 test_vm_life_cycle.py
test_02_offline_migrate_VM_with_two_data_disks Error 3670.11 test_vm_life_cycle.py
test_08_migrate_vm Error 3625.36 test_vm_life_cycle.py
test_09_expunge_vm Failure 422.63 test_vm_life_cycle.py
test_11_destroy_vm_and_volumes Error 1832.61 test_vm_life_cycle.py
test_12_start_vm_multiple_volumes_allocated Error 1932.24 test_vm_life_cycle.py
test_01_unmanage_vm_cycle Error 1931.98 test_vm_lifecycle_unmanage_import.py
ContextSuite context=TestUnmanageVM>:teardown Error 1932.15 test_vm_lifecycle_unmanage_import.py
test_01_migrate_vm_strict_tags_success Error 8.86 test_vm_strict_host_tags.py
test_02_migrate_vm_strict_tags_failure Error 3.67 test_vm_strict_host_tags.py
test_01_restore_vm_strict_tags_success Error 4.74 test_vm_strict_host_tags.py
test_02_restore_vm_strict_tags_failure Error 3.58 test_vm_strict_host_tags.py
test_01_scale_vm_strict_tags_success Error 4.69 test_vm_strict_host_tags.py
test_02_scale_vm_strict_tags_failure Error 3.70 test_vm_strict_host_tags.py
test_01_deploy_vm_on_specific_host_without_strict_tags Error 4.61 test_vm_strict_host_tags.py
test_02_deploy_vm_on_any_host_without_strict_tags Error 5.67 test_vm_strict_host_tags.py
test_03_deploy_vm_on_specific_host_with_strict_tags_success Error 3.63 test_vm_strict_host_tags.py
test_04_deploy_vm_on_any_host_with_strict_tags_success Error 8.79 test_vm_strict_host_tags.py
test_04_deploy_vnf_appliance Error 1967.18 test_vnf_templates.py
ContextSuite context=TestVnfTemplates>:teardown Error 3607.70 test_vnf_templates.py
ContextSuite context=TestCreateVolume>:teardown Error 2264.24 test_volumes.py
test_11_attach_volume_with_unstarted_vm Error 1919.58 test_volumes.py
test_13_migrate_volume_and_change_offering Error 19.30 test_volumes.py
ContextSuite context=TestVolumes>:teardown Error 10.95 test_volumes.py
test_01_verify_ipv6_vpc Error 3967.39 test_vpc_ipv6.py
test_01_verify_ipv6_vpc Error 3967.78 test_vpc_ipv6.py
test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL Error 1809.36 test_vpc_redundant.py
test_02_redundant_VPC_default_routes Error 1890.64 test_vpc_redundant.py
test_03_create_redundant_VPC_1tier_2VMs_2IPs_2PF_ACL_reboot_routers Error 1886.68 test_vpc_redundant.py
test_04_rvpc_network_garbage_collector_nics Error 1882.21 test_vpc_redundant.py
test_05_rvpc_multi_tiers Error 1882.51 test_vpc_redundant.py
test_01_redundant_vpc_site2site_vpn Failure 1811.21 test_vpc_vpn.py
test_01_redundant_vpc_site2site_vpn Error 1811.35 test_vpc_vpn.py
test_01_vpc_site2site_vpn_multiple_options Failure 1886.92 test_vpc_vpn.py
test_01_vpc_site2site_vpn_multiple_options Error 1887.06 test_vpc_vpn.py
test_01_vpc_remote_access_vpn Failure 1807.19 test_vpc_vpn.py
test_01_vpc_site2site_vpn Failure 1809.92 test_vpc_vpn.py
test_01_vpc_site2site_vpn Error 1810.05 test_vpc_vpn.py

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

component:marvin Python Warning... Python code Ahead!

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants