terraform-provider-vsphere icon indicating copy to clipboard operation
terraform-provider-vsphere copied to clipboard

Add support for VM virtual NIC in UPT mode (DPU acceleration)

Open cleeistaken opened this issue 1 year ago • 2 comments

Community Guidelines

  • [X] I have read and agree to the HashiCorp Community Guidelines .
  • [X] Vote on this issue by adding a 👍 reaction to the original issue initial description to help the maintainers prioritize.
  • [X] Do not leave "+1" or other comments that do not add relevant information or questions.
  • [ ] If you are interested in working on this issue or have submitted a pull request, please leave a comment.

Description

vSphere 8 introduces network function offload to a DPU through VMware Distributed Services Engine (DSE). To benefit from DPU acceleration, VM virtual NIC must be configured in Universal Pass-Through (UPT) mode. This capability is available in the vSphere API.

To enable UPT mode

  • the VM virtual NIC must be connected to a portgroup on a DPU accelerated DVS
  • the VM must be virtual hardware version 20 or greater
  • the VM memory must be completely reserved

The vsphere_network data source might need an additional attribute to indicate if the network is DPU accelerated.

  • id: The managed object ID of the network.
  • type: The managed object type for the discovered network. This will be one of DistributedVirtualPortgroup for distributed port groups, Network for standard (host-based) port groups, or OpaqueNetwork for networks managed externally, such as those managed by NSX.
  • offloaded: Whether the network is on DPU backed switch (true/false)

Use Case(s)

Deployment of high performance VM taking advantage of DPU acceleration.

Potential Terraform Provider Configuration

data "vsphere_network" "network" {
  name          = "VM Network"
  datacenter_id = data.vsphere_datacenter.datacenter.id
}

memory = 2048
memory_reservation = data.vsphere_network.network.offloaded ? 2048 : 0

network_interface {
    network_id = data.vsphere_network.network.id
    upt_mode = data.vsphere_network.network.offloaded 
    adapter_type = data.vsphere_virtual_machine.template.network_interface_types[0]
  }

References

No response

cleeistaken avatar May 12 '23 02:05 cleeistaken

Hello, cleeistaken! 🖐

Thank you for submitting an issue for this provider. The issue will now enter into the issue lifecycle.

If you want to contribute to this project, please review the contributing guidelines and information on submitting pull requests.

github-actions[bot] avatar May 12 '23 02:05 github-actions[bot]

Marking this issue as stale due to inactivity in the past 180 days. This helps us focus on the active issues. If this issue is reproducible with the latest version of the provider, please comment. If this issue receives no comments in the next 30 days it will automatically be closed. If this issue was automatically closed and you feel this issue should be reopened, we encourage creating a new issue linking back to this one for added context. Thank you!

github-actions[bot] avatar Feb 07 '24 00:02 github-actions[bot]

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

github-actions[bot] avatar Apr 07 '24 02:04 github-actions[bot]