Setting a policy to a network will limit the router/dhcp/net-device ports, that's not expected

Bug #1486039 reported by Miguel Angel Ajo
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
neutron
Fix Released
High
Miguel Angel Ajo

Bug Description

For example:

1) You set your private network to a qos policy 'X', limiting egress BW to 1Mbps
2) You create your router, the internal leg gets plugged to the internal network

The internal leg will be limited to egress 1Mbps, which is actually limiting the network in general for ingress 1Mbps.

same for dhcp ports, etc.

Setting a router or network device limit or QoS setting could be desired, and that should be addressed by specifically setting it to the specific network device port.

NOTE: we should give a thought to this on next meeting, for example other rules like DSCP marking could make sense for router ports, where bandwidth limit don't make sense.

Revision history for this message
Assaf Muller (amuller) wrote :

Should we actually be applying the bandwidth limitation rules on router ports at all?

Revision history for this message
Kevin Benton (kevinbenton) wrote :

I can see some use cases for applying it to a router.

Applying a limitation on the external network that limits all of the routers attached to it would be a nice way for an admin to make sure each tenant only gets a certain amount of bandwidth regardless of the number of VMs they have.

Revision history for this message
yong sheng gong (gongysh) wrote :

@kevinbenton, do u mean the bandwidth on qgx--- device if there is a limitation on the external network?

Revision history for this message
Miguel Angel Ajo (mangelajo) wrote :

@kevin, I buy your use case.

How does this plan sound:

1) Avoid network devices for network attached policies (at least for BW, other rules will be up to discussion).
2) Later on (M), we could add a field to rules meaning ""apply to network devices when attached through network" (I cannot find a simple name for it , yikes!)

and in the meanwhile, admin should be able to target external port of the routers directly, but that would require manual scan and set of ports...

This would fix the issue with bandwidth limiting in private networks, and in the future allow your use case?

sounds reasonable?

Changed in neutron:
assignee: nobody → Miguel Angel Ajo (mangelajo)
Revision history for this message
Miguel Angel Ajo (mangelajo) wrote :

other option could be applying when it's an external network, but in that case may be we're adding too many corner cases?.

Assaf Muller (amuller)
Changed in neutron:
importance: Undecided → High
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

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

Changed in neutron:
status: New → In Progress
Changed in neutron:
milestone: none → liberty-rc1
Revision history for this message
Kyle Mestery (mestery) wrote :

The patch in question is marked as WIP. I'm willing to leave this as RC1 for now, but it's not gonna stay in RC1 if the patch isn't ready by the end of the week.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to neutron (master)

Reviewed: https://review.openstack.org/214218
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=cc698b2ba578e5bc1475f6229bfebd1316c41ffb
Submitter: Jenkins
Branch: master

commit cc698b2ba578e5bc1475f6229bfebd1316c41ffb
Author: Moshe Levi <email address hidden>
Date: Mon Aug 10 12:25:59 2015 +0300

    QoS agent extension and driver refactoring

    Moved some code common to all drivers into base
    qos driver abstract class, so related bugfixes go all in one
    place and we simplify the logic for every qos drivers.

    Port/Policy mapping moved out to a separate class.

    Support delete per rule_type or delete all rules.

    Related-bug: #1486039

    Co-Authored-By: Miguel Angel Ajo <email address hidden>
    Partially-Implements: blueprint ml2-qos
    Change-Id: Ia9d8638b9268b5aa8512cbb9d001413751f82649

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to neutron (feature/pecan)

Related fix proposed to branch: feature/pecan
Review: https://review.openstack.org/224334

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

Reviewed: https://review.openstack.org/220164
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=fe236bdaadb949661a0bfb9b62ddbe432b4cf5f1
Submitter: Jenkins
Branch: master

commit fe236bdaadb949661a0bfb9b62ddbe432b4cf5f1
Author: Miguel Angel Ajo <email address hidden>
Date: Thu Sep 3 15:40:12 2015 +0200

    No network devices on network attached qos policies

    Network devices, like internal router legs, or dhcp ports
    should not be affected by bandwidth limiting rules.

    This patch disables application of network attached policies
    to network/neutron owned ports.

    Closes-bug: #1486039
    DocImpact

    Change-Id: I75d80227f1e6c4b3f5fa7762b8dc3b0c0f1abd46

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (feature/pecan)

Fix proposed to branch: feature/pecan
Review: https://review.openstack.org/224357

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (feature/pecan)
Download full text (73.6 KiB)

Reviewed: https://review.openstack.org/224357
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=fdc3431ccd219accf6a795079d9b67b8656eed8e
Submitter: Jenkins
Branch: feature/pecan

commit fe236bdaadb949661a0bfb9b62ddbe432b4cf5f1
Author: Miguel Angel Ajo <email address hidden>
Date: Thu Sep 3 15:40:12 2015 +0200

    No network devices on network attached qos policies

    Network devices, like internal router legs, or dhcp ports
    should not be affected by bandwidth limiting rules.

    This patch disables application of network attached policies
    to network/neutron owned ports.

    Closes-bug: #1486039
    DocImpact

    Change-Id: I75d80227f1e6c4b3f5fa7762b8dc3b0c0f1abd46

commit db4a06f7caa20a4c7879b58b20e95b223ed8eeaf
Author: Ken'ichi Ohmichi <email address hidden>
Date: Wed Sep 16 10:04:32 2015 +0000

    Use tempest-lib's token_client

    Now tempest-lib provides token_client modules as library and the
    interface is stable. So neutron repogitory doesn't need to contain
    these modules.
    This patch makes neutron use tempest-lib's token_client and removes
    the own modules for the maintenance.

    Change-Id: Ieff7eb003f6e8257d83368dbc80e332aa66a156c

commit 78aed58edbe6eb8a71339c7add491fe9de9a0546
Author: Jakub Libosvar <email address hidden>
Date: Thu Aug 13 09:08:20 2015 +0000

    Fix establishing UDP connection

    Previously, in establish_connection() for UDP protocol data were sent
    but never read on peer socket. That lead to successful read on peer side
    if this connection was filtered. Having constant testing string masked
    this issue as we can't distinguish to which test of connectivity data
    belong.

    This patch makes unique data string per test_connectivity() and
    also makes establish_connection() to create an ASSURED entry in
    conntrack table. Finally, in last test after firewall filter was
    removed, connection is re-established in order to avoid troubles with
    terminated processes or TCP continuing sending packets which weren't
    successfully delivered.

    Closes-Bug: 1478847
    Change-Id: I2920d587d8df8d96dc1c752c28f48ba495f3cf0f

commit e6292fcdd6262434a7b713ad8802db6bc8a6d3dc
Author: YAMAMOTO Takashi <email address hidden>
Date: Wed Sep 16 13:20:51 2015 +0900

    ovsdb: Fix a few docstring

    Change-Id: I53e1e21655b28fe5da60e58aeeb7cbbd103ae014

commit c22949a4449d96a67caa616290cf76b67b182917
Author: fumihiko kakuma <email address hidden>
Date: Wed Sep 16 11:52:59 2015 +0900

    Remove requirements.txt for the ofagent mechanism driver

    It is no longer used.

    Related-Blueprint: core-vendor-decomposition
    https://blueprints.launchpad.net/neutron/+spec/core-vendor-decomposition

    Change-Id: Ib31fb3febf8968e50d86dd66e1e6e1ea2313f8ac

commit d1d4de19d85f961d388c91e70f31b3bafec418c5
Author: Kevin Benton <email address hidden>
Date: Thu Sep 3 20:25:57 2015 -0700

    Always return iterables in L3 get_candidates

    The caller of this function expects iterables.

    Closes-Bug: #1494996
    Change-Id: I3d103e63f4e127a77268502415c0ddb0d804b54a

commit 1ad6ac448067306...

tags: added: in-feature-pecan
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on neutron (feature/pecan)

Change abandoned by Doug Wiegley (<email address hidden>) on branch: feature/pecan
Review: https://review.openstack.org/224334

Thierry Carrez (ttx)
Changed in neutron:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in neutron:
milestone: liberty-rc1 → 7.0.0
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to neutron (master)

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

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to neutron (master)

Reviewed: https://review.openstack.org/425218
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=2d1ee7add7c08ebbf8de7f9a0dc2aeb5344a4052
Submitter: Jenkins
Branch: master

commit 2d1ee7add7c08ebbf8de7f9a0dc2aeb5344a4052
Author: Maxime Guyot <email address hidden>
Date: Wed Mar 8 15:14:32 2017 +0100

    Apply QoS policy on network:router_gateway

    All router ports (internal and external) used to be excluded from QoS
    policies applied on network. This patch excludes only internal router
    ports from network QoS policies.
    This allows cloud administrators to set an egress QoS policy to a
    public/external network and have the QoS policy applied on all external
    router ports (DVR or not). To the tenant this is also egress traffic so
    no confusion compared to QoS policies applied to VM ports.

    DocImpact

    Update networking-guide/config-qos, User workflow section:
    - Replace "Network owned ports" with "Internal network owned ports"

    Change-Id: I2428c2466f41a022196576f4b14526752543da7a
    Closes-Bug: #1659265
    Related-Bug: #1486039

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.