Support QoS DSCP marking rule

Registered by Margaret Frances

Summary
==========
After the blueprint https://blueprints.launchpad.net/horizon/+spec/network-bandwidth-limiting-qos is implemented, Horizon will support QoS along with one rule type (bandwith limiting). We propose adding the DSCP rule type in Horizon to provide the DSCP marking functionality that is supported in Mitaka.

Motivation
==========
DSCP marking has many use cases including congestion reduction and avoidance by means of traffic class prioritization; security; filtering; and routing.

Description :
=========
OpenStack’s QoS design contains the following conceptual resources relevant to this blueprint:

QoS policy
QoS rule
QoS DSCP marking rule

A policy contains zero or more rules and may be applied to a network or a port, at which point all rules of the policy are applied to the network or port, if possible. A QoS rule is an abstraction whose current implementations are the QoS bandwidth limit rule and the QoS DSCP marking rule. When a policy containing a DSCP marking rule is applied to an OVS port, neutron’s OVS agent will configure OVS to update its flow table entries so that the requested mark will be applied to egress traffic—that is, packets entering that OVS port from the VM.

UX
===
With this change, the end-user will be able to manage QoS DSCP marking rules through Horizon, which will offer the DSCP-related functionality currently available through the neutron CLI. The DSCP implementation in Horizon will piggy-back current development efforts that implement QoS policy management in Horizon. This new effort combined with the aforementioned one will enable full life-cycle management of the QoS DSCP marking rule:

[1] Create a QoS policy
[2] Create a DSCP marking rule for a QoS policy
[3] Show a DSCP marking rule for a QoS policy
[4] Apply a QoS policy to a port or network
[5] Update a DSCP marking rule (by changing the mark value)
[6] Delete a DSCP marking rule from a QoS policy
[7] Remove a QoS policy from a network or a port
[8] Delete a QoS policy

Of those, the following use cases will be handled by the changes associated with this blueprint:
[2] Create a DSCP marking rule for a QoS policy
[3] Show a DSCP marking rule for a QoS policy
[5] Update a DSCP marking rule (by changing the mark value)
[6] Delete a DSCP marking rule from a QoS policy

Doc Impact
=========
The following guide will need to be updated to include information about DSCP marking rule management: http://docs.openstack.org/user-guide-admin/dashboard.html

Testing
======

- API Tests
- Integration Tests

Outside Dependencies
==================

Addressed by: https://review.openstack.org/247997
    Implement angular QoS panel in Horizon

Addressed by: https://review.openstack.org/272928
    Implement "add QoS policy" use case in Horizon

Addressed by: https://review.openstack.org/259022
    Implement "update QoS policy" use case in Horizon

Addressed by: https://review.openstack.org/280541
    Implement "attach QoS policy to network" use case in Horizon

Addressed by: <tbd>
    Implement "attach QoS policy to port" use case in Horizon

Requirements Update Required
=======================
None

Reference Links:
=============

https://blueprints.launchpad.net/horizon/+spec/network-bandwidth-limiting-qos

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
Margaret Frances
Direction:
Needs approval
Assignee:
Margaret Frances
Definition:
Obsolete
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
Cindy Lu

Related branches

Sprints

Whiteboard

10.28.2016 [clu_] no work done on it. Please reopen if needed.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.