summaryrefslogtreecommitdiffstats
path: root/networking-odl/doc/source/specs/qos-driver.rst
diff options
context:
space:
mode:
Diffstat (limited to 'networking-odl/doc/source/specs/qos-driver.rst')
-rw-r--r--networking-odl/doc/source/specs/qos-driver.rst104
1 files changed, 104 insertions, 0 deletions
diff --git a/networking-odl/doc/source/specs/qos-driver.rst b/networking-odl/doc/source/specs/qos-driver.rst
new file mode 100644
index 0000000..d2faad1
--- /dev/null
+++ b/networking-odl/doc/source/specs/qos-driver.rst
@@ -0,0 +1,104 @@
+==========================================
+Quality of Service Driver for OpenDaylight
+==========================================
+
+This spec describes the plan to implement quality of service driver for
+OpenDaylight Controller.
+
+Problem Statement
+=================
+OpenStack networking project (neutron [1]) have a extension plugin implemented
+and which expose api for quality of service that can be also be implemented by
+any backend networking service provider to support QoS. These APIs provide a
+way to integrate OpenStack Neutron QoS with any of the backend QoS providers.
+OpenDaylight will provide backend for existing functionalities in neutron-QoS.
+A notification driver is needed for integration of existing api in Openstack
+neutron for QoS with OpenDaylight backend.
+
+Proposed Change
+===============
+This change will introduce a new notification driver in networking-odl that
+will take CRUD requests data for QoS policies from OpenStack neutron and notify
+the OpenDaylight controller about the respective operation.
+
+Detailed Design
+===============
+To enable the formal end to end integration between OpenStack QoS and
+OpenDaylight requires an networking-odl QoS notification driver. QoS driver
+will act as a shim layer between OpenStack and OpenDaylight that will carry
+out following task:
+
+#. After getting QoS policy request data from neutron, It will log a operation
+ request in opendaylightjournal table.
+
+#. The operation will be picked from opendaylightjournal table and a rest call
+ for notifying OpenDaylight server will be prepared and sent.
+
+#. This request will processed by neutron northbound in OpenDaylight.
+The OpenDaylight neutron northbound project. These models will be based
+on the existing neutron qos plugin APIs.
+
+QoS providers in OpenDaylight can listen to these OpenDaylight Neutron
+Northbound QoS models and translate it to their specific yang models for QoS.
+The following diagram shows the high level integration between OpenStack and
+the OpenDaylight QoS provider::
+
+ +---------------------------------------------+
+ | OpenStack Network Server (neutron qos) |
+ | |
+ | +---------------------+ |
+ | | networking-odl | |
+ | | | |
+ | | +---------------| |
+ | | | Notification | |
+ | | | driver QoS | |
+ +----------------------|----------------------+
+ |
+ | Rest Communication
+ |
+ OpenDaylight Controller |
+ +-----------------------|------------+
+ | +----------V----+ |
+ | ODL | QoS Yang Model| |
+ | Northbound | | |
+ | (neutron) +---------------+ |
+ | | |
+ | | |
+ | ODL +----V----+ |
+ | Southbound | QoS | |
+ | (neutron) +---------+ |
+ +-----------------|------------------+
+ |
+ |
+ +------------------------------------+
+ | Network/OVS |
+ | |
+ +------------------------------------+
+
+In the above diagram, the OpenDaylight components are shown just to understand
+the overall architecture, but it's out of scope of this spec's work items.
+This spec will only track progress related to networking-odl notification QoS
+driver work.
+
+Dependencies
+============
+It has a dependency on OpenDaylight Neutron Northbound QoS yang models, but
+that is out of scope of this spec.
+
+Impact
+======
+None
+
+Assignee(s)
+===========
+
+Following developers will be the initial contributor to the driver, but we
+will be happy to have more contributor on board.
+
+* Manjeet Singh Bhatia (manjeet.s.bhatia@intel.com, irc: manjeets)
+
+References
+==========
+
+[1] http://docs.openstack.org/developer/neutron/devref/quality_of_service.html
+[2] https://wiki.opendaylight.org/view/NeutronNorthbound:Main