SRIOV Support

SRIOV Support

We have a vCenter cluster in our lab, currently two servers, and we have SR-IOV enabled on these two servers at the BIOS level. Each card you enable SR-IOV on becomes a Physical Function (PF), with x number of Virtual Functions (VFs). If this is properly enabled on the servers, vCenter learns/knows this, and will present to you a SR-IOV adaptor type (SRIOV) when you are deploying a virtual machine - the dropdown has [ VMXNET3, E1000, SRIOV ] instead of just the [ VMXNET3, E1000 ] adaptor types to choose from.

We are also deploying a Morpheus Kubernetes Cluster to test with, and the Morpheus K8S uses the Calico CNI and we are planning on adding additional CNIs - Multus, SR-IOV, and OpenVSwitch. It remains to be seen whether the Kubernetes cluster will work in Morpheus with these CNIs as we have not tested them yet. BUT - we cannot deploy a VM with an SR-IOV adaptor type, because Morpheus does not present SR-IOV as an option in the select list.

We really need this to be supported so we can run Telco workloads that want to utilize SR-IOV!

Example/Use case(s):
The trick here is that SRIOV is enabled on the individual hypervisors (hosts) themselves, not the cluster. BUT - most folks put a cluster together that supports SRIOV on all hosts within that cluster. So what you could do, is have a Cloud checkbox “SRIOV Enabled” and if that is checked, it is assumed that SRIOV is enabled on all hosts in that cloud. Alternatively, and perhaps more correctly, you could have a setting on a host that allows you to “flag” it as SRIOV enabled, and if it is flagged this way, the SRIOV adaptor type is presented to the user if they select that specific host. I know you can make a VMWare call to see if SRIOV is enabled on a hypervisor, but when people deploy, if they don’t select a specific host to land on and let Morpheus/vCenter decide, then you need to either make an assumption about whether you allow SRIOV on that VM or not as a dropdown option.