15 Commits

Author SHA1 Message Date
Elena Ezhova
2a2e1f5ec7 [docs] Fixes to octavia-api docs
Fixes descriptions for a couple of parameters

Change-Id: Ic7506b1ac9fe1be2d1d3fc48630f376a91171441
2016-06-03 17:11:52 +03:00
Kobi Samoray
2194758bcf Implement custom header support for Octavia
Implements support for custom header insertion in Octavia.
A listener may be configured to insert custom headers which are
supported by Octavia. Currently implemented support for
X-Forwarded-For header, and X-Forwarded-Port

Change-Id: I784f4939225c3acef362fcb5df57e77dbfb0f774
2016-05-23 08:34:16 +03:00
Trevor Vardeman
f828a9b3e5 Single-Create Documentation
Since single-create utilizes the existing objects already documented, I added an
example for the request and response, and indicated to look for more details
in the appropriate object's section.

Change-Id: Icdf7f21867457e22086f9c44ab657f95617bee1a
Closes-Bug: #1551428
2016-03-10 17:37:13 -06:00
Jenkins
178f13b930 Merge "Update doc to make it consistent with the actual api" 2016-03-08 20:20:34 +00:00
Jiahao Liang
8161b885f3 Update doc to make it consistent with the actual api
Closes-Bug: #1552965

Change-Id: I160fb31d40849230010caedd4f79e5cc7c86661a
2016-03-04 14:13:14 -08:00
German Eichberger
62cb739f8e Adds the Cascade Deelete REST API doc
Change-Id: I7dbbb95ae327abb24a3d25376020be41375a4609
Closes-Bug: #1551436
2016-03-02 13:16:53 -08:00
Stephen Balukoff
71c98e72d8 Fix health monitor URL in API documentation
After looking into bug reports of health monitor URLs not
working after the shared pools patch, I was able to verify that
they do in fact work, but that the legacy documentation was wrong.
(This is after checking both the state of Octavia's documentation
and API code prior to the shared pools patch, and checking the
neutron-lbaas octavia driver in master right now.)

This patch updates the octavia API documentation to list the
correct new and legacy URLs for doing health monitor CRUD operations.

Change-Id: I632a0a50de0320ed316ef0bf180b8d7e788f746a
Closes-Bug: 1543364
Closes-Bug: 1543366
2016-02-23 20:13:32 -08:00
Stephen Balukoff
6cd2ca505c Add L7 documentation
This commit adds documentation for the API changes involved in
adding L7 polcy and rule functionality to Octavia. It is the last in
a chain of commits designed to keep the size of each individual commit
manageable / reviewable.

Change-Id: I1f01a2b546dabc8dc8ad3cf512f7be9276243e74
Partially-Implements: blueprint lbaas-l7-rules
Partially-Implements: blueprint layer-7-switching
2016-02-23 17:59:21 -08:00
Franklin Naval
460db136c4 Octavia: API docs Entity Status Fix
* entity statuses were reversed
* added new operating status: NO_MONITOR

Closes-Bug: #1544310

Change-Id: I42f6db569dc266c60dac4a666df053ca3016f555
2016-02-10 16:09:00 -06:00
Stephen Balukoff
c3e97b7630 Shared pools support
This patch introduces shared pools functionality to
Octavia. This means that with this patch, listeners and
pools will have the ability to have a N:M relationship
instead of a simple 1:1 relationship, although they must
still be associated with the same loadbalancer object.

This patch includes a schema change to the database: pools
are now associated directly to loadbalancers instead of
listeners. The migration in this patch includes ETL which
should populate this new field in the pool table correctly.

Extensive API changes were necessary to facilitate this
change. However, all the changes to the API should be
backward compatible.

This patch is a necessary precursor to adding L7 switching
functionality to Octavia.

Partially-Implements: blueprint lbaas-l7-rules
Partially-Implements: blueprint layer-7-switching
Change-Id: I797c718412e756be067dd4c304c989a4d43bb8ef
2016-02-04 23:15:59 -08:00
venkatamahesh
206f5738fe Fix misspellings
Change-Id: I675452fcc43e778f74bdf4bf5615c100d72ce8bf
2016-02-04 14:33:44 +00:00
Brandon Logan
969f811bd4 Rename tenant_id to project_id
Since openstack is going through renaming tenants to projects
it is best that we do this now while its easier before it becomes
bigger and harder to do.

This also adds project_id to the health_monitor table and models
since this seemed like an oversight.

Change-Id: Icc8034dcb517a3f8d218d83c94e4a2dcc977cc29
2015-12-07 15:39:55 -06:00
Sherif Abdelwahab
58cda714ba Amphora Flows and Drivers for Active Standby
This patch implements the Active/Standby blueprint in
https://blueprints.launchpad.net/octavia/+spec/activepassiveamphora

The following points describe the main changes:

1. The patch introduces new flows and subflows to create M amphorae. The
controller worker parses the loadbalancer_topology configuration. If the
loadbalancer_topology value is ACTIVE_STANDBY, the controller invokes a new flow
independent from the SINGLE topology case, which is left untouched. The new
flow uses conditional taskflows to check for spare amphorae at runtime. This
removes the need for the exception workaround we earlier had. The controller
creates the amphorae in parallel using an unordered flow. A new database task
alter an amphora role as either MASTER or BACKUP and assigns a VRRP priority to
each amphora. After the amphorae are created, the controller invokes a separate
flow for post amphora configuration including plug_vip methods, vrrp
configuration upload, and keepalived service start.

2. The patch introduces new data models that include a new table for VRRP group
configuration per loadbalancer, and update the amphora, loadbalancer, and
listener tables to support the new active/standby capability. The VRRPGroup
table hides authentication data, and makes future extensions of VRRP
capabilities easy.

3. This patch updates the existing Haproxy configuration templates  to include
peer synchronization. In case of ACTIVE_STANDBY configuration, the jinja
configuration renders the peer section in the Haproxy configuration and assigns
short names to the amphorae as listener peers. As listeners implies different
Haproxy process, each listener synchronizes on a different port evaluated as
BASE_PORT (1024) + NUMBER_OF_LISTENERS accounting for ports in use.

4. This patch introduces a new Jinja configuration templater and a REST driver
for Keepalived (developed as a Mixin). By default, Keepalived runs "all" check
scripts found in a predefined directory. The keepalived driver is a Mixin that
can be plugged in other services' drivers. It is the responsibility of these
services drivers to introduce their own check scripts. In this patch a
lightweight check script for Haproxy was introduced along with changes in the
amphora agent installation script.

5. The VRRP requires enabling protocol 112 for Master/Backup advertisements,
and enabling protocol 51 for authentication header. This patch enables these
protocols as needed in the loadbalancer security group.

Note: Updates to the failover flow to support active/standby will come in
a dependent patch.
Note: The amphora-agent is pinned to this patch in this patch set.  This
is required so the scenario tests will pass.  It will be removed in a
follow up patch.

Co-Authored-By: Sherif Abdelwahab <sherif.abdelwahab@hp.com>
Co-Authored-By: Michael Johnson <johnsomor@gmail.com>
Implements: blueprint activepassiveamphora
Depends-On: Ifdf20378b26cdd13e0a3ff87cec8990fe89c0661
Change-Id: Ic4e04594e114ba682088d68d5f1af3f8f376db83
2015-12-03 23:27:20 +00:00
minwang
4d12d47752 Update Octavia’s Operator API Docs
This patch is to update the octavia operator api doc
(http://docs.openstack.org/developer/octavia/main/octaviaapi.html),
 in this patch we updated the requests and responses content
for each section, such as lb, listener and etc.

Change-Id: Id0f734cb900b3f5e812849ff73e6ca97a8add8eb
2015-11-06 10:36:50 -08:00
Stephen Balukoff
cf79c701de Minor restructuring of documentation tree
This restructuring should hopefully make better sense of the
documentation currently available. This is in preparation for
bringing the version 0.5 component documentation up to date and
adding a getting started and installation guide.

Change-Id: Ie1e27bab4d2b8d7d033f75750fda842dd9dd3de7
2015-10-07 15:00:58 -07:00