-
Notifications
You must be signed in to change notification settings - Fork 123
petri: Disable secure boot by default for HyperV tests and introduce specific secureboot tests #1386
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
base: main
Are you sure you want to change the base?
petri: Disable secure boot by default for HyperV tests and introduce specific secureboot tests #1386
Conversation
Think the title and description need updating |
Oh, I kept the title for now since this might still be a work in progress. I made this PR away from draft so that I can test the CI runs |
Well it's still a WIP, but the change we're actually making is the opposite of the current title |
…, added no template test, unified hyperv and openvmm logic
hyperv_openhcl_uefi_x64(vhd(windows_datacenter_core_2022_x64)), | ||
hyperv_openhcl_uefi_x64(vhd(ubuntu_2204_server_x64)) | ||
)] | ||
async fn secure_boot_mismatched_template(config: Box<dyn PetriVmConfig>) -> anyhow::Result<()> { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This and the secure_boot_no_template tests fail for hyper-v.
Petri Logs say:
2025-06-03T18:44:39.176115Z DEBUG petri::vm::hyperv::powershell::ps: executing powershell command ps_cmd="powershell.exe -NoProfile Get-VM -Name \"multiarch::hyperv_uefi_x64_windows_datacenter_core_2022_x64_secure_boot_mismatched_template\" | Select-Object -ExpandProperty \"Id\" | Select-Object -ExpandProperty \"Guid\""
2025-06-03T18:44:39.751491Z DEBUG petri::vm::hyperv::powershell::ps: powershell command exited in 0.575s with status exit code: 1 ps_cmd="powershell.exe -NoProfile Get-VM -Name \"multiarch::hyperv_uefi_x64_windows_datacenter_core_2022_x64_secure_boot_mismatched_template\" | Select-Object -ExpandProperty \"Id\" | Select-Object -ExpandProperty \"Guid\"" ps_stdout="" ps_stderr="Get-VM : Hyper-V was unable to find a virtual machine with name \r\n\"multiarch::hyperv_uefi_x64_windows_datacenter_core_2022_x64_secure_boot_mismatched_template\".\r\nAt line:1 char:1\r\n+ Get-VM -Name \"multiarch::hyperv_uefi_x64_windows_datacenter_core_2022 ...\r\n+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n + CategoryInfo : InvalidArgument: (multiarch::hype...atched_template:String) [Get-VM], VirtualizationExce \r\n ption\r\n + FullyQualifiedErrorId : InvalidParameter,Microsoft.HyperV.PowerShell.Commands.GetVM\r\n \r\n"
2025-06-03T18:44:39.752149Z DEBUG petri::vm::hyperv::powershell::ps: executing powershell command ps_cmd="powershell.exe -NoProfile New-VM -Name \"multiarch::hyperv_uefi_x64_windows_datacenter_core_2022_x64_secure_boot_mismatched_template\" -Generation 2 -GuestStateIsolationType Disabled -MemoryStartupBytes 4294967296 -Force | Select-Object -ExpandProperty \"Id\" | Select-Object -ExpandProperty \"Guid\""
2025-06-03T18:44:42.077437Z DEBUG petri::vm::hyperv::powershell::ps: powershell command exited in 2.325s with status exit code: 0 ps_cmd="powershell.exe -NoProfile New-VM -Name \"multiarch::hyperv_uefi_x64_windows_datacenter_core_2022_x64_secure_boot_mismatched_template\" -Generation 2 -GuestStateIsolationType Disabled -MemoryStartupBytes 4294967296 -Force | Select-Object -ExpandProperty \"Id\" | Select-Object -ExpandProperty \"Guid\"" ps_stdout="a3c98886-eae9-4afe-be26-c9275995d8cb\r\n" ps_stderr=""
2025-06-03T18:44:42.077663Z INFO petri::vm::hyperv::vm: Created Hyper-V VM name="multiarch::hyperv_uefi_x64_windows_datacenter_core_2022_x64_secure_boot_mismatched_template" vmid="a3c98886-eae9-4afe-be26-c9275995d8cb"
2025-06-03T18:44:42.077748Z DEBUG petri::vm::hyperv::powershell::ps: executing powershell command ps_cmd="powershell.exe -NoProfile Get-VM -Id \"a3c98886-eae9-4afe-be26-c9275995d8cb\" | Remove-VMNetworkAdapter"
2025-06-03T18:44:42.754414Z DEBUG petri::vm::hyperv::powershell::ps: powershell command exited in 0.677s with status exit code: 0 ps_cmd="powershell.exe -NoProfile Get-VM -Id \"a3c98886-eae9-4afe-be26-c9275995d8cb\" | Remove-VMNetworkAdapter" ps_stdout="" ps_stderr=""
2025-06-03T18:44:42.754587Z DEBUG petri::vm::hyperv::powershell::ps: executing powershell command ps_cmd="powershell.exe -NoProfile Get-VM -Id \"a3c98886-eae9-4afe-be26-c9275995d8cb\" | Get-VMScsiController -ControllerNumber 0 | Remove-VMScsiController"
2025-06-03T18:44:43.366333Z DEBUG petri::vm::hyperv::powershell::ps: powershell command exited in 0.612s with status exit code: 0 ps_cmd="powershell.exe -NoProfile Get-VM -Id \"a3c98886-eae9-4afe-be26-c9275995d8cb\" | Get-VMScsiController -ControllerNumber 0 | Remove-VMScsiController" ps_stdout="" ps_stderr=""
2025-06-03T18:44:43.366589Z DEBUG petri::vm::hyperv::powershell::ps: executing powershell command ps_cmd="powershell.exe -NoProfile Get-VM -Id \"a3c98886-eae9-4afe-be26-c9275995d8cb\" | Set-VMMemory -DynamicMemoryEnabled $false"
2025-06-03T18:44:44.011193Z DEBUG petri::vm::hyperv::powershell::ps: powershell command exited in 0.644s with status exit code: 0 ps_cmd="powershell.exe -NoProfile Get-VM -Id \"a3c98886-eae9-4afe-be26-c9275995d8cb\" | Set-VMMemory -DynamicMemoryEnabled $false" ps_stdout="" ps_stderr=""
2025-06-03T18:44:44.011422Z DEBUG petri::vm::hyperv::powershell::ps: executing powershell command ps_cmd="powershell.exe -NoProfile Get-VM -Id \"a3c98886-eae9-4afe-be26-c9275995d8cb\" | Set-VMFirmware -EnableSecureBoot Off"
2025-06-03T18:44:44.566191Z DEBUG petri::vm::hyperv::powershell::ps: powershell command exited in 0.555s with status exit code: 0 ps_cmd="powershell.exe -NoProfile Get-VM -Id \"a3c98886-eae9-4afe-be26-c9275995d8cb\" | Set-VMFirmware -EnableSecureBoot Off" ps_stdout="" ps_stderr=""
2025-06-03T18:44:44.566368Z DEBUG petri::vm::hyperv::powershell::ps: executing powershell command ps_cmd="powershell.exe -NoProfile Get-VM -Id \"a3c98886-eae9-4afe-be26-c9275995d8cb\" | Set-VMProcessor -Count 2 -ApicMode x2Apic"
2025-06-03T18:44:45.138687Z DEBUG petri::vm::hyperv::powershell::ps: powershell command exited in 0.572s with status exit code: 0 ps_cmd="powershell.exe -NoProfile Get-VM -Id \"a3c98886-eae9-4afe-be26-c9275995d8cb\" | Set-VMProcessor -Count 2 -ApicMode x2Apic" ps_stdout="" ps_stderr=""
2025-06-03T18:44:45.138835Z DEBUG petri::vm::hyperv::powershell::ps: executing powershell command ps_cmd="powershell.exe -NoProfile Get-VM -Id \"a3c98886-eae9-4afe-be26-c9275995d8cb\" | Set-VMFirmware -EnableSecureBoot On -SecureBootTemplate MicrosoftUEFICertificateAuthority"
2025-06-03T18:44:45.854748Z DEBUG petri::vm::hyperv::powershell::ps: powershell command exited in 0.716s with status exit code: 0 ps_cmd="powershell.exe -NoProfile Get-VM -Id \"a3c98886-eae9-4afe-be26-c9275995d8cb\" | Set-VMFirmware -EnableSecureBoot On -SecureBootTemplate MicrosoftUEFICertificateAuthority" ps_stdout="" ps_stderr=""
2025-06-03T18:44:45.854915Z DEBUG petri::vm::hyperv::powershell::ps: executing powershell command ps_cmd="powershell.exe -NoProfile Get-VM -Id \"a3c98886-eae9-4afe-be26-c9275995d8cb\" | Add-VMScsiController -Passthru | Select-Object -ExpandProperty \"ControllerNumber\""
2025-06-03T18:44:46.586503Z DEBUG petri::vm::hyperv::powershell::ps: powershell command exited in 0.731s with status exit code: 0 ps_cmd="powershell.exe -NoProfile Get-VM -Id \"a3c98886-eae9-4afe-be26-c9275995d8cb\" | Add-VMScsiController -Passthru | Select-Object -ExpandProperty \"ControllerNumber\"" ps_stdout="0\r\n" ps_stderr=""
2025-06-03T18:44:46.586720Z DEBUG petri::vm::hyperv::powershell::ps: executing powershell command ps_cmd="powershell.exe -NoProfile New-VHD -Path \"C:\\Users\\CLOUDT~1\\AppData\\Local\\Temp\\.tmpAOB3tD\\0_0_WindowsServer-2022-datacenter-core-smalldisk-g2-20348.1906.230803.vhd\" -ParentPath \"D:\\a\\_work\\_temp\\work\\flowey_lib_hvlite__download_openvmm_vmm_tests_artifacts_0\\WindowsServer-2022-datacenter-core-smalldisk-g2-20348.1906.230803.vhd\" -Differencing"
2025-06-03T18:44:48.165297Z DEBUG petri::vm::hyperv::powershell::ps: powershell command exited in 1.578s with status exit code: 0 ps_cmd="powershell.exe -NoProfile New-VHD -Path \"C:\\Users\\CLOUDT~1\\AppData\\Local\\Temp\\.tmpAOB3tD\\0_0_WindowsServer-2022-datacenter-core-smalldisk-g2-20348.1906.230803.vhd\" -ParentPath \"D:\\a\\_work\\_temp\\work\\flowey_lib_hvlite__download_openvmm_vmm_tests_artifacts_0\\WindowsServer-2022-datacenter-core-smalldisk-g2-20348.1906.230803.vhd\" -Differencing" ps_stdout="\r\n\r\nComputerName : 0cc2d13ec000000\r\nPath : C:\\Users\\cloudtest\\AppData\\Local\\Temp\\.tmpAOB3tD\\0_0_WindowsServer-2022-datacenter-core-small\r\n disk-g2-20348.1906.230803.vhd\r\nVhdFormat : VHD\r\nVhdType : Differencing\r\nFileSize : 77824\r\nSize : 32214351872\r\nMinimumSize : 32212219904\r\nLogicalSectorSize : 512\r\nPhysicalSectorSize : 512\r\nBlockSize : 2097152\r\nParentPath : D:\\a\\_work\\_temp\\work\\flowey_lib_hvlite__download_openvmm_vmm_tests_artifacts_0\\WindowsServer\r\n -2022-datacenter-core-smalldisk-g2-20348.1906.230803.vhd\r\nDiskIdentifier : ED7B9EBD-E65E-4D29-9BD4-F1EF1C6C46A2\r\nFragmentationPercentage : \r\nAlignment : 1\r\nAttached : False\r\nDiskNumber : \r\nIsPMEMCompatible : False\r\nAddressAbstractionType : None\r\nNumber : \r\n\r\n\r\n\r\n" ps_stderr=""
2025-06-03T18:44:48.165594Z DEBUG petri::vm::hyperv::powershell::ps: executing powershell command ps_cmd="powershell.exe -NoProfile Get-VM -Id \"a3c98886-eae9-4afe-be26-c9275995d8cb\" | Add-VMHardDiskDrive -ControllerType SCSI -ControllerLocation 0 -ControllerNumber 0 -Path \"C:\\Users\\CLOUDT~1\\AppData\\Local\\Temp\\.tmpAOB3tD\\0_0_WindowsServer-2022-datacenter-core-smalldisk-g2-20348.1906.230803.vhd\""
2025-06-03T18:44:49.276613Z DEBUG petri::vm::hyperv::powershell::ps: powershell command exited in 1.111s with status exit code: 0 ps_cmd="powershell.exe -NoProfile Get-VM -Id \"a3c98886-eae9-4afe-be26-c9275995d8cb\" | Add-VMHardDiskDrive -ControllerType SCSI -ControllerLocation 0 -ControllerNumber 0 -Path \"C:\\Users\\CLOUDT~1\\AppData\\Local\\Temp\\.tmpAOB3tD\\0_0_WindowsServer-2022-datacenter-core-smalldisk-g2-20348.1906.230803.vhd\"" ps_stdout="" ps_stderr=""
2025-06-03T18:44:49.276818Z DEBUG petri::vm::hyperv::powershell::ps: executing powershell command ps_cmd="powershell.exe -NoProfile Get-VM -Id \"a3c98886-eae9-4afe-be26-c9275995d8cb\" | Set-VMComPort -Number 1 -Path \"\\\\.\\pipe\\a3c98886-eae9-4afe-be26-c9275995d8cb-1\""
2025-06-03T18:44:50.014338Z DEBUG petri::vm::hyperv::powershell::ps: powershell command exited in 0.737s with status exit code: 0 ps_cmd="powershell.exe -NoProfile Get-VM -Id \"a3c98886-eae9-4afe-be26-c9275995d8cb\" | Set-VMComPort -Number 1 -Path \"\\\\.\\pipe\\a3c98886-eae9-4afe-be26-c9275995d8cb-1\"" ps_stdout="" ps_stderr=""
2025-06-03T18:44:50.014787Z DEBUG petri::vm::hyperv::hvc: executing hvc command hvc_cmd="hvc.exe state a3c98886-eae9-4afe-be26-c9275995d8cb"
2025-06-03T18:44:50.085343Z DEBUG petri::vm::hyperv::hvc: hvc command exited in 0.070s with status exit code: 0 hvc_cmd="hvc.exe state a3c98886-eae9-4afe-be26-c9275995d8cb" hvc_stdout="off\r\n" hvc_stderr=""
2025-06-03T18:44:50.085497Z DEBUG petri::vm::hyperv::hvc: executing hvc command hvc_cmd="hvc.exe start a3c98886-eae9-4afe-be26-c9275995d8cb"
2025-06-03T18:44:51.804437Z DEBUG petri::vm::hyperv::hvc: hvc command exited in 1.719s with status exit code: 0 hvc_cmd="hvc.exe start a3c98886-eae9-4afe-be26-c9275995d8cb" hvc_stdout="" hvc_stderr=""
2025-06-03T18:44:51.804772Z DEBUG petri::vm::hyperv::powershell::ps: executing powershell command ps_cmd="powershell.exe -NoProfile $events = Get-WinEvent -Oldest -FilterHashtable @{LogName=@(\"Microsoft-Windows-Hyper-V-Worker-Admin\"); StartTime=\"2025-06-03T18:44:39.1754455Z\"; Id=@(18601; 18602; 18603; 18604; 18605; 18606)} | where \"message\" -Match \"a3c98886-eae9-4afe-be26-c9275995d8cb\" | Select-Object @(@{label=\"TimeCreated\"; expression={ Get-Date $_.TimeCreated -Format o }}; \"ProviderName\"; \"Level\"; \"Id\"; \"Message\") ; ConvertTo-Json -InputObject @($events)"
2025-06-03T18:44:52.088098Z DEBUG petri::vm::hyperv::powershell::ps: powershell command exited in 0.283s with status exit code: 0 ps_cmd="powershell.exe -NoProfile $events = Get-WinEvent -Oldest -FilterHashtable @{LogName=@(\"Microsoft-Windows-Hyper-V-Worker-Admin\"); StartTime=\"2025-06-03T18:44:39.1754455Z\"; Id=@(18601; 18602; 18603; 18604; 18605; 18606)} | where \"message\" -Match \"a3c98886-eae9-4afe-be26-c9275995d8cb\" | Select-Object @(@{label=\"TimeCreated\"; expression={ Get-Date $_.TimeCreated -Format o }}; \"ProviderName\"; \"Level\"; \"Id\"; \"Message\") ; ConvertTo-Json -InputObject @($events)" ps_stderr=""
2025-06-03T18:44:53.088555Z DEBUG petri::vm::hyperv::powershell::ps: executing powershell command ps_cmd="powershell.exe -NoProfile $events = Get-WinEvent -Oldest -FilterHashtable @{LogName=@(\"Microsoft-Windows-Hyper-V-Worker-Admin\"); StartTime=\"2025-06-03T18:44:39.1754455Z\"; Id=@(18601; 18602; 18603; 18604; 18605; 18606)} | where \"message\" -Match \"a3c98886-eae9-4afe-be26-c9275995d8cb\" | Select-Object @(@{label=\"TimeCreated\"; expression={ Get-Date $_.TimeCreated -Format o }}; \"ProviderName\"; \"Level\"; \"Id\"; \"Message\") ; ConvertTo-Json -InputObject @($events)"
2025-06-03T18:44:53.414709Z DEBUG petri::vm::hyperv::powershell::ps: powershell command exited in 0.326s with status exit code: 0 ps_cmd="powershell.exe -NoProfile $events = Get-WinEvent -Oldest -FilterHashtable @{LogName=@(\"Microsoft-Windows-Hyper-V-Worker-Admin\"); StartTime=\"2025-06-03T18:44:39.1754455Z\"; Id=@(18601; 18602; 18603; 18604; 18605; 18606)} | where \"message\" -Match \"a3c98886-eae9-4afe-be26-c9275995d8cb\" | Select-Object @(@{label=\"TimeCreated\"; expression={ Get-Date $_.TimeCreated -Format o }}; \"ProviderName\"; \"Level\"; \"Id\"; \"Message\") ; ConvertTo-Json -InputObject @($events)" ps_stderr=""
2025-06-03T18:44:53.415184Z DEBUG petri::vm::hyperv::hvc: executing hvc command hvc_cmd="hvc.exe state a3c98886-eae9-4afe-be26-c9275995d8cb"
2025-06-03T18:44:53.484781Z DEBUG petri::vm::hyperv::hvc: hvc command exited in 0.069s with status exit code: 0 hvc_cmd="hvc.exe state a3c98886-eae9-4afe-be26-c9275995d8cb" hvc_stdout="running\r\n" hvc_stderr=""
2025-06-03T18:44:54.499310Z DEBUG petri::vm::hyperv::hvc: executing hvc command hvc_cmd="hvc.exe state a3c98886-eae9-4afe-be26-c9275995d8cb"
2025-06-03T18:44:54.572626Z DEBUG petri::vm::hyperv::hvc: hvc command exited in 0.073s with status exit code: 0 hvc_cmd="hvc.exe state a3c98886-eae9-4afe-be26-c9275995d8cb" hvc_stdout="running\r\n" hvc_stderr=""
2025-06-03T18:44:55.572837Z DEBUG petri::vm::hyperv::hvc: executing hvc command hvc_cmd="hvc.exe state a3c98886-eae9-4afe-be26-c9275995d8cb"
2025-06-03T18:44:55.648545Z DEBUG petri::vm::hyperv::hvc: hvc command exited in 0.075s with status exit code: 0 hvc_cmd="hvc.exe state a3c98886-eae9-4afe-be26-c9275995d8cb" hvc_stdout="running\r\n" hvc_stderr=""
The last line repeats until this at the end, indicating the test timed out:
2025-06-03T18:48:55.729133Z DEBUG petri::vm::hyperv::hvc: hvc command exited in 0.051s with status exit code: 0 hvc_cmd="hvc.exe state a3c98886-eae9-4afe-be26-c9275995d8cb" hvc_stdout="off\r\n" hvc_stderr=""
2025-06-03T18:48:55.729340Z DEBUG petri::vm::hyperv::powershell::ps: executing powershell command ps_cmd="powershell.exe -NoProfile Get-VM -Id \"a3c98886-eae9-4afe-be26-c9275995d8cb\" | Remove-VM -Force"
2025-06-03T18:48:56.490820Z DEBUG petri::vm::hyperv::powershell::ps: powershell command exited in 0.761s with status exit code: 0 ps_cmd="powershell.exe -NoProfile Get-VM -Id \"a3c98886-eae9-4afe-be26-c9275995d8cb\" | Remove-VM -Force" ps_stdout="" ps_stderr=""
2025-06-03T18:48:56.491078Z DEBUG petri::vm::hyperv::powershell::ps: executing powershell command ps_cmd="powershell.exe -NoProfile $events = Get-WinEvent -Oldest -FilterHashtable @{LogName=@(\"Microsoft-Windows-Hyper-V-Worker-Admin\"; \"Microsoft-Windows-Hyper-V-VMMS-Admin\"); StartTime=\"2025-06-03T18:44:39.1754455Z\"} | where \"message\" -Match \"a3c98886-eae9-4afe-be26-c9275995d8cb\" | Select-Object @(@{label=\"TimeCreated\"; expression={ Get-Date $_.TimeCreated -Format o }}; \"ProviderName\"; \"Level\"; \"Id\"; \"Message\") ; ConvertTo-Json -InputObject @($events)"
2025-06-03T18:48:57.579092Z DEBUG petri::vm::hyperv::powershell::ps: powershell command exited in 1.088s with status exit code: 0 ps_cmd="powershell.exe -NoProfile $events = Get-WinEvent -Oldest -FilterHashtable @{LogName=@(\"Microsoft-Windows-Hyper-V-Worker-Admin\"; \"Microsoft-Windows-Hyper-V-VMMS-Admin\"); StartTime=\"2025-06-03T18:44:39.1754455Z\"} | where \"message\" -Match \"a3c98886-eae9-4afe-be26-c9275995d8cb\" | Select-Object @(@{label=\"TimeCreated\"; expression={ Get-Date $_.TimeCreated -Format o }}; \"ProviderName\"; \"Level\"; \"Id\"; \"Message\") ; ConvertTo-Json -InputObject @($events)" ps_stderr=""
2025-06-03T18:48:57.581957Z ERROR petri::test: test failed error=wait_for_state error.sources=[timed out waiting for Off. current: Running]
The key here is that this command worked: Set-VMFirmware -EnableSecureBoot On -SecureBootTemplate MicrosoftUEFICertificateAuthority
Why would the test time out?
[2025-06-03T18:44:41.5247937Z] Microsoft-Windows-Hyper-V-VMMS: (4, 18304) The virtual machine 'multiarch::hyperv_uefi_x64_windows_datacenter_core_2022_x64_secure_boot_mismatched_template' was realized. (VMID A3C98886-EAE9-4AFE-BE26-C9275995D8CB).
[2025-06-03T18:44:41.5284402Z] Microsoft-Windows-Hyper-V-VMMS: (4, 36000) 'multiarch::hyperv_uefi_x64_windows_datacenter_core_2022_x64_secure_boot_mismatched_template' The configuration repository has logged performance summary (Virtual machine ID {a3c98886-eae9-4afe-be26-c9275995d8cb}) [Completed WmiMsvmVirtualSystemManagementService::DefineVirtualSystemInternal]:
[2025-06-03T18:44:41.5286504Z] Microsoft-Windows-Hyper-V-VMMS: (4, 36000) 'multiarch::hyperv_uefi_x64_windows_datacenter_core_2022_x64_secure_boot_mismatched_template' The runtime repository has logged performance summary (Virtual machine ID {a3c98886-eae9-4afe-be26-c9275995d8cb}) [Completed WmiMsvmVirtualSystemManagementService::DefineVirtualSystemInternal]:
[2025-06-03T18:44:41.5287909Z] Microsoft-Windows-Hyper-V-VMMS: (4, 13002) A new virtual machine 'multiarch::hyperv_uefi_x64_windows_datacenter_core_2022_x64_secure_boot_mismatched_template' was created. (Virtual machine ID A3C98886-EAE9-4AFE-BE26-C9275995D8CB)
[2025-06-03T18:44:50.2353034Z] Microsoft-Windows-Hyper-V-Worker: (4, 18609) 'multiarch::hyperv_uefi_x64_windows_datacenter_core_2022_x64_secure_boot_mismatched_template' properties were successfully initialized. (Virtual machine ID A3C98886-EAE9-4AFE-BE26-C9275995D8CB)
Guest processor features: 0x2E0A8BFFE7F7859F, 0x100A000000091
Guest xsave features: 0x7FFFDF
Partition creation flags: 0x80000000020
Non architectural core sharing: 2
Cache line flush size: 8
Address bit width: 46
Physical address width: 46
[2025-06-03T18:44:51.6074953Z] Microsoft-Windows-Hyper-V-SynthStor: (4, 12148) 'multiarch::hyperv_uefi_x64_windows_datacenter_core_2022_x64_secure_boot_mismatched_template': (F7E8C5D1-4A2F-4F1A-8EC1-2937E6BF156A) started successfully. (Virtual machine ID A3C98886-EAE9-4AFE-BE26-C9275995D8CB)
[2025-06-03T18:44:51.6153316Z] Microsoft-Windows-Hyper-V-Worker: (4, 18500) 'multiarch::hyperv_uefi_x64_windows_datacenter_core_2022_x64_secure_boot_mismatched_template' started successfully. (Virtual machine ID A3C98886-EAE9-4AFE-BE26-C9275995D8CB)
[2025-06-03T18:44:51.8841047Z] Microsoft-Windows-Hyper-V-Chipset: (3, 18604) 'multiarch::hyperv_uefi_x64_windows_datacenter_core_2022_x64_secure_boot_mismatched_template' failed to boot an operating system. At least one boot source failed secure boot validation. (Virtual machine ID A3C98886-EAE9-4AFE-BE26-C9275995D8CB)
[2025-06-03T18:48:54.4686619Z] Microsoft-Windows-Hyper-V-Worker: (4, 18502) 'multiarch::hyperv_uefi_x64_windows_datacenter_core_2022_x64_secure_boot_mismatched_template' was turned off. (Virtual machine ID A3C98886-EAE9-4AFE-BE26-C9275995D8CB)
Hyper-V logs claim that it was unable to boot an operating system, which was expected. Will UEFI not get to the point where we automatically shut down? Do I need to do an enlightened shutdown then?
…utdown for negative tests
This PR focuses on:
with_secure_boot
function that injects a secure boot template per OS flavor