failed to boot guest with vnic_type direct when rx_queue_size, tx_queue_size and hw_vif_type are set
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Medium
|
Stephen Finucane |
Bug Description
Bug #1789074 addressed an issue with booting a guest with vnic_type direct when rx_queue_size and tx_queue_size. However, this failed to address an additional permutation: the user specifying hw_vif_type=virtio. If the user does this, the problem occurs once again.
Reproduction steps are the same noted in bug #1789074 with one additional step needed:
openstack image set --property hw_vif_type=virtio $IMAGE
Once configured, boot an instance with this image and an SRIOV (PF or VF) interface and the instance will fail to spawn. This is because we first read and set the VIF model from the image metadata property:
Which means a later check passes:
Without setting this property, that check would fail as we never configure the model for direct SR-IOV interfaces.
Changed in nova: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
milestone: | none → stein-1 |
assignee: | nobody → Stephen Finucane (stephenfinucane) |
tags: | added: libvirt neutron pci |
Changed in nova: | |
milestone: | stein-1 → none |
The obvious fix would be to only retrieve the vif type from the image if the VIF is not a direct passthrough. However, there might be more complications to it than this (some SR-IOV NICs provide a virtio interface, I'm told).