Open rfiodv opened 1 week ago
The Intersight UI is using the bulk/Requests API resource to configure for VXLAN and VMQ in a single call. Here's an example of what that should look like in PowerShell: $Organization1 = Get-IntersightOrganizationOrganization -Moid "6418bfd46972652d30a596ef" | Get-IntersightMoMoRef $mo1 = New-IntersightVnicLanConnectivityPolicy -AzureQosEnabled $false -IqnAllocationType "None" -IqnPool $null -Name "vxlan-vmq" -Organization $Organization1 -PlacementMode "Custom" -StaticIqnName "" -Tags @() -TargetPlatform "FIAttached" $Body2 = ConvertFrom-Json -InputObject '{"Cdn":{"Source":"vnic"},"EthAdapterPolicy":"64f0b7af325865c901f1f849","EthQosPolicy":"64f0b79c325865c901f1f111","FabricEthNetworkControlPolicy":"64f0b7876f62693001f2be0e","FabricEthNetworkGroupPolicy":["64f0b7706f62693001f2b585"],"FailoverEnabled":false,"LanConnectivityPolicy":"673637544625e5d20111bd06","MacAddressType":"POOL","MacPool":"64f0b7526962753101f2ddc5","Name":"eth-test","Order":0,"Placement":{"AutoPciLink":true,"AutoSlotId":true,"SwitchId":"A"},"VmqSettings":{"Enabled":true,"MultiQueueSupport":true,"NumSubVnics":64,"VmmqAdapterPolicy":"64f0b7af325865c901f1f849"}}' $Requests12 = Initialize-IntersightBulkRestSubRequest -Body $Body2 -ObjectType "BulkRestSubRequest" -ClassId "BulkRestSubRequest"
$mo2 = New-IntersightBulkRequest -Requests @($Requests12) -Uri "/v1/vnic/EthIfs" -Verb "POST"
The example above was auto generated and the request body isn't correct. I'll work a corrected example and post once it's working.
Corrected example that is working is now posted to https://github.com/CiscoDevNet/intersight-powershell-utils/blob/main/policy-examples/vxlan-vmq-lan-connectivity.ps1
Describe the bug If you try to set VMQ settings via Powershell and you use the adapter policy Win-HPN, you get an error message (see below) “Cannot enable VXLAN and VMQ simultaneously on Virtual Ethernet Interface” The whole behavior only occurs with the Powershell, if you do the whole thing via the Intersight WebUI, this operation works without problems. What is the problem for us now is that we need this setting to be set automatically and according to the Cisco instructions it is also intended. https://www.cisco.com/c/en/us/td/docs/unified_computing/ucs/ucs-manager/GUI-User-Guides/Network-Mgmt/4-3/b_UCSM_Network_Mgmt_Guide_4_3/b_UCSM_Network_Mgmt_Guide_chapter_01010.html Chapter VMMQ Connection Policy
Translated with DeepL.com (free version)
To Reproduce Steps to reproduce the behavior
PowerShell code snippet (when possible) `$vmqsetting = Initialize-IntersightVnicVmqSettings -Enabled $true -NumSubVnics 64 -VmmqAdapterPolicy "MQ"
$vnic = New-IntersightVnicEthIf -Cdn $Cdn -Name "vNIC0" -MacPool $MACPool -EthAdapterPolicy $EthAdapterPolicyRef -EthQosPolicy $EthQoSRef -FabricEthNetworkControlPolicy $EthNetworkControlPolicyRef -FabricEthNetworkGroupPolicy @($EthNetworkGroupPolicyRef) -Placement $vNICPlacement -LanConnectivityPolicy $LanConnectivityRef -PinGroupName $PinGroupName -VmqSettings $vmqsetting
Line | 77 | … $vnic = New-IntersightVnicEthIf -Cdn $Cdn -Name "vNIC0" -M … |
~~~~~~~~~~~~~ | Error calling CreateVnicEthIf: {"code":"InvalidRequest","message":"Cannot enable VXLAN and VMQ simultaneously on Virtual Ethernet Interface | 'vNIC0'.","messageId":"ethif_vxlan_vmq_enabled","messageParams":{"1":"vNIC0"},"traceId":"shortened"}` Version used
Expected behavior Able to Set VMQ Settings while Win-HPN Adapter Policy is used.
Screenshots Screenshot from the Intersight UI with manuelly added VMQ Settings