`VERBOSE: [ServerA]: LCM: [ Start Resource ] [[VMSwitch]ExternalSwitch]
VERBOSE: [ServerA]: LCM: [ Start Test ] [[VMSwitch]ExternalSwitch]
VERBOSE: [ServerA]: [[VMSwitch]ExternalSwitch] Checking if Switch 'vSwitch0' is 'Present' ...
VERBOSE: [ServerA]: [[VMSwitch]ExternalSwitch] Switch 'vSwitch0' is Present
VERBOSE: [ServerA]: [[VMSwitch]ExternalSwitch] Checking if Switch 'vSwitch0' has correct BandwidthReservationMode ...
VERBOSE: [ServerA]: [[VMSwitch]ExternalSwitch] Switch 'vSwitch0' has correct BandwidthReservationMode or it does not apply to this OS
VERBOSE: [ServerA]: [[VMSwitch]ExternalSwitch] Checking if Switch 'vSwitch0' has correct NetAdapterInterfaces ...
Cannot bind argument to parameter 'ReferenceObject' because it is null.
+ CategoryInfo : InvalidData: (:) [], CimException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.CompareObjectCommand
+ PSComputerName : ServerA
VERBOSE: [ServerA]: LCM: [ End Test ] [[VMSwitch]ExternalSwitch] in 2.0320 seconds.
The PowerShell DSC resource '[VMSwitch]ExternalSwitch' with SourceInfo 'C:\_HyperVDSC\script.ps1::256::9::VMSwitch' threw one or more non-terminating errors while
running the Test-TargetResource functionality. These errors are logged to the ETW channel called Microsoft-Windows-DSC/Operational. Refer to this channel for more
details.
+ CategoryInfo : InvalidOperation: (:) [], CimException
+ FullyQualifiedErrorId : NonTerminatingErrorFromProvider
+ PSComputerName : ServerA_
`
And confirming that the VMSwitch ExternalSwitch configuration is configured as required, it still fails with the same error message. If I remove the vSwitch0 section, then the DSC configuration is pushed and applied successfully.
I looked further into the HyperVDSC\DSCResources\DSC_VMSwitch\DSC_VMSwitch.psm1 module and made this modification to use the GUID of the interface, as opposed to the InterfaceDescription. The reason for this, is because I have a Windows 2019 Server core Hyper-V cluster node, which has a difference between the InterfaceDescriptions
Due to the difference in the interface descriptions, I used the provided workaround to use the GUID instead. I'm also unsure why the difference even exists.
Operating system the target node is running
PS C:\> Get-ComputerInfo -Property @('OsName','OsOperatingSystemSKU','OSArchitecture','WindowsVersion','WindowsBuildLabEx','OsLanguage','OsMuiLanguages')
OsName : Microsoft Windows Server 2019 Standard
OsOperatingSystemSKU : StandardServerEdition
OsArchitecture : 64-bit
WindowsVersion : 1809
WindowsBuildLabEx : 17763.1.amd64fre.rs5_release.180914-1434
OsLanguage : en-US
OsMuiLanguages : {en-US}
PowerShell version and build the target node is running
I'll close this Issue and work on trying to fix the hosts themselves, we've identified that seems to only occur with QLogic BCM57810 or QLogic BCM57800, so it's only a small fraction of hosts.
Problem description
During debugging the error message,
And confirming that the VMSwitch ExternalSwitch configuration is configured as required, it still fails with the same error message. If I remove the vSwitch0 section, then the DSC configuration is pushed and applied successfully.
I looked further into the HyperVDSC\DSCResources\DSC_VMSwitch\DSC_VMSwitch.psm1 module and made this modification to use the GUID of the interface, as opposed to the InterfaceDescription. The reason for this, is because I have a Windows 2019 Server core Hyper-V cluster node, which has a difference between the InterfaceDescriptions
Lines 244 -> 262
Lines 595 -> 616
Verbose logs
DSC configuration
Suggested solution
Due to the difference in the interface descriptions, I used the provided workaround to use the GUID instead. I'm also unsure why the difference even exists.
Operating system the target node is running
PowerShell version and build the target node is running
HyperVDsc version