Spec detailing capability gaps with n-lbaas API
This spec is meant to enumerate the features and capabilities needed from the Octavia API to achieve parity with the Neutron LBaaS API Change-Id: I9bc348c6f86f868ec5e9ab2be2ae49947bfbacdc
This commit is contained in:
parent
549b1ce29d
commit
0fbd683591
118
specs/version1/n-lbaas-api-parity.rst
Normal file
118
specs/version1/n-lbaas-api-parity.rst
Normal file
@ -0,0 +1,118 @@
|
||||
..
|
||||
This work is licensed under a Creative Commons Attribution 3.0 Unported
|
||||
License.
|
||||
|
||||
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||
|
||||
========================================
|
||||
Align octavia API With Neutron LBaaS API
|
||||
========================================
|
||||
|
||||
|
||||
Problem description
|
||||
===================
|
||||
For the octavia API to truly be standalone, it needs to have capability parity
|
||||
with Neutron LBaaS's API. Neutron LBaaS has the luxury of piggy-backing off
|
||||
of Neutron's API. This gives Neutron LBaaS's API resources many capabilities
|
||||
for free. This document is meant to enumerate those capabilities that the
|
||||
octavia API does not possess at the time of this writing.
|
||||
|
||||
Proposed change
|
||||
===============
|
||||
Complete the tasks enumerated in the `Work Items`_ section
|
||||
|
||||
Alternatives
|
||||
------------
|
||||
* Do nothing and keep the status quo
|
||||
|
||||
Data model impact
|
||||
-----------------
|
||||
There will be some minor data model changes to octavia in support of this
|
||||
change.
|
||||
|
||||
REST API impact
|
||||
---------------
|
||||
This change will have significant impact to the octavia API.
|
||||
|
||||
Security impact
|
||||
---------------
|
||||
This change will improve octavia security by adding keystone authentication.
|
||||
|
||||
Notifications impact
|
||||
--------------------
|
||||
No expected change.
|
||||
|
||||
Other end user impact
|
||||
---------------------
|
||||
Users will be able to use the new octavia API endpoint for LBaaS.
|
||||
|
||||
Performance Impact
|
||||
------------------
|
||||
This change may slightly improve performance by reducing the number of
|
||||
software layers requests will traverse before responding to the request.
|
||||
|
||||
Other deployer impact
|
||||
---------------------
|
||||
Over time the neutron-lbaas package will be deprecated and deployers will
|
||||
only require octavia for LBaaS.
|
||||
|
||||
Developer impact
|
||||
----------------
|
||||
This will simplify LBaaS development by reducing the number of databases
|
||||
as well as repositories that require updating for LBaaS enhancements.
|
||||
|
||||
Implementation
|
||||
==============
|
||||
|
||||
Assignee(s)
|
||||
-----------
|
||||
blogan
|
||||
diltram
|
||||
johnsom
|
||||
rm_you
|
||||
dougwig
|
||||
|
||||
Work Items
|
||||
----------
|
||||
Implement the following API Capabilities:
|
||||
|
||||
* Keystone Authentication
|
||||
* Policy Engine
|
||||
* Pagination
|
||||
* Quotas
|
||||
* Filtering lists by query parameter
|
||||
* Fields by query parameter
|
||||
* Add the same root API endpoints as n-lbaas
|
||||
* Support "provider" option in the API to select a driver to spin up a load
|
||||
balancer.
|
||||
* API Handler layer to become the same as n-lbaas driver layer and allow
|
||||
multiple handlers/drivers.
|
||||
* Neutron LBaaS V2 driver to octavia API Handler shim layer
|
||||
|
||||
Implement the following additional features that n-lbaas maintains:
|
||||
|
||||
* OSC extension via a new repository 'python-octaviaclient'
|
||||
|
||||
|
||||
Other Features to be Considered:
|
||||
|
||||
* Notifications for resource creating, updating, and deleting.
|
||||
* Flavors
|
||||
* Agent namespace driver or some lightweight functional driver.
|
||||
* Testing octavia with all of the above
|
||||
* REST API Microversioning
|
||||
|
||||
Dependencies
|
||||
============
|
||||
None
|
||||
|
||||
Testing
|
||||
=======
|
||||
Api tests from neutron-lbaas will be used to validate the new octavia API.
|
||||
|
||||
Documentation Impact
|
||||
====================
|
||||
The octavia api reference will need to be updated.
|
||||
|
||||
References
|
||||
==========
|
Loading…
Reference in New Issue
Block a user