Bandwidth limits specified in flavors are not applied to generic vHost User interfaces

Bug #1814882 reported by Stephen Finucane
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
Medium
Stephen Finucane

Bug Description

Libvirt supports setting bandwidth limits for various VIF types.

  https://github.com/openstack/nova/blob/bcfd2439bab7cfad942d7e6a187df6edb1d1bf09/nova/virt/libvirt/vif.py#L576

This is supported by pretty much all VIF types including vHost User interfaces defined by os-vif. However, generic vHost user interfaces do not set this field. This is a mistake and should be corrected.

UPDATE: It appears the opposite is true. We're setting this for vhostuser interfaces but shouldn't be. See discussion starting at [1].

[1] http://eavesdrop.openstack.org/irclogs/%23openstack-nova/%23openstack-nova.2019-02-06.log.html#t2019-02-06T16:28:10

Tags: libvirt
description: updated
Matt Riedemann (mriedem)
tags: added: libvirt
Changed in nova:
status: New → Confirmed
importance: Undecided → Medium
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

Fix proposed to branch: master
Review: https://review.openstack.org/635170

Changed in nova:
assignee: nobody → Stephen Finucane (stephenfinucane)
status: Confirmed → In Progress
description: updated
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to nova (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/636383

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/635170
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=f651ebc0ceeca70aba8c0f7e5054f598e491c848
Submitter: Zuul
Branch: master

commit f651ebc0ceeca70aba8c0f7e5054f598e491c848
Author: Stephen Finucane <email address hidden>
Date: Wed Feb 6 14:00:51 2019 +0000

    Don't set bandwidth limits for vhostuser, hostdev interfaces

    'tc' [1] is used for rate limiting in libvirt. This is suitable for tap
    devices but not for the sockets used by vhostuser interface or for
    physical devices; rate limiting for these interfaces must be done in the
    vSwitch or via the interface itself. For this reason, libvirt explicitly
    marks these interfaces, along with some other interfaces types, as not
    supporting bandwidth limiting [2]. Given that there is no reason to be
    setting the bandwidth-related attributes on vhostuser or hostdev
    interfaces, we should stop doing it.

    [1] http://man7.org/linux/man-pages/man8/tc.8.html
    [2] https://github.com/libvirt/libvirt/blob/568a41722/src/conf/netdev_bandwidth_conf.h#L38

    Change-Id: Id57e4c149616fe0896e80fca322ece79ec3bfd69
    Closes-Bug: #1814882

Changed in nova:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to nova (master)

Reviewed: https://review.openstack.org/636383
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=d4f50979fc8ea02ee8e9f8425c2eeedc322791e8
Submitter: Zuul
Branch: master

commit d4f50979fc8ea02ee8e9f8425c2eeedc322791e8
Author: Stephen Finucane <email address hidden>
Date: Tue Feb 12 16:21:33 2019 +0000

    Validate bandwidth configuration for other VIF types

    Multiple VIF types support bandwidth configuration but this was not
    being tested. Do this, DRY'ing the tests in the process.

    Change-Id: Icc903834eee59993d89bd20eec39f67134353293
    Related-Bug: #1814882

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/nova 19.0.0.0rc1

This issue was fixed in the openstack/nova 19.0.0.0rc1 release candidate.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.