Spec for the brocade lbaas driver based on v2 lbaas data model

Change-Id: I73cf24b20ed93ea2f069f3b54e7d1e9070fe8fc4
This commit is contained in:
Pattabi Ayyasami 2014-12-11 21:47:04 -05:00
parent 9f1c874e66
commit 8137f2cd13
1 changed files with 195 additions and 0 deletions

View File

@ -0,0 +1,195 @@
===================================================
Brocade LBaaS Plugin Driver (v2 Data Model Support)
===================================================
Problem Description
===================
URL of the launchpad blueprint:
https://blueprints.launchpad.net/neutron/+spec/neutron-brocade-lbaas-driver
Brocade LBaaS Plugin and Driver for the Brocade ADX Load Balancer Devices
for the LBaaS in Neutron.
Proposed Change
===============
The driver will implement the interfaces according to the driver interfaces
mentioned in the spec https://review.openstack.org/100690
for the blueprint
https://blueprints.launchpad.net/neutron/+spec/lbaas-objmodel-driver-changes
The following managers will be implemented:
* LoadBalancerManager
* ListenerManager
* PoolManager
* MemberManager
* HealthMonitorManager
Implementation is composed of Plugin Driver and Brocade Device Driver.
Brocade LBaaS Plugin Driver extends/implements the driver interfaces
as mentioned above and forwards the request to the device driver.
The device driver communicates with the Brocade ADX Load Balancer
Device (Physical and Virtual) via SOAP/XML APIs.
The device driver use SUDs python module for the SOAP/XML API calls.
Supported Features
Protocols: HTTPS, HTTP, TCP
LB Algorithms: ROUND_ROBIN, LEAST_CONNECTIONS
Session persistence: SOURCE_IP
Health Monitoring: TCP, HTTP, HTTPS
Stats retrieval
CRUD on loadbalancer, listener, pool, healthmonitor, member
Additional lbaas features supported as part of framework in kilo release
(TERMINATED_HTTPS, L7 etc)
Product Versions supported
ADX 12.5 and above
Virtual ADX 3.0, 3.1 and above
Exceptions
Brocade LBaaS Device Driver will raise one of the following exceptions
ConfigError . Raised when a configuration exception occurs
on the load balancer device
UnsupportedFeature . Raised when a particular feature is not yet
supported by the Device Driver
UnsupportedOption . Raised when an unsupported value is
specified for an attribute.
Data Model Impact
-----------------
None
REST API Impact
---------------
None
Security Impact
---------------
None
Notifications Impact
--------------------
None
Other End User Impact
---------------------
None
Performance Impact
------------------
None
IPv6 Impact
-----------
Will support ipv6 at the same level as neutron lbaas.
Other Deployer Impact
---------------------
service_provider entry in the neutron-lbaas.conf file needs to be
updated to reflect Brocade as one of the service_provider for
the plugin to be effective.
Brocade Device Driver must be installed prior to using this driver
Developer Impact
----------------
None
Community Impact
----------------
None
Alternatives
------------
None
Implementation
==============
Assignee(s)
-----------
https://launchpad.net/~pattabi
Work Items
----------
* Brocade plugin driver code
* Unit tests
* Voting CI
Dependencies
============
* https://blueprints.launchpad.net/neutron/+spec/lbaas-api-and-objmodel-improvement
Testing
=======
- Unit Tests
- Brocade QA
- Existing LBaaS tests provide complete coverage, if driver is installed
and configured (as our CI will do)
Tempest Tests
-------------
Brocade ADX CI will run existing LB tempest tests with Brocade ADX/vADX.
Functional Tests
----------------
Brocade ADX CI will run existing LB functional tests with Brocade ADX/vADX.
API Tests
---------
Brocade ADX CI will run existing LB API tests with Brocade ADX/vADX.
Documentation Impact
====================
None
User Documentation
------------------
None
Developer Documentation
-----------------------
None
References
==========
None