Skip to content

Add support for vSphere Dynamic DirectPath I/O #268

@kshivakumar-nvidia

Description

@kshivakumar-nvidia

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request.
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request.
If you are interested in working on this issue or have submitted a pull request, please leave a comment.

Description

Assignable Hardware in vSphere 7 provides a flexible mechanism to assign hardware accelerators to workloads. This mechanism identifies the hardware accelerator by attributes of the device rather than by its hardware address.

This allows for a level of abstraction of the PCIe device. Assignable Hardware implements compatibility checks to verify that ESXi hosts have assignable devices available to meet the needs of the virtual machine.

I have submitted pull request: #263

Use Case(s)

Dynamic DirectPath I/O helps by providing the same functionality as ‘legacy’ DirectPath I/O, but does not pin a workload/VM to a host. This brings back HA and DRS Initial placement to VM’s configured for latency sensitive VM workload.

Adding support for vsphere-iso brings support for creating vSphere packer template with assignable Hardware accelerator pci device.

If user wants to create a vSphere packer template for Hardware Accelerated workload, it would require installing and configuring vSphere during creating initial Template.

Potential configuration

source "vsphere-iso" "example" {
vcenter_server = var.vsphere_server
username = var.vsphere_username
password = var.vsphere_password
datacenter = var.vsphere_datacenter
cluster = var.vsphere_cluster
datastore = var.vsphere_datastore
network = var.vsphere_network
iso_paths = [var.iso_path]
iso_checksum = var.iso_checksum
iso_checksum_type = "sha256"
ssh_username = var.ssh_username
ssh_password = var.ssh_password
guest_os_type = "windows9Server64Guest"
disk_controller_type = "pvscsi"
disk_size = "60000"
vm_name = "my-vm"
floppy_files = ["path/to/floppyfile.txt"]

pci_passthrough_allowed_device {
"vendor_id": "8086",
"device_id": "100e",
"sub_device_id": "8086",
"sub_vendor_id": "100e"
}

}

Potential References

https://docs.nvidia.com/networking/m/view-rendered-page.action?abstractPageId=25146879

Metadata

Metadata

Labels

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions