diff --git a/nova/tests/unit/virt/libvirt/test_vif.py b/nova/tests/unit/virt/libvirt/test_vif.py index 41e9853e0ff9..4d4168bcc714 100644 --- a/nova/tests/unit/virt/libvirt/test_vif.py +++ b/nova/tests/unit/virt/libvirt/test_vif.py @@ -835,12 +835,14 @@ class LibvirtVifTestCase(test.NoDBTestCase): network_model.VIF_MODEL_PCNET, network_model.VIF_MODEL_RTL8139, network_model.VIF_MODEL_E1000, + network_model.VIF_MODEL_E1000E, network_model.VIF_MODEL_SPAPR_VLAN) else: supported = (network_model.VIF_MODEL_NE2K_PCI, network_model.VIF_MODEL_PCNET, network_model.VIF_MODEL_RTL8139, network_model.VIF_MODEL_E1000, + network_model.VIF_MODEL_E1000E, network_model.VIF_MODEL_SPAPR_VLAN) for model in supported: image_meta = objects.ImageMeta.from_dict( diff --git a/nova/virt/libvirt/vif.py b/nova/virt/libvirt/vif.py index 209647b062ed..57ea1a73825e 100644 --- a/nova/virt/libvirt/vif.py +++ b/nova/virt/libvirt/vif.py @@ -71,6 +71,7 @@ def is_vif_model_valid_for_virt(virt_type, vif_model): network_model.VIF_MODEL_PCNET, network_model.VIF_MODEL_RTL8139, network_model.VIF_MODEL_E1000, + network_model.VIF_MODEL_E1000E, network_model.VIF_MODEL_LAN9118, network_model.VIF_MODEL_SPAPR_VLAN], 'kvm': [network_model.VIF_MODEL_VIRTIO, @@ -78,6 +79,7 @@ def is_vif_model_valid_for_virt(virt_type, vif_model): network_model.VIF_MODEL_PCNET, network_model.VIF_MODEL_RTL8139, network_model.VIF_MODEL_E1000, + network_model.VIF_MODEL_E1000E, network_model.VIF_MODEL_SPAPR_VLAN], 'xen': [network_model.VIF_MODEL_NETFRONT, network_model.VIF_MODEL_NE2K_PCI, diff --git a/releasenotes/notes/bug-1882919-support-e1000e-vif-5437a45c13dff978.yaml b/releasenotes/notes/bug-1882919-support-e1000e-vif-5437a45c13dff978.yaml new file mode 100644 index 000000000000..1e316c1f2337 --- /dev/null +++ b/releasenotes/notes/bug-1882919-support-e1000e-vif-5437a45c13dff978.yaml @@ -0,0 +1,7 @@ +--- +fixes: + - | + Previously, attempting to configure an instance with the ``e1000e`` or + legacy ``VirtualE1000e`` VIF types on a host using the QEMU/KVM driver + would result in an incorrect ``UnsupportedHardware`` exception. These + interfaces are now correctly marked as supported.