diff --git a/nova/tests/unit/virt/libvirt/test_vif.py b/nova/tests/unit/virt/libvirt/test_vif.py index 987dc8a5c038..25aca122cc79 100644 --- a/nova/tests/unit/virt/libvirt/test_vif.py +++ b/nova/tests/unit/virt/libvirt/test_vif.py @@ -839,12 +839,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 dacb7252258b..15e7fabdb1b1 100644 --- a/nova/virt/libvirt/vif.py +++ b/nova/virt/libvirt/vif.py @@ -65,6 +65,7 @@ SUPPORTED_VIF_MODELS = { 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': [ @@ -73,6 +74,7 @@ SUPPORTED_VIF_MODELS = { 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, 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.