RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1366498 - Failed to save guest with vhostuser network device with mult-queues.
Summary: Failed to save guest with vhostuser network device with mult-queues.
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm-rhev
Version: 7.3
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: rc
: ---
Assignee: Victor Kaplansky
QA Contact: Pei Zhang
URL:
Whiteboard:
Depends On: 1321299 1335865
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-08-12 06:54 UTC by chhu
Modified: 2018-02-06 06:41 UTC (History)
17 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-02-06 06:41:09 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description chhu 2016-08-12 06:54:09 UTC
Description of problems:
Failed to save guest with vhostuser network device with mult-queues.

Version:
libvirt-2.0.0-4.el7.x86_64
qemu-kvm-rhev-2.6.0-19.el7.x86_64
kernel: 3.10.0-489.el7.x86_64
openvswitch-dpdk-2.5.0-4.el7.x86_64
dpdk-2.2.0-3.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1. Start VM in libvirt with vhostuser multi-queues.
# virsh start r7-raw
# virsh list --all
 Id    Name                           State
----------------------------------------------------
 4     r7-raw                         running

# virsh dumpxml r7-raw
<domain type='kvm' id='4'>
  <name>r7-raw</name>
  <uuid>2ccf719b-d968-48e6-a37f-8f3d3b41877a</uuid>
  <memory unit='KiB'>1024000</memory>
  <currentMemory unit='KiB'>1024000</currentMemory>
  <memoryBacking>
    <hugepages>
      <page size='2048' unit='KiB' nodeset='0'/>
    </hugepages>
  </memoryBacking>
  <vcpu placement='static'>4</vcpu>
  <numatune>
    <memory mode='strict' nodeset='0'/>
  </numatune>
......
  <cpu mode='host-model'>
    <model fallback='allow'/>
    <numa>
      <cell id='0' cpus='0-1' memory='1024000' unit='KiB' memAccess='shared'/>
    </numa>
  </cpu>
......
    <interface type='vhostuser'>
      <mac address='52:54:00:bb:25:74'/>
      <source type='unix' path='/var/run/openvswitch/vhost-user1' mode='client'/>
      <model type='virtio'/>
      <driver queues='4'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
......

2. Try to save the guest.
# virsh save r7-raw r7-raw.save
error: Failed to save domain r7-raw to r7-raw.save
error: internal error: unable to execute QEMU command 'migrate': Migration disabled: vhost-user backend lacks VHOST_USER_PROTOCOL_F_LOG_SHMFD feature.

Actual results:
In step2: Try to save the guest failed with error.

Expected results:
In step2: The guest is saved successfully.

Logs in libvirtd:
2016-08-10 04:16:59.345+0000: 21770: debug : qemuMonitorJSONCheckError:376 : unable to execute QEMU command {"execute":"migrate","arguments":{"detach":true,"blk":false,"inc":false,"uri":"fd:migrate"},"id":"libvirt-48"}: {"id":"libvirt-48","error":{"class":"GenericError","desc":"Migration disabled: vhost-user backend lacks VHOST_USER_PROTOCOL_F_LOG_SHMFD feature."}}

Comment 3 Michal Privoznik 2017-03-23 12:18:07 UTC
So, after some examination I don't think this is a libvirt bug. If I understand correctly, the capability that qemu is missing - it's in fact the openvswitch that is missing the capability. Switching to qemu to confirm that.

Comment 4 Victor Kaplansky 2017-06-06 12:44:40 UTC
Looks like openvswitch indeed doesn't set VHOST_USER_PROTOCOL_F_LOG_SHMFD.

Flavio, could you check if this is the case?

Thanks.

Comment 7 Flavio Leitner 2017-08-16 14:11:34 UTC
(In reply to Victor Kaplansky from comment #4)
> Looks like openvswitch indeed doesn't set VHOST_USER_PROTOCOL_F_LOG_SHMFD.
> 
> Flavio, could you check if this is the case?

That was added to DPDK 16.11, so our 2.7.2 package should be ok.


Note You need to log in before you can comment on or make changes to this bug.