63 Commits

Author SHA1 Message Date
Michael Johnson
196187ced0 Fix "P2" note references in act/act specs
Currently we are getting warnings about broken references to "P2"
during docs builds.  This patch corrects those references.

Change-Id: I0d81ead1f67f7681096a4617a01ff5439801cb30
2017-02-03 10:11:42 -08:00
ZhaoBo
8eddb0fd22 Fix multi-typo error in Octavia
This patch fix some typo in Octavia.

Change-Id: I2699f85f07e3207a0438b8127e9992c553fa40fc
2017-01-05 11:56:20 +08:00
Brandon Logan
0fbd683591 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
2016-11-29 21:05:23 +00:00
zhangyanxian
3cf352cf18 Fix typo in active-active-distributor.rst
TrivialFix

Change-Id: I2d645402b656a96bfb45b93f61985d36b3b409fa
2016-09-29 02:13:20 +00:00
Stephen Balukoff
dad4504f9c Fix active-active specs tox test
The recently-merged active-active specifications did not pass the
specs tox test. This commit makes minor adjustments to the formatting
and sectioning of these documents so that they now pass the tox test.

Change-Id: Ic8319c6940cb7ffcb185e7c35c4ec536ad19107f
Closes-Bug: #1620914
2016-09-08 15:16:55 -07:00
Michael Johnson
571578c7f3 Update config reference to use auto generate
This patch updates Octavia docs to use the oslo_config.sphinxext
integration to generate the configuration reference.

This patch also links in the "guru meditation report" document.
This document has been present, but was not linked.

I also reorganized the specs to reflect the correct release versions.

Change-Id: Icaf710c1c61277f3ca51efac45a3a80a0d3cce8f
2016-08-25 22:02:08 +00:00
Jenkins
d808afb367 Merge "Add spec for adding statistics gathering API for loadbalancer" 2016-08-25 06:19:19 +00:00
Stephen Balukoff
f43edf77b8 Add spec for active-active
This specification contains a high-level description of a proposed
architecture for handling an active-active topology within Octavia.

Moved Distributor to new document.
Captured the comments from Mitaka mid-cycle.

Updated active-active-topology per latest comments.

Major update to active-active-distributor per latest comments.

More updates per comments

Change-Id: Ifc2d618a979fd0eb822f2cba4b759ab6ade7793f
Co-Authored-By: Eran Raichstein <eranra@il.ibm.com>
Co-Authored-By: Dean Lorenz <dean@il.ibm.com>
Co-Authored-By: Stephen Balukoff <stephen@balukoff.com>
2016-08-24 10:32:33 -07:00
chen-li
696bf71c01 Add spec for adding statistics gathering API for loadbalancer
Implements: blueprint stats-support

Change-Id: I4601e71eb67264a0f2f7533249218f60bc962937
2016-08-24 01:20:14 -05:00
Ihar Hrachyshka
fb53fe2340 glance: support relying on tags to extract image id
Deprecated amp_image_id option with the new amp_image_tag option.

Also switched devstack plugin to rely on the tag to update the image
used for new load balancers.

Implements: blueprint use-glance-tags-to-manage-image
Change-Id: Ibc28b2220565667e15ca2b2674e55074d6126ec3
2016-03-01 20:43:33 +01:00
Stephen Balukoff
2a0a0944bf Delete SSH amphora driver
The old SSH amphora driver is not being used by anyone
anymore, nor is it being maintained. This patch removes it from
the Octavia code tree.

Closes-Bug: 1534218
Change-Id: I006f1c794e1ab0483886d06495ca6649f0afe479
2016-02-17 13:51:11 -08:00
Jenkins
0b1348e5d9 Merge "Use uppercase 'S' in word "OpenStack"" 2016-02-04 19:02:37 +00:00
venkatamahesh
206f5738fe Fix misspellings
Change-Id: I675452fcc43e778f74bdf4bf5615c100d72ce8bf
2016-02-04 14:33:44 +00:00
venkatamahesh
b688c55140 Use uppercase 'S' in word "OpenStack"
Change-Id: I5055bb845cc39b739af2c7b2bcb84b5ad9390aa4
2016-02-04 19:24:39 +05:30
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
Trevor Vardeman
2cfcf3eff1 Adding amphora failover flows
Added a flow to complete automated failover for an amphora.  Added new tasks
to retrieve ports, change port device ids for re-allocating to new amphora,
and added functionality to include existing ports on amphora creation.

Co-Authored-By: Brandon Logan <brandon.logan@rackspace.com>
Co-Authored-By: Michael Johnson <johnsomor@gmail.com>

Change-Id: Ic0d3f2b9a48ebf66df78e1ef98aef92ad7ee5057
2015-09-09 06:04:47 +00:00
Brandon Logan
3b23de32b8 Plug vip and networks by port mac address
Co-Authored-By: German Eichberger <german.eichberger@hp.com>

Change-Id: Ic6206a97ad67f6364d850e033760ee60d7161f6f
2015-09-09 01:58:19 +00:00
Sherif Abdelwahab
f8686de9dd Update Active/Standby blueprint
This patch updates the Active/Standby bluprint to:
1. fix asciiflow rendering problem.
2. update the datamodel impact section to include actual changes in
   current review 206252.
3. update the api impact section to include the amphorae rest api
   changes.
4. discuss further performance impact that must be taken care of when
   developing services health checks for VRRP.

Change-Id: I6bddfc628ebf615f5c2966f2ef1837899cd122bf
2015-09-03 14:01:57 -07:00
Brandon Logan
c7617ff992 Setup base neutron network driver
There are common methods that all neutron based network drivers will most
likely implement the same way.  To prevent duplicate code, a common base driver
for all neutron drivers has been created. In the process of splitting this out,
cleaning up of some existing code was done as well.

The network driver's plug_network and unplug_network methods took an
amphora_id as a parameter, but it was always assumed to be the compute_id.
This parameter has been changed to compute_id.

The octavia interface network model originally had just a single ip_address,
but to more accurately reflect what neutron and probably other networking
as a services will return, this has been changed to fixed_ips because
interfaces and ports can have multiple ip addresses.

Other cleanup includes calling the network drivers own get_network, get_subnet,
and get_port methods instead of calling the neutron client's show_network,
show_subnet, and show_port methods.  Also, all of these changes required some
test changes as well.

Change-Id: Ie6ebc5bc8babe8562c280ba12a1feab21b4ff3f9
2015-08-20 12:57:05 -05:00
Jenkins
6a49846965 Merge "Blueprint: Active/Standby Amphora Setup using VRRP" 2015-08-07 05:14:03 +00:00
Stephen Balukoff
6d88d6a347 Fixing a couple minor terminology errors
Since I'm updating documentation anyway, and as these fixes don't
fit well into v1 or v2 design documents, I figured a small commit
here to correct the 'VM' terminology to be 'amphora' where
appropriate is called for.

Change-Id: I5f62f9fb62534f48de3d761c64419c08c66fed64
2015-08-03 15:24:01 -07:00
Brandon Logan
c2bdb48419 Decouple amp driver from network using new models
The amphora driver's post_vip_plug method required network specific information
about the amphora to complete implementations.  It was not accepting anything
other than a loadbalancer object.  Now it takes a dictionary of
AmphoraNetworkConfig objects that is keyed of amphora id.  Each instance
contains network specific information required to set up the correct routing
on the amphora.

This patch sets up the routing correctly to solve the vip blackholing issue but
only for the ssh_driver.  The argument has only been added to the post_vip_plug
method of the rest_api_driver but will need to be updated to handle this new
information and to also fix the vip blackholing problems.

Change-Id: I17ce89b6c050a2a36e0a802920e2dedb063f615b
Closes-Bug: #1453951
2015-07-30 22:43:25 -05:00
Brandon Logan
f074222842 Adding methods to network driver to get more info
The network driver needs the ability to retrieve specific information about
subnets and ports and pass that information to other components.  Having info
about the subnet gives us cidr and gateway data that is valuable when setting
up the amphora's routes for the separation of tenant data and management data.
Because of this need, methods to retrieve network, subnet, and port details
has been added.

This also adds a another data model AmphoraNetworkConfig that contains subnet
and port information for the vip, vrrp, and ha networks on an amphora.  A
network task has been added that builds this data structure by calling the new
methods added to the network driver.

Change-Id: Ica912337c7d52659a9733096878664f734f27b00
2015-07-29 15:10:26 -05:00
Sherif Abdelwahab
1ed8523fa6 Blueprint: Active/Standby Amphora Setup using VRRP
This blueprint describes how Octavia implements its Active/Standby
solution. It will describe the high level topology and the proposed code
changes to realize the high availability loadbalancer scenario.

Change-Id: Ibb98b3974b7d4d5d253e6e2a48168dbfee28cc46
2015-07-24 06:56:20 -07:00
ptoohill1
a3f53841f8 Updates for calculate delta task
Member has subnet_id and we need to compare with network_id.
In order to do this CalculateDelta task now takes in a load balancer
loops through the amphora, collects the plugged networks
and gathers the network_ids from member subnet_ids and
builds the list accordingly.

Updates network_tasks CalculateDelta
Updates network_tasks adding method to handle deltas
Updates driver adding method to get network
Updates tests, spec and other required code

Change-Id: I698625e4e2e7352cb3000e22de808c33fa7636ed
2015-05-13 13:28:52 -05:00
Brandon Logan
913b6a8514 Added update_vip method to network driver
There needed to be a method to update the security group rules whenever
a listener is added or removed.  The update_vip method will not update those
rules based on what listener's are present.

Also changed the allocate_vip method to take in a load_balancer instead of
port_id, network_id, and/or ip_address.   The reason for this is some driver
implementations may just want the vip to be the IP directly on the amphora.
The previous signature did not allow this.

Closes-Bug: #1453609
Closes-Bug: #1453610

Change-Id: Ie5765c231c6f6ba45042db9b111e6814cf50c465
2015-05-12 22:02:36 -05:00
Jenkins
4d53679f0e Merge "Added vrrp_ip and ha_ip to amphora models" 2015-04-22 20:25:58 +00:00
Michael Johnson
8c9ee6d230 Corrected some __init__() parameters
Removed log from __init__() parameters
Removed get_logger methods
Updated specs for above
Added optional region parameter to noop compute driver

Change-Id: Ie3ed4ebb5d0407cb18f7cf957334dab4bb821bf7
2015-04-13 23:03:54 +00:00
Jenkins
6ee4fb2fb1 Merge "Fix arg order for Update functions in Controller-Worker" 2015-04-13 18:30:07 +00:00
Adam Harwell
b57da1b097 Fix arg order for Update functions in Controller-Worker
Also fix the docstrings while we're here.

Change-Id: I84f9de160c5c61bac01e86a5a142fd1111a7bda9
2015-04-13 10:19:20 -05:00
Brandon Logan
961f304ca1 Added post_vip_plug method to the amphora driver
Fixed some doc'ed docstrings as well to satisfy someone's OCD.  I won't name
names but they're name rhymes with Hadam Arwell.

Change-Id: I0b6482cda29c556918c2b2eb8b03cdec30b0b7c3
2015-04-13 02:21:46 -05:00
Brandon Logan
7e11665bc5 Added vrrp_ip and ha_ip to amphora models
vrrp_ip will typically be the ip through which the amphora communicates with
its vrrp peer.

ha_ip will typically be the ip that is shared between the amphorae.

Since it is possible each amphora may have a different ha_ip and vrrp_ip,
it makes sense to add them to the model/table.  Adding them now because the
network driver will be assigning the values.

Changed the network driver spec and base class to mention the plug_vip method
should return a list of amphoras.

Change-Id: I04a97caf00bc6fa25f94e6470d3ed7da48880ae6
2015-04-10 15:07:24 -05:00
minwang
86ec61f961 Add health check amphora-driver-interface
Add the specs in amphora-driver-interface and driver_base and noop-driver under amphora driver

Change-Id: Ie97f4156ba1a6c7db0d59c202b752345be004cf3
2015-04-08 15:02:01 -07:00
Trevor Vardeman
4c8e6d8ab2 Modified amphora driver spec to include a new, optional method
Updated spec to include method and description for network plug operations
potentially necessary on an amphora

Updated interface to include optional method and description for network plug
operations potentially necessary on an amphora

Change-Id: Iaee3033796d4890a549c25a7327cada81bdf0384
2015-03-23 13:35:14 -05:00
minwang
8c221e8f66 change specs for amphora manager interface
Add 2 argument for method build: config_drive_files and user_data

Change-Id: I414fb87609e2be915945619608edda0489fcf35f
2015-03-09 15:40:10 -07:00
Jenkins
6ab07c23ec Merge "Specification of reference haproxy amphora API" 2015-02-19 06:04:26 +00:00
Stephen Balukoff
e9a1fe240c Specification of reference haproxy amphora API
Contains the specification of the initial version of
the haproxy amphora RESTful API. Note that this is likely
to be expanded upon later as amphora lifecycle concerns and
network integration strategy become more concrete.

Implements: bp/appliance-api

Change-Id: Iecc2149c5c89fbdc98a3657f32940b30c8169fdb
2015-02-17 11:23:14 -08:00
Michael Johnson
e19428eea4 Octavia Controller Worker specification
Initial draft of a spec for the Controller Worker, formerly known as
deploy-worker.

Change-Id: If17bac321275b6cc1137574f37837dfe220606d8
2015-01-29 23:05:11 +00:00
Jenkins
9ff7290078 Merge "Interface specification for housekeeping manager" 2015-01-28 05:29:13 +00:00
Al Miller
abd660cbcd Interface specification for housekeeping manager
This specification defines the housekeeping manager and related classes.
It will describe how pools of resources will be managed so that they
contain appropriate numbers of elements.

Change-Id: I7b17b92b2bca1b0aa696e39d955df49e7cda6f0d
2015-01-22 20:33:57 -08:00
Jorge Miramontes
8ed1fd389c Queue Consumer Specification
This specification defines how Oslo messages will be
consumed and delegated to deploy workers on the
controller nodes.

Fixed spelling issues in controller spec
Renamed API Manager to Queue Consumer in controller
    spec and graphviz file

Change-Id: I23292b3580cad2ee9b327de021b806d7b2449c38
2015-01-22 16:53:49 -06:00
Jenkins
2fa5fa4c9e Merge "Removes flows from the amphora-driver-interface" 2015-01-14 08:08:54 +00:00
Michael Johnson
e1fd87ae4c Updates the controller spec to clarify API Manager
Clarifying the role the API Manager will play in the Octavia
version 0.5 controller.

Change-Id: I1facdbc8d2059fb4dac4f3e9d195a884758ad16d
2015-01-13 18:30:30 +00:00
German Eichberger
d1601c535c Removes flows from the amphora-driver-interface
* Remove reference to flows
* Added new finalize_amphora_call as taled about in midcycle
* fixed spelling

Change-Id: Iadd4915740ad864408e9b7e495ca0ff99d1ebec9
2015-01-13 09:14:24 -08:00
Brandon Logan
8721189947 Spec defining the networking driver interface
Change-Id: Iba7c99f5c824018ab78df6aca482955c32b03a40
Implements: bp/network-driver-interface
2015-01-11 00:41:40 -06:00
Brandon Logan
c6a3a636cc Removing byte order marker that caused issues
A byte order marker was added into the beginning of the
specs/version0.5/controller.dot file which caused graphviz
2.36 and earlier to fail, which caused sphinx to fail as well.

Change-Id: I431931d32d6db57d10a8ff143c7d9ac2d17ca428
2015-01-06 15:47:06 -06:00
Jenkins
2241de18e7 Merge "updates the amphora driver interface spec" 2014-12-30 18:51:20 +00:00
Adam Harwell
5556eeb727 Update TLS Specification
Change-Id: I30c25dc9ba59f9c8a3f7316e38d84dc8dc576406
2014-12-23 01:42:53 -08:00
German Eichberger
5281a1b0a5 updates the amphora driver interface spec
with the lastest from the midcycle
* remove getHealth, getStats
* add getConfiguration
* remove some unneeded exceptions
* make several calls return task flow
  flows

Change-Id: I6a11fac73a696f23f7c4df7410f66ecdd9fcf50e
2014-12-22 10:35:09 -08:00
Michael Johnson
6ab85b6db9 Octavia Controller specification
The specification is the overarching document for the Octavia controller
components.

Change-Id: I57d0192248911d9cb87b04c1919b4002c5fb59bf
2014-12-19 19:38:22 +00:00