vmm_tests: add hyper-v openhcl pcat tests#2602
Merged
tjones60 merged 1 commit intomicrosoft:mainfrom Jan 12, 2026
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adds Hyper-V OpenHCL PCAT tests by introducing new disk management infrastructure. The changes refactor how boot devices and storage controllers are handled across the test framework.
- Introduces
OpenhclPcatfirmware type and new boot device types (e.g.,IdeViaScsi,ScsiViaNvme) - Refactors storage configuration from imperative
with_custom_vtl2_settingsto declarativeadd_vtl2_storage_controllerAPI - Adds comprehensive disk and storage controller management types (
Drive,Disk,VmbusStorageController) - Implements Hyper-V backend storage APIs with new PowerShell cmdlets for drive management
Reviewed changes
Copilot reviewed 20 out of 20 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| vmm_tests/vmm_tests/tests/tests/x86_64/storage.rs | Refactored to use new add_vtl2_storage_controller API instead of with_custom_vtl2_settings |
| vmm_tests/vmm_tests/tests/tests/x86_64/openhcl_uefi.rs | Removed [nvme] annotation, added explicit with_boot_device_type calls |
| vmm_tests/vmm_tests/tests/tests/x86_64/openhcl_linux_direct.rs | Updated to use new storage controller API |
| vmm_tests/vmm_tests/tests/tests/multiarch/openhcl_servicing.rs | Updated to use new storage controller API and boot device type |
| vmm_tests/vmm_tests/tests/tests/multiarch.rs | Added three new hyperv_openhcl_pcat_x64 test configurations |
| vmm_tests/vmm_test_macros/src/lib.rs | Added OpenhclPcat firmware variant, removed nvme option from OpenhclUefiOptions |
| petri/src/vm/vtl2_settings.rs | Added channel field to Vtl2LunBuilder for IDE controller support |
| petri/src/vm/openvmm/start.rs | Simplified by moving boot disk and storage logic to construction phase |
| petri/src/vm/openvmm/runtime.rs | Added stub set_vmbus_drive method |
| petri/src/vm/openvmm/modify.rs | Updated to use new PetriVmProperties |
| petri/src/vm/openvmm/mod.rs | Removed boot device constants, added petri_disk_to_openvmm helper |
| petri/src/vm/openvmm/construct.rs | Major refactoring: added IDE and VMBus storage handling, removed old boot disk logic |
| petri/src/vm/mod.rs | Added core types (PetriVmProperties, VmbusStorageController, Drive, Disk), new boot device types, storage management methods |
| petri/src/vm/hyperv/vm.rs | Refactored storage APIs to use VSID instead of controller numbers |
| petri/src/vm/hyperv/powershell.rs | Added PowerShell functions for storage controller and drive management |
| petri/src/vm/hyperv/mod.rs | Simplified backend, added storage controller iteration, removed HyperVPetriConfig |
| petri/src/vm/hyperv/hyperv.psm1 | Added comprehensive PowerShell cmdlets for SCSI/IDE drive management using WMI |
| petri/src/tracing.rs | Added Debug derives |
| petri/src/disk_image.rs | Added ImageType parameter to build() method to support VHD output |
| petri/petri-tool/src/main.rs | Updated to pass ImageType::Raw to build() |
6e11c26 to
90ed239
Compare
chris-oo
approved these changes
Jan 12, 2026
tjones60
added a commit
to tjones60/openvmm
that referenced
this pull request
Jan 22, 2026
Add a few basic Hyper-V OpenHCL PCAT tests using the new disk management infrastructure added in microsoft#2551
tjones60
added a commit
to tjones60/openvmm
that referenced
this pull request
Jan 22, 2026
Add a few basic Hyper-V OpenHCL PCAT tests using the new disk management infrastructure added in microsoft#2551
benhillis
pushed a commit
that referenced
this pull request
Jan 22, 2026
Add a few basic Hyper-V OpenHCL PCAT tests using the new disk management infrastructure added in #2551
Member
|
Backported to release/1.7.2511 in #2668 |
mattkur
pushed a commit
to mattkur/openvmm
that referenced
this pull request
Jan 22, 2026
Add a few basic Hyper-V OpenHCL PCAT tests using the new disk management infrastructure added in microsoft#2551 (cherry picked from commit a5b15ac)
mattkur
added a commit
to mattkur/openvmm
that referenced
this pull request
Jan 22, 2026
This reverts commit d79c62c.
Merged
mattkur
added a commit
that referenced
this pull request
Jan 23, 2026
This PR reverts the following commits. Unfortunately, the cherry-pick order missed some intermediate changes that we were hoping to bring back as well. Those are included in #2679. So, revert the following commits: d79c62c vmm_tests: add hyper-v openhcl pcat tests (#2602) 7cfd370 petri: backend agnostic additional disk configuration (#2551) ae6a3ed petri: backend agnostic vtl2 settings configuration (#2550) d014e27 petri: allow more time for the vm to be off during reboot (#2533) d7ad1c1 petri: check if the VM is off when waiting for hyper-v events (#2525)
mattkur
pushed a commit
to mattkur/openvmm
that referenced
this pull request
Jan 23, 2026
Add a few basic Hyper-V OpenHCL PCAT tests using the new disk management infrastructure added in microsoft#2551 (cherry picked from commit a5b15ac)
mattkur
added a commit
that referenced
this pull request
Jan 24, 2026
#2679) This cherry-picks the following changes, and includes a few minor merge conflict fix-ups. * vmm_tests: add hyper-v openhcl pcat tests (#2602) * petri: backend agnostic additional disk configuration (#2551) * vmm_tests/underhill_core: allow command line to specify settings / config timeout, and make it 30s for many devices test (#2619) * mesh/petri/vmm_tests/vpci: allow env vars when launching mesh process + verbose vpci logs (#2567) * petri: backend agnostic vtl2 settings configuration (#2550) * petri: allow more time for the vm to be off during reboot (#2533) * petri: check if the VM is off when waiting for hyper-v events (#2525) --------- Co-authored-by: Trevor Jones <trevor@thjmedia.net>
benhillis
pushed a commit
to benhillis/openvmm
that referenced
this pull request
Jan 29, 2026
* release/1.7.2511: vmm_tests: add hyper-v openhcl pcat tests (microsoft#2602) petri: backend agnostic additional disk configuration (microsoft#2551) petri: backend agnostic vtl2 settings configuration (microsoft#2550) petri: allow more time for the vm to be off during reboot (microsoft#2533) petri: check if the VM is off when waiting for hyper-v events (microsoft#2525)
benhillis
pushed a commit
to benhillis/openvmm
that referenced
this pull request
Jan 29, 2026
* release/1.7.2511: petri/vmm_tests: cherry-pick microsoft#2525 microsoft#2533 microsoft#2550 microsoft#2567 microsoft#2610 microsoft#2551 microsoft#2602 (microsoft#2679)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add a few basic Hyper-V OpenHCL PCAT tests using the new disk management infrastructure added in #2551