1537 Commits

Author SHA1 Message Date
Nir Magnezi
26a55415ab Auto-detect haproxy user_group
As a followup to Id99948aec64656a0532afc68e146f0610bff1378, adding auto
detection to haproxy_amphora.user_group

haproxy is capable[1] handling a list of configuration files.
This patch leverages that capability by simply providing haproxy with an
additional configuration file, which is baked in the amphora image via a
diskimage-builder element.

The above-mentioned element will specify the following values for user group:
Ubuntu: 'nogroup'
RHEL/CentOS/Fedora: 'haproxy'

The amphora-agent will parse and remove any user_group configuration provided
by Octavia controller worker.
This is in order to maintain amphora-agent backward compatibility to old
Octavia workers, who still provide user_group to the amphora-agent.
Octavia Workers that include this patch will no longer provide user_group
configuration to the amphora-agent.

[1] https://cbonte.github.io/haproxy-dconv/1.7/management.html#3

Related-Bug #1548070

Change-Id: Ia8fede9d7da4709a48661d1fc595a16d04fcbfa9
2017-04-23 18:24:23 +03:00
Adam Harwell
4fd2647e21 Scenario base uses the wrong exception lib
Change-Id: I74f8537a3886a41d81097fb42bb55f116f1b3dd5
2017-04-18 08:09:19 +09:00
OpenStack Proposal Bot
75ebfd7137 Updated from global requirements
Change-Id: I3853e2f1deebd1022a005fed3480901435fe4906
1.0.0.0b1
2017-04-12 17:03:19 +00:00
Jenkins
639b7dc4e3 Merge "Fix house_keeping daemon to use Event.wait()" 2017-04-12 16:35:35 +00:00
Jude Cross
f37e776eb3 Fix house_keeping daemon to use Event.wait()
When trying to exit out of the house_keeping daemon
the terminal would hang until all threads finished
their iteration of time.sleep(). Now the threads
instead use the Event object so on keyboard intterupt
the threads will exit without waiting.

Change-Id: I4cb62977f647209ea87001a949fc42472ad53a70
2017-04-11 18:09:10 -07:00
Adam Harwell
500757d8d7 Remove duplicate oslo_messaging config line
Change-Id: I6f1a65769e6335b0972e34698901aa9820a137a4
2017-04-12 09:00:57 +09:00
Jenkins
87bab9bf15 Merge "Failover logic doesn't handle anti-affinity" 2017-04-11 08:58:57 +00:00
Jenkins
583906d02a Merge "Add Apache License Content in index.rst" 2017-04-11 07:16:27 +00:00
Jenkins
fe47672abb Merge "Explicitly list neutron api extensions for tests" 2017-04-11 07:16:14 +00:00
Jenkins
e57200a0d4 Merge "Adds v2 load balancer API section" 2017-04-11 07:16:08 +00:00
Jenkins
e894248165 Merge "Optimize the link address" 2017-04-11 06:59:41 +00:00
Jude Cross
409ed17d72 Loadbalancer v2 needs to accept tenant_id on POST
Change-Id: I5c0e8c49c893d9cce7579ed47b6203193d55e874
Closes-Bug: #1679854
2017-04-10 15:54:05 -07:00
Jenkins
14bfb376bb Merge "Fixed Octavia tempest plugin" 2017-04-10 17:25:49 +00:00
Jenkins
5579f445f2 Merge "Introduce TESTING.rst for quick developer reference" 2017-04-10 15:04:00 +00:00
Chandan Kumar
3ac2b04f95 Fixed Octavia tempest plugin
* tempest init command calls oslo_config to generate sample tempest.conf
  which expects a list of tuples (group, [group_options]) provided by
  octavia plugin's get_opt_lists method. Due to comma at the end of
  service_option, oslo_config excepts one more tuple which was not there
  which causing failure to tempest init. Removing it fix the issue.

* use register_opt for service_available in config

Change-Id: I6af2c72dd83e5ef5fd3ae9a66ee774e3cbab8f67
Closes-bug: #1681405
2017-04-10 14:18:44 +00:00
XieYingYun
8a6d489a6e Add Apache License Content in index.rst
Add Apache License 2.0 Content which is necessary
for ./releasenotes/source/index.rst.

Change-Id: I626db8916fdf55d0ec561777b689668fceb3304a
2017-04-10 17:59:34 +08:00
Ankur Gupta
dd689f3592 Introduce TESTING.rst for quick developer reference
Change-Id: Ie714d1a5d4cdf16ca3ad216b7729b8529d8038b9
2017-04-07 21:48:31 +00:00
johnsom
19cf273bf4 Explicitly list neutron api extensions for tests
Recent changes to neutron and gate hooks can cause the api extension
list to not include "all" but a neutron specific list.  This means
lbaasv2 may not be included in api extension list.  This will cause
tempest to skip the neutron-lbaas tests.

This change explictly adds "all,lbaasv2" for the network extensions.

Change-Id: I8623e27265544d9606e9000c52c79cec05413fcc
2017-04-07 08:51:38 -07:00
OpenStack Proposal Bot
b99e02793e Updated from global requirements
Change-Id: Ib36c3ff5aaf99b6a4819ad0d6c7315ecf6cc9e46
2017-04-07 06:12:44 +00:00
XieYingYun
508bd3837f Optimize the link address
Use https instead of http to ensure the safety without containing our
account/password information

Change-Id: If41464eac8fb5f79baf22153c53ada45c1cae832
2017-04-07 10:15:58 +08:00
Jenkins
216c60966a Merge "blueprint LBaaS Alternative Monitoring IP/Port" 2017-04-07 01:59:12 +00:00
Jenkins
7c1b2adf19 Merge "Support QoS policy apply on vip port" 2017-04-07 00:43:28 +00:00
Alexander Amerine
7089ceb4f6 blueprint LBaaS Alternative Monitoring IP/Port
Addresses Partial-Bug: #1541579

Change-Id: I6066680115294287f3e66759d5cb122007cbf723
2017-04-06 16:53:12 -07:00
ZhaoBo
509865dcf0 Support QoS policy apply on vip port
This spec intro to extend octavia API to accept Qos policy which created
by users from neutron. In Octavia, we just accept the qos policy but not
provide Qos function to the vip port of loadbalancer. This is very useful
to adapt the changes about neutron qos in the future.

Change-Id: Ia47da1e26106c6353eebd880138df4b57bcf9db4
Closes-Bug: #1657090
2017-04-06 11:07:01 +08:00
OpenStack Proposal Bot
b96f89b640 Updated from global requirements
Change-Id: I9c8cd5b64604e5ac6623d2615fd9ccba77ba6105
2017-04-05 21:07:48 +00:00
Jenkins
220e44023a Merge "Align Octavia API to n-lbaasv2 for L7Rules" 2017-04-05 16:45:41 +00:00
Jenkins
22172221d5 Merge "Align Octavia API to n-lbaasv2 for L7Policy" 2017-04-05 16:29:52 +00:00
johnsom
55d0660d89 Adds v2 load balancer API section
This patch adds the load balancer section to the v2 API reference.

Change-Id: Ibe5b6372ba859f47e6738e97ff14c66f58514e42
Partial-Bug: #1558385
2017-04-04 20:27:57 -07:00
Sindhu Devale
fd5c800ff9 Align Octavia API to n-lbaasv2 for L7Rules
The endpoint are as follows:

- /v2.0/lbaas/l7policies/
- /v2.0/l7policies/

GET all - /<policy-id>/l7rules/
GET one - /<policy-id>/l7rules/<rule-id>
POST - /<policy-id>/l7rules/ {<body>}
PUT - /<policy-id>/l7rules/<rule-id> {<body>}
DELETE - /<policy-id>/l7rules/<rule-id>

Partially Closes-Bug: #1616701
Co-Authored-By: Shashank Kumar Shankar <shashank.kumar.shankar@intel.com>
Co-Authored-By: Adam Harwell <flux.adam@gmail.com>

Change-Id: I247988a2ea19a92f827756504a0ee46679bbc53b
2017-04-05 09:10:35 +09:00
Sindhu Devale
c9daa3ff6e Align Octavia API to n-lbaasv2 for L7Policy
GET all - /v2.0/lbaas/l7policies/<l7policy-id>
GET one - /v2.0/lbaas/l7policies/<l7policy-id>
POST - /v2.0/lbaas/l7policies {<body>}
PUT - /v2.0/lbaas/l7policies/<l7policy-id> {<body>}
DELETE - /v2.0/lbaas/l7policies/<l7policy-id>

Co-Authored-By: Nakul Dahiwade <nakul.dahiwade@intel.com>
Co-Authored-By: Adam Harwell <flux.adam@gmail.com>

Partially-Implements: #1616655

Change-Id: I91baf79df16d4a1eefd151ed87ec871b57ac6ef8
2017-04-05 09:10:26 +09:00
Jenkins
759b62b972 Merge "Fix pool validation exception typo" 2017-04-04 17:56:50 +00:00
Jenkins
53ada8f74a Merge "Introduce Octavia v2 API for Members" 2017-04-03 19:10:51 +00:00
Adam Harwell
3aec6312b0 Fix pool validation exception typo
Change-Id: Ic915e7098871e554dd4f1fa39e6792108f718b01
Closes-Bug: #1679259
2017-04-04 03:57:33 +09:00
Jenkins
6b16a17242 Merge "Tests helper function _send_requests should catch socket.error" 2017-04-03 17:37:10 +00:00
Jenkins
753b824788 Merge "Adds a new config for soft-anti-affinity" 2017-04-03 16:57:57 +00:00
Sindhu Devale
8b2f89b87a Introduce Octavia v2 API for Members
This patch aligns Octavia v2 API for members with
lbaasv2.

GET all - /v2.0/lbaas/pools/<pool-id>/members
GET one - /v2.0/lbaas/pools/<pool-id>/members/<member-id>
POST - /v2.0/lbaas/pools/<pool-id>/members {<body>}
PUT - /v2.0/lbaas/pools/<pool-id>/members/<member-id> {<body>}
DELETE - /v2.0/lbaas/pools/<pool-id>/members/<member-id>

Also fixes a few bugs from previous API commits and refactors
some test code / adds missing tests.

Note: This changes the default operating_status of Members from OFFLINE
to NO_MONITOR in the *v1* API, if the pool has no Health Monitor.
I see this as a bug fix.

Co-Authored-By: Nakul Dahiwade <nakul.dahiwade@intel.com>
Co-Authored-By: Adam Harwell <flux.adam@gmail.com>

Partially-Implements: #1616642
Closes-Bug: #1678330
Closes-Bug: #1678336
Closes-Bug: #1678337
Change-Id: I0e15ab70afd5bbbc8b94db0dc9e64f13146003e8
2017-04-04 01:46:43 +09:00
Jenkins
93771442ff Merge "Move API v1, v2 hooks to API Common" 2017-04-03 14:29:15 +00:00
OpenStack Proposal Bot
3e25fdaf7e Updated from global requirements
Change-Id: I2fdfa2e35b6a49636feee26d8bf08faab6a78c04
2017-04-01 15:29:45 +00:00
German Eichberger
e58721c4e0 Adds a new config for soft-anti-affinity
Introduces a new config parameter to specify the anti-affinity
policy.

Bumps nova version.

Closes-Bug: 1677604

Change-Id: I8c50057bd43873182058097e802bc839d1be0554
2017-03-31 14:30:53 -04:00
German Eichberger
1069b1732f Failover logic doesn't handle anti-affinity
During anti affinity failover the server-group wasn't stored
in the flow. This will rectify that.

To test: Load this patch on top of new soft-anti-affinity patch,
set to ACTIVE-PASSIVE, perform failover, see newly created server
belongs to same server-group.

Change-Id: I620c42101fd2362156b15f7f2390c2a72a04c566
Closes-Bug: 1677379
2017-03-31 10:04:17 -04:00
Nir Magnezi
cd1d53b2d9 Tests helper function _send_requests should catch socket.error
Some tests, such as test_listener_basic for example, use helper function
_send_requests() to send traffic to a loadbalancer both in a positive
(expect to succeed) and negative (expect to fail) context.

In a case of a negative context,  _send_requests() currently won't catch
socket.error, which is a valid response from a loadbalancer in a case of
a request rejection.

F5's LBaaS driver replays with TCP RST in a case of request rejection and
they confirmed[1] that adding by catching socket.error in
_send_requests() tests work as expected.

[1] https://bugs.launchpad.net/octavia/+bug/1675702/comments/2

Change-Id: Iab001fc31ce81b2fd5e8e87333fa9a3391ecda99
Closes-Bug: #1675702
2017-03-31 02:05:06 +03:00
Jenkins
afd6c2b874 Merge "Introduce Octavia v2 API for pools" 2017-03-29 20:41:57 +00:00
Jenkins
53cb09d7b2 Merge "DIB: drop some dependencies" 2017-03-29 17:35:04 +00:00
Jenkins
fd5a5fcb70 Merge "Fix some reST field lists in docstrings" 2017-03-29 17:34:57 +00:00
Jenkins
734fa8521c Merge "change genconfig output-file path" 2017-03-29 17:28:51 +00:00
Jenkins
4792e7f367 Merge "Remove unused logging import" 2017-03-29 16:59:12 +00:00
Jenkins
1493f33189 Merge "Fix get_all method for v2 LB controller" 2017-03-29 16:59:06 +00:00
Sindhu Devale
1a935b9118 Introduce Octavia v2 API for pools
Make API path for pools independent of Loadbalancers and
Listeners.

- /v2.0/lbaas/pools/
- /v2.0/pools/

GET all - /pools/
GET one - /pools/<pool-id>
POST - /pools/ {<body>}
PUT - /pools/<pool-id> {<body>}
DELETE - /pools/<pool-id>

Co-Authored-By: Shashank Kumar Shankar <shashank.kumar.shankar@intel.com>
Co-Authored-By: Adam Harwell <flux.adam@gmail.com>

Partially-Implements: #1616641

Change-Id: I7679cc7b3f559db774a9d036580177cf1aa7e693
2017-03-30 01:41:51 +09:00
OpenStack Proposal Bot
f35eb3b946 Updated from global requirements
Change-Id: Ia361efb245c4ae47d560d961c7158a732eb94392
2017-03-29 13:38:49 +00:00
Michael Johnson
583c7f7382 Changing the service-type to load-balancer
Per the discussion in the service-types-authority repository [1]
updating octavia to use "load-balancer" as the service type.

[1] https://review.openstack.org/#/c/434999/

Change-Id: I4faa327c064f6291c578d3e04f8ee8624940ce08
2017-03-28 11:11:59 -07:00