Skip to content

vmm_tests: add hyper-v openhcl pcat tests#2602

Merged
tjones60 merged 1 commit intomicrosoft:mainfrom
tjones60:petri_openhcl_pcat_2
Jan 12, 2026
Merged

vmm_tests: add hyper-v openhcl pcat tests#2602
tjones60 merged 1 commit intomicrosoft:mainfrom
tjones60:petri_openhcl_pcat_2

Conversation

@tjones60
Copy link
Copy Markdown
Contributor

@tjones60 tjones60 commented Dec 20, 2025

Add a few basic Hyper-V OpenHCL PCAT tests using the new disk management infrastructure added in #2551

@tjones60 tjones60 requested a review from a team as a code owner December 20, 2025 07:08
Copilot AI review requested due to automatic review settings December 20, 2025 07:08
Copy link
Copy Markdown
Contributor

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 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 OpenhclPcat firmware type and new boot device types (e.g., IdeViaScsi, ScsiViaNvme)
  • Refactors storage configuration from imperative with_custom_vtl2_settings to declarative add_vtl2_storage_controller API
  • 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()

Comment thread petri/src/vm/mod.rs
Comment thread petri/src/vm/openvmm/construct.rs Outdated
Comment thread petri/src/vm/hyperv/hyperv.psm1
Comment thread petri/src/vm/vtl2_settings.rs
Comment thread petri/src/vm/mod.rs Outdated
@github-actions
Copy link
Copy Markdown

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jan 5, 2026

Copy link
Copy Markdown
Contributor

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

Copilot reviewed 21 out of 21 changed files in this pull request and generated 2 comments.

Comment thread petri/src/vm/hyperv/hyperv.psm1
Comment thread petri/src/vm/hyperv/powershell.rs
@tjones60 tjones60 force-pushed the petri_openhcl_pcat_2 branch from 6e11c26 to 90ed239 Compare January 12, 2026 18:10
@tjones60 tjones60 merged commit a5b15ac into microsoft:main Jan 12, 2026
56 checks passed
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
@benhillis
Copy link
Copy Markdown
Member

Backported to release/1.7.2511 in #2668

@benhillis benhillis added backported_1.7.2511 PR that has been backported to release/1.7.2511 and removed backport_1.7.2511 labels Jan 22, 2026
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
@mattkur mattkur mentioned this pull request Jan 22, 2026
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backported_1.7.2511 PR that has been backported to release/1.7.2511

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants