3349 Commits

Author SHA1 Message Date
Jens Harbott
dac24cd7ec Update devstack plugin
There is no reason to create internal and admin endpoints in DevStack,
most other services have stopped doing so a long time ago.

Also use the global SERVICE_PROTOCOL variable as default for
OCTAVIA_PROTOCOL instead of "http", this will make us automatically
use the secure API access when the tls-proxy service is enabled.

Fix the instructions for using the devstack plugin, too.

Change-Id: I0154b83cb64952844a28895721694d3e2ff82be2
2020-08-11 10:22:58 +02:00
Zuul
6a762f8a07 Merge "[Trivial]Add missing space between words" 2020-08-10 08:32:52 +00:00
suhaiming
81f06616c9 Correct a typo in the document
Change-Id: I72674a73767917df75d0576ded4e2aab56c9b074
2020-08-10 01:03:29 +00:00
Zuul
1d32c9fc26 Merge "Install ppc64-diag in ppc64le amphora images" 2020-08-08 00:48:19 +00:00
Zuul
ef86070ff1 Merge "Use octavia nodeset in octavia-grenade" 2020-08-07 12:44:34 +00:00
Zuul
d78e992a9e Merge "Fix haproxy user flow log format substitution" 2020-08-06 20:09:42 +00:00
Carlos Goncalves
d093cbb3a9 Fix listener tls_versions and tls_ciphers clearing
Clearning tls_versions was throwing a TypeError ('NoneType' object is
not iterable). This patch fixes that and resets tls_versions and
tls_ciphers to their default values set in the API configuration file.

Task: 40607
Story: 2007981

Change-Id: I4540bbb2cb5b1200b268300cb8a9f0ad1e5104a9
2020-08-06 17:55:52 +02:00
Zuul
d0b6b27559 Merge "Add a periodic fast forward upgrade job" 2020-08-06 12:42:21 +00:00
Ann Taraday
fa284d2c29 [AmphoraV2] Fix l7policy/l7rule quota decrement
Fix "AttributeError: 'dict' object has no attribute 'project_id'"
job octavia-v2-dsvm-scenario-amphora-v2 hit this issue.

Change-Id: I2fc51596434e97d6f4ca2522ceabab8d1f65194e
2020-08-06 11:34:20 +04:00
Gregory Thiemonge
bb4f50f798 Fix operational status for disabled UDP listeners
Disabled UDP listeners appeared as ONLINE, as the heartbeat message
always showed listeners as OPEN, even if disabled.

This commit fixes the configuration file for UDP listeners, previously
enabling or disabling a UDP listener created the same config file. Now
disabling a UDP listener explicitly adds a comment in the file.

Based on this comment, the heartbeat message doesn't include status
updates for disabled UDP listeners.

Story: 2007979
Task: 40605

Change-Id: I400dde533f78bc14ee568bfd9714eafac97e8a39
2020-08-05 18:41:25 +02:00
Carlos Goncalves
b29487952e Install ppc64-diag in ppc64le amphora images
This package provides rtas_errd which is necessary to process hotplug
events like VIP and member port attachments.

https://bugzilla.redhat.com/show_bug.cgi?id=1862726

Change-Id: I8b20602c5b075a6e47d3f7dc42a1bffb1b7a14ea
2020-08-03 11:15:22 +02:00
Michael Johnson
08fad74966 Fix accepting 'insert_headers' when unsupported
This patch fixes the Octavia listener API from accepting the
'insert_headers' parameter for protocols that do not support header
insertion.

Change-Id: I4ec2299b64b180f8b2d8f0b8485a6be9fe32d2eb
Story: 2007967
Task: 40464
2020-07-31 15:51:53 +00:00
Carlos Goncalves
9df5f75d49 Fix amphora image build jobs
Our periodic amphora image build jobs started failing around mid June
with:

"The conditional check 'install_packages|success' failed. The error was:
template error while templating string: no filter named 'success'.
String: {% if install_packages|success %} True {% else %} False {% endif
%}"

Filters have changed in Ansible 2.9 after a deprecation period.

Additionally, install python3-venv and set virtualenv_command (defaults
to Python 2 "virtualenv") as it seems to be required now too.

Change-Id: I3efa89992cc4a8e2645803dd867d7d2f6e39b966
2020-07-31 06:42:30 +00:00
Adam Harwell
d15cccff2f Change amphora statistics to use deltas
Amphora statistics packets should report deltas instead of absolutes for
all relevant metrics.

Change-Id: I5cf6f1f20f2c6f1da39982b2d88e036eefe48b2f
Co-Authored-By: Anushka Singh <anushka.singh.2511@gmail.com>
Co-Authored-By: Stephanie Djajadi <stephanie.djajadi@gmail.com>
2020-07-30 23:13:18 +00:00
Michael Johnson
51b93c0022 Workaround broken pyroute2 0.5.13
The pyroute2 package version 0.5.13 introduced a bug[1] that breaks
amphora. Unfortunately neutron needs a different fix that is in 0.5.13,
so we are going to work around the problem until we can get pyroute2 fixed.

This patch uninstalls pyroute2 and installs version 0.5.12.

[1] https://github.com/svinota/pyroute2/issues/724

Change-Id: I365d719810de792213da47ebafa46e7e0fd2e9fa
2020-07-30 13:01:55 -07:00
zhufl
01541ade06 [Trivial]Add missing space between words
This is to add missing space between words in log messages.

Change-Id: I89519d59ab0f2cf265e41e3def540d725c6e6e89
2020-07-28 15:32:37 +08:00
Zuul
c78a1b2c29 Merge "Add quota support to octavia's l7policy and l7rule" 2020-07-27 21:01:51 +00:00
Carlos Goncalves
f9f0027704 Fix haproxy user flow log format substitution
The user log format string has two special parameters: {{ project_id }}
and {{ lb_id }}. These parameters are documented as being wrapped around
double curly brackets and a whitespace, and are being used as so by
operators/installers. However, the actual substitution is single curly
bracket with no whitespace, i.e. {project_id} and {lb_id}. Fix this
issue by aligning the code with the documentation.

Task: 40444
Story: 2007958

Change-Id: Ifdc24033db288ec615391e576c1c77e6b35aba1f
2020-07-26 17:00:33 +02:00
Gregory Thiemonge
259f19ec15 Add some details on enable_anti_affinity option
Explain that "enable_anti_affinity" affects only amphorae in
ACTIVE_STANDBY topology.

Change-Id: Ia9d9d844b325296401577f5617d2b89cf1a017a7
2020-07-23 15:39:53 +02:00
Gregory Thiemonge
f4305e036c Fix memory consumption issues with default connection_limit
With 1.8.x releases, haproxy consumes a lot of memory when
using 1,000,000 as default connection_limit.

This commit introduces a new configuration option for the Amphora
provider: [haproxy_amphora].default_connection_limit (defaulted to
50,000). This value is used when creating a listener with -1 (which is
the default) as connection_limit, or when unsetting connection_limit in
a listener.
Updating an existing listener by setting connection_limit to -1 also
sets it to default_connection_limit.

The global connection_limit for a load balancer is the sum of the
connection_limit of the listeners, but it cannot be over
HAPROXY_MAX_MAXCONN (which is still 1,000,000).

Story: 2007794
Task: 40046

Change-Id: Ibc525d9a046a5ab7f090a942459d80a2df66ae2e
2020-07-23 09:58:23 +02:00
Carlos Goncalves
ae6f344359 Fix missing dependency in amphora create flow
Task CertComputeCreate requires SERVER_GROUP_ID but this dependency is
missing when nova anti-affinity is enabled and load balancer topology is
SINGLE. This patch fixes this issue.

Task: 40408
Story: 2007943
Closes-Bug: #1888397

Change-Id: I757d84e4624f488382ec4ff9af3f489cd9a85ed3
2020-07-22 11:58:23 +02:00
Zuul
f14ccb52ed Merge "Fix listener update with SNI certificates" 2020-07-16 19:56:35 +00:00
Carlos Goncalves
d0a38baf33 Use octavia nodeset in octavia-grenade
Nodeset octavia-single-node-ubuntu-bionic runs on nest-virt KVM enabled
nodepool instances which speeds up job builds.

Change-Id: I43985f79b57f4c670aa9bb80a955c88435a1bd04
2020-07-16 15:45:46 +02:00
Carlos Goncalves
1072263b73 Add non-voting octavia-v2-dsvm-scenario-centos-8
Recent change [1] improved the reliability and lowered the job duration
significatly (as low as 41m39s per a recent run) [2]. This enables us to
more comfortably (less wait time) and confidently (less timeouts) run
scenario tests on CentOS 8.

Should this job prove to have a record of being stable for a reasonable
amount of time/builds, we can follow up with a patch to promote it to
voting.

[1] https://review.opendev.org/#/c/738246/
[2] https://zuul.openstack.org/builds?job_name=octavia-v2-dsvm-scenario-centos-8

Change-Id: Ia20caacd31ae5a411981a33d9a7f2a6330902760
2020-07-15 12:29:53 +02:00
Zuul
8ae82a47e1 Merge "Stop to use the __future__ module." 2020-07-10 13:41:37 +00:00
Zuul
0317855d9d Merge "Add a router to the lb-mgmt-net for slaac" 2020-07-09 10:36:32 +00:00
Brian Haley
7890f0d999 Remove blacklist terminology in the Octavia tree
The configuration option tls_cipher_blacklist has been
deprecated and replaced by tls_cipher_prohibit_list.

Change-Id: I6152838c697e12d19b27343e3a0714e55ca52d88
2020-07-08 15:19:52 -04:00
Zuul
bf196db6bc Merge "Remove translation sections from setup.cfg" 2020-07-08 10:22:14 +00:00
Michael Johnson
77f5c3893c Add a router to the lb-mgmt-net for slaac
Neutron now needs to have a router attached to the subnet to provide
the router advertisement messages needed for slaac address
configuration.
This patch adds this router to the lb-mgmt-network, allowing
the amphora instances to configure an IPv6 address.

Change-Id: I638c5c8baf1d76365fff2c99ded9c6b310348710
2020-07-07 09:16:21 -07:00
melissaml
103653503c Switch from unittest2 compat methods to Python 3.x methods
With the removal of Python 2.x we can remove the unittest2 compat
wrappers and switch to assertCountEqual instead of assertItemsEqual

We have been able to use them since then, because
testtools required unittest2, which still included it. With testtools
removing Python 2.7 support [3][4], we will lose support for
assertItemsEqual, so we should switch to use assertCountEqual.

[1] - https://bugs.python.org/issue17866
[2] - https://hg.python.org/cpython/rev/d9921cb6e3cd
[3] - testing-cabal/testtools#286
[4] - testing-cabal/testtools#277

Change-Id: I3e8725eb77ea947e71d85ea406a60ed94c7bf971
2020-07-07 09:52:52 +08:00
Zuul
f68e3aba49 Merge "Remove amp_ssH_access_allowed option" 2020-06-30 20:23:35 +00:00
Zuul
b8a351092f Merge "Remove amp_image_id option" 2020-06-30 17:54:32 +00:00
Brian Haley
f6a66d86d4 Remove deprecated status_update_threads option
It was marked for removal in the Stein cycle.

Change-Id: Ib82014f92eecbcfd96a4219f2de307e5631486cb
2020-06-29 21:51:01 -04:00
Zuul
ec2f89830d Merge "Fix UDP pool transform in LVS driver" 2020-06-30 01:17:20 +00:00
Zuul
a1b5b81cc5 Merge "Add warning when running simple_server" 2020-06-30 00:17:43 +00:00
Zuul
179f00e839 Merge "Add minimum TLS version option in octavia.conf" 2020-06-29 22:47:36 +00:00
Zuul
f399bd83c2 Merge "Fix error on devstack cleanup" 2020-06-26 21:38:42 +00:00
Michael Johnson
40731e572f Fix neutron subnet lookup ignoring endpoint_type
The recent patch[1] that adds a neutron subnet lookup using the user
context is not honoring the interface/endpoint_type or region_name
settings for neutron in the octavia configuration file.
This is causing problems for deployments that use the "internal"
endpoint for neutron and the current code will always return
the "public" endpoint.
This patch corrects this problem by including those filter
parameters when the neutron endpoint is looked up in keystone.

[1] https://review.opendev.org/726042

Change-Id: I7b8f7c7d653b37395f9a660be67f954a3a6f26d9
Story: 2007863
Task: 40173
2020-06-25 17:10:38 +00:00
Carlos Goncalves
41c628a084 Fix missing params in amphora base and noop driver
Running amphora failover against the amphora noop driver was raising a
TypeError (reload() takes from 2 to 3 positional arguments but 4 were
given).

Change-Id: I64172d6995959cf377364584ad9a2395f9ec0605
2020-06-24 12:05:05 +02:00
Carlos Goncalves
cd52cce7f7 Remove amp_ssH_access_allowed option
This option entered deprecation in Queens and is used no where nowadays.

Change-Id: I3734a9083fa83174c530b65128baee2fe0e593d7
2020-06-24 10:16:20 +02:00
Carlos Goncalves
33d28b07c2 Remove amp_image_id option
This option entered deprecation in Mitaka and is long due to be removed.

Change-Id: Ide048da1c87a4e9bc6574b39e2cf6b96b4dfaf95
2020-06-23 19:54:20 +02:00
Carlos Goncalves
89123c0fc1 Add missing reload method in amphora noop driver
The reload method was also missing in the abstract class.

Task: 40140
Story: 2007847

Change-Id: I2328b3dc4d5b95c8771a305d3d4bb1dee6019117
2020-06-23 10:58:22 +02:00
Zuul
e475734b2a Merge "Clarify health monitor behavior" 2020-06-23 08:06:09 +00:00
Zuul
e92c72b970 Merge "Cap jsonschema 3.2.0 as the minimal version" 2020-06-22 09:05:35 +00:00
Zuul
dcb18c22fe Merge "fix(elements): fix nf_conntrack sysctl param names" 2020-06-22 07:02:55 +00:00
Zuul
d8aceef0d5 Merge "Update the API audit map" 2020-06-21 16:23:51 +00:00
Zuul
3e765636c5 Merge "Fix API audit CADF audit map for failover action" 2020-06-21 16:22:44 +00:00
Zuul
265e4cbd98 Merge "Prioritize policy validation" 2020-06-21 16:22:42 +00:00
Mikhail Ushanov
3ef4a75a17 fix(elements): fix nf_conntrack sysctl param names
Remove net.ipv4.tcp_tw_recycle because it has been
removed from kernel since 4.12.
Change for tcp_timeout_time_wait/tcp_timeout_fin_wait
to net.netfilter.nf_*.

Change-Id: I0e3cde5aad9e9b6007f975eafb0205e2912b19d3
Signed-off-by: Mikhail Ushanov <gm.mephisto@gmail.com>
2020-06-21 12:00:51 +00:00
Zuul
77786595e5 Merge "Refactor the failover flows" 2020-06-19 21:58:32 +00:00