QoS (DSCP Mark IDs) – No correlation between the implemented functionality and design

Bug #1781915 reported by Arkady Shtempler
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
High
Nate Johnston

Bug Description

### General Description ###
There is a “Proposed Change” regarding “QoS DSCP marking support” as it documented in:
http://specs.openstack.org/openstack/neutron-specs/specs/newton/ml2-qos-with-dscp.html

We propose an update to the QoS API and OVS driver to support DSCP marks. Valid DSCP mark values can be between 0 and 56, except 2-6, 42, 44, and 50-54.

### Test scenario ###
1) ssh to your Undercloud host
2) switch to “stack” user with: “su – stack“
3) Source overcloudrc file with: “source overcloudrc”
4) Upload the attached “Check_DSCP_Options.py” Python script (inside the attached *.zip) to your home directory (stack home) and run it with “python Check_DSCP_Options.py” command while monitoring “server.log” on your controller node.

### Expected Result ###
Valid DSCP mark values can be between 0 and 56, except 2-6, 42, 44, and 50-54.

### Actual Result ###
1) Failed DSCP mark IDs:
[1, 2, 3, 4, 5, 6, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 42, 43, 44, 45, 47, 49, 50, 51, 52, 53, 54, 55]

2) As you can see we do have supported and not DSCP Mark IDs, but it has different behavior than expected.

3) You can find the controller “server.log” attached (inside attached *.zip) and you can see there messages like this one:

2018-07-02 15:04:58.535 28 INFO neutron.api.v2.resource [req-74bb7060-b9b2-4542-bd8a-d805a8ff079c b4332e1592ab480f96fc87e5af797895 f3f03848a45746c7bcbe95b625d7e1d8 - default default] update failed (client error): Invalid input for dscp_mark. Reason: 55 is not in valid_values.

for all mentioned IDs:

[ashtempl@ashtempl ~]$ grep -i 'is not in' server.log | cut -d ':' -f5
 1 is not in valid_values.
 2 is not in valid_values.
 3 is not in valid_values.
 4 is not in valid_values.
 5 is not in valid_values.
 6 is not in valid_values.
 7 is not in valid_values.
 9 is not in valid_values.
 11 is not in valid_values
 13 is not in valid_values.
 15 is not in valid_values.
 17 is not in valid_values.
 19 is not in valid_values.
 21 is not in valid_values.
 23 is not in valid_values.
 25 is not in valid_values.
 27 is not in valid_values.
 29 is not in valid_values.
 31 is not in valid_values.
 33 is not in valid_values.
 35 is not in valid_values.
 37 is not in valid_values.
 39 is not in valid_values.
 41 is not in valid_values.
 42 is not in valid_values.
 43 is not in valid_values.
 44 is not in valid_values.
 45 is not in valid_values.
 47 is not in valid_values.
 49 is not in valid_values.
 50 is not in valid_values.
 51 is not in valid_values.
 52 is not in valid_values.
 53 is not in valid_values.
 54 is not in valid_values.
 55 is not in valid_values.

Revision history for this message
Arkady Shtempler (ashtempl) wrote :
tags: added: qos
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/582974

Changed in neutron:
assignee: nobody → Nate Johnston (nate-johnston)
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to neutron-specs (master)

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

Changed in neutron:
importance: Undecided → Critical
importance: Critical → High
Revision history for this message
Manjeet Singh Bhatia (manjeet-s-bhatia) wrote :

seems like only even number with some exception are allowed,
would updating docs be good enough ?

tags: added: doc
Revision history for this message
Nate Johnston (nate-johnston) wrote :

@manjeets yes I believe that an update to the documentation is sufficient. The valid DSCP marks were not spelled out with sufficient specificity in the original spec, and have not since been added to the Networking Guide. I believe the changes I have suggested address those deficiencies.

Thanks!

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

Reviewed: https://review.openstack.org/582974
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=b935f9d9a7c7bc872b49d66ce6ee586283ce69c0
Submitter: Zuul
Branch: master

commit b935f9d9a7c7bc872b49d66ce6ee586283ce69c0
Author: Nate Johnston <email address hidden>
Date: Mon Jul 16 11:26:20 2018 -0400

    Add list of all working DSCP marks

    There is no place in the documentation that explicitly lists the valid
    DSCP marks, except for an incomplete hint in the DSCP spec in
    neutron-specs. This provides an explicit list.

    Change-Id: Ic350c88e59c33d98b54086707c9add05cf137dc2
    Closes-Bug: #1781915

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

Reviewed: https://review.openstack.org/582979
Committed: https://git.openstack.org/cgit/openstack/neutron-specs/commit/?id=a728b8a64280d7e673169cdb26f95f5f3df38ec6
Submitter: Zuul
Branch: master

commit a728b8a64280d7e673169cdb26f95f5f3df38ec6
Author: Nate Johnston <email address hidden>
Date: Mon Jul 16 11:03:31 2018 -0400

    Add list of all working DSCP marks

    The QoS DSCP spec is not terribly specific about what DSCP marks are
    valid. This change makes it explicit.

    This spec is quite old. But since there has been no other place in the
    documentation that explicitly lists what the valid DSCP marks are,
    updating this in case people use it as documentation.

    Change-Id: Ieec3e238b8d404e46c49b5a1a0fdaf695fff4252
    Related-Bug: #1781915

tags: added: neutron-proactive-backport-potential
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (stable/queens)

Fix proposed to branch: stable/queens
Review: https://review.openstack.org/584311

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

Fix proposed to branch: stable/pike
Review: https://review.openstack.org/584312

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 13.0.0.0b3

This issue was fixed in the openstack/neutron 13.0.0.0b3 development milestone.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (stable/queens)

Reviewed: https://review.openstack.org/584311
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=55d90d99125451a27d0b8241407fc50bb8ba99bf
Submitter: Zuul
Branch: stable/queens

commit 55d90d99125451a27d0b8241407fc50bb8ba99bf
Author: Nate Johnston <email address hidden>
Date: Mon Jul 16 11:26:20 2018 -0400

    Add list of all working DSCP marks

    There is no place in the documentation that explicitly lists the valid
    DSCP marks, except for an incomplete hint in the DSCP spec in
    neutron-specs. This provides an explicit list.

    Change-Id: Ic350c88e59c33d98b54086707c9add05cf137dc2
    Closes-Bug: #1781915
    (cherry picked from commit b935f9d9a7c7bc872b49d66ce6ee586283ce69c0)

tags: added: in-stable-queens
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (stable/pike)

Reviewed: https://review.openstack.org/584312
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=ed4a70c9eaa347c4775ab8cd9f336ca1579b9336
Submitter: Zuul
Branch: stable/pike

commit ed4a70c9eaa347c4775ab8cd9f336ca1579b9336
Author: Nate Johnston <email address hidden>
Date: Mon Jul 16 11:26:20 2018 -0400

    Add list of all working DSCP marks

    There is no place in the documentation that explicitly lists the valid
    DSCP marks, except for an incomplete hint in the DSCP spec in
    neutron-specs. This provides an explicit list.

    Change-Id: Ic350c88e59c33d98b54086707c9add05cf137dc2
    Closes-Bug: #1781915
    (cherry picked from commit b935f9d9a7c7bc872b49d66ce6ee586283ce69c0)

tags: added: in-stable-pike
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 12.0.4

This issue was fixed in the openstack/neutron 12.0.4 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 11.0.6

This issue was fixed in the openstack/neutron 11.0.6 release.

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.