50 Commits

Author SHA1 Message Date
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
Michael Johnson
9df9ff9137 Add Amphora base image creation scripts for Octavia
Implements: blueprint base-image

Change-Id: I3e72db6d2f19fe45138758eb0821e27aa1c2542a
2014-12-11 01:31:19 +00:00
Trevor Vardeman
0c2de55981 Nova virtual machine driver spec
Change-Id: I70bec71d5f41974bd0475016aeb9ce1790a33038
Partially-Implements: blueprint nova-compute-driver
2014-11-19 14:55:18 -06:00
Jenkins
bae214f23c Merge "TLS Data Security Overview" 2014-11-18 21:28:00 +00:00
Al Miller
aa33ffe2b2 Remove VM management calls
Per the discussion in the 12-Nov-2014 openstack octavia meeting, remove
the definition of start(), stop(), suspend(), resume(), and backup().

Change-Id: Iefc9c295ec5188b871681ff1804b563ac4feff32
2014-11-12 13:35:17 -08:00
Adam Harwell
5a89a60c09 TLS Data Security Overview
Here we define the overall strategy for dealing with secure TLS data
in Octavia. There are several areas that need attention, and they are
detailed in this spec. Barbican will be our default secure storage and
certificate signing service, but the interfaces should remain generic.

Sequence diagrams now included.

Change-Id: Icbbea8e37af0ce13fd959543403f2b01b8c7d17b
Implements: blueprint tls-data-security
2014-11-04 07:21:17 -06:00
Al Miller
b353c59420 Initial draft of compute driver spec
Address comments by TrevorV, and fix tabification.
Try to make doc8 happy.

Change-Id: Ida4aef02578cea7e2e76c9106c94d4ef633c06d6
2014-10-30 16:05:41 -07:00
Jenkins
9885233255 Merge "Spec for the amphora driver interface" 2014-09-26 22:58:37 +00:00
German Eichberger
fc3141dbdc Spec for the amphora driver interface
This is using listeners this time.

Change-Id: I9d7682b4cb89bc74303593d6739d4196ed0d19e6
2014-09-26 13:46:31 -07:00
Brandon Logan
b2468cfe55 Added Operator API spec for Octavia v0.5
Change-Id: If5195f188524291cc9e6e2d85b78b8c32deeb1e9
2014-09-18 01:53:31 -05:00
Michael Johnson
33859efeb5 Adding Octavia Amphora base image specification for Octavia v0.5
Change-Id: I6d61da56ba6dabaeaa01957d2ad76074d67c8bbc
2014-09-16 17:19:46 +00:00
Stephen Balukoff
a37d6f8d17 Octavia v0.5 component design
This design represents the overall layout of components that will
make up the first major milestone release of Octavia (v0.5). The
intent here is to have a scalable service delivery layer, to get
communication with external components right, and not yet worry
about making the command and control layer scalable.

Change-Id: I09ab7185683b66ec2567119616bc54cf9d8cc000
2014-09-03 10:07:14 -07:00