libvirt: Snapshot and resume does not work for instances with some SR-IOV ports
Bug #1563874 reported by
Nikola Đipanov
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Medium
|
Stephen Finucane |
Bug Description
libvirt driver methods that are used for determining whether a port is an SR-IOV port do not check properly for all possible SR-IOV port types:
should be checking for VNIC_TYPES_SRIOV instead.
This affects snapshot and suspend/resume functionality provided by the libvirt driver, for instances using non-direct flavors of SR-IOV
tags: | added: libvirt pci |
Changed in nova: | |
importance: | Undecided → Medium |
status: | New → Confirmed |
summary: |
- libvirt: Snapshot and resume wont' work for instances with some SR-IOV - ports + libvirt: Snapshot and resume does not work for instances with some SR- + IOV ports |
tags: | added: sriov |
Changed in nova: | |
assignee: | Moshe Levi (moshele) → Stephen Finucane (stephenfinucane) |
To post a comment you must log in.
currently we have 2 SR-IOV 'fa:16: 3e:0f:bb: 1f'/> 'fa:16: 3e:5c:6b: 21'/> gh'/>
direct port which is direct attachment of the VF to the guest
<interface type='hostdev' managed='yes'>
<mac address=
<driver name='kvm'/>
<source>
<address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x7'/>
</source>
<vlan>
<tag id='140'/>
</vlan>
<alias name='hostdev0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</interface>
and macvtap which is a tap device connected to VF
<interface type='direct'>
<mac address=
<source dev='p1p7' mode='passthrou
<target dev='macvtap0'/>
<model type='virtio'/>
<driver name='vhost'/>
<alias name='net0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
for macvtap the guest don't see the pci device so we don't need to detach pci on suspend
I think we just need check if it a direct port as it was before https:/ /review. openstack. org/#/c/ 262341/ 7/nova/ virt/libvirt/ driver. py /github. com/openstack/ nova/blob/ f15d9a9693b1939 3fcde84cf4bc6f0 44d39ffdca/ nova/virt/ libvirt/ driver. py#L3423
instead of https:/