306 Commits

Author SHA1 Message Date
Zuul
25742da290 Merge "Update the bug tracker links in the doc (switch to Launchpad)" 2023-08-23 23:11:45 +00:00
Zuul
a904f35304 Merge "Add support for HTTP Strict Transport Security" 2023-08-23 20:23:51 +00:00
Tom Weininger
c907547512 Add support for HTTP Strict Transport Security
Closes-Bug: #2017972
Depends-on: https://review.opendev.org/c/openstack/octavia-lib/+/880821
Change-Id: I0f2f2ff6b8c430b2dd06d707097af74bb608dcc9
2023-08-23 18:18:02 +02:00
Gregory Thiemonge
9ba449c9a9 Update the bug tracker links in the doc (switch to Launchpad)
The Octavia has decided to move back to Launchpad for the B release
cycle.

Change-Id: I6f003377824867e74b1a96f9eb3e1df3fdf856da
2023-08-21 10:43:35 +02:00
Michael Johnson
ff80e454ab Remove blockdiag from Octavia
The python blockdiag module is unmaintained and will likely be removed from distros.[1]
This patch removes mention of blockdiag from Octavia as it is unused.

[1] https://github.com/blockdiag/blockdiag/pull/171

Change-Id: I88371364b88bec5f1fd42d6ade8b316be3130f3f
2023-07-31 16:16:32 +00:00
Zuul
12d8e0de5d Merge "Update doc for the OVN provider" 2023-07-13 16:33:20 +00:00
Fernando Royo
25fbd4e8e7 Update doc for the OVN provider
Update doc according last improvements on HM for the OVN
provider. Also point to ovn-octavia-provider repo for doc,
instead to networking-ovn.

Change-Id: I8b83e06c89abcc9100085357c2dc265e3178d1c5
2023-04-10 17:18:20 +02:00
Gregory Thiemonge
3b4ef33f14 Merge amphorav2 provider doc into amphora doc
Change-Id: Ica68aa13b7499bc752c9bbcff1fd713ca1081b05
2023-04-07 08:29:31 +00:00
Gregory Thiemonge
6c0515c988 amphorav1 removal
Removing the amphorav1 provider, it was deprecated in Zed and can now be
removed in Bobcat 2023.2.

Change-Id: I2ecfc0f40549d80b3058b76c619ff4ef35aadb97
2023-04-05 09:23:06 +02:00
Pierre Riteau
1d84f2972f Fix typo in docs section title
Change-Id: Ie4a690263a3de6e85a1081c373c56e2992941622
2022-12-09 17:12:29 +01:00
Zuul
6ec76b1282 Merge "Remove unnecessary unicode prefixes" 2022-09-05 06:21:16 +00:00
Adam Harwell
1d19b702b1 Failover stop threshold / circuit breaker
Stop failovers if the count of simultaneously failed
amphora reaches the number configured in the new
failover_threshold option.
This may prevent large scale accidental failover events,
like in the case of network failures or read-only
database issues.

Story: 2005604
Task: 30837
Co-Authored-By: Tatsuma Matsuki <matsuki.tatsuma@jp.fujitsu.com>
Co-Authored-By: Tom Weininger <tweining@redhat.com>

Change-Id: I0d2c332fa72e47e70d594579ab819a6ece094cdd
2022-09-02 17:15:59 +02:00
Zuul
6e24fa6bd3 Merge "Add event notifications for load balancers." 2022-08-18 11:50:37 +00:00
Spencer Harmon
70257eb6b3 Add event notifications for load balancers.
This patch creates tasks for load balancer notifications and adds them to the amphora loadbalancer create/delete/update flows.

Change-Id: I287d89cd83e91473f1375788c969521aa58ca567
2022-07-29 10:07:02 -05:00
Michael Johnson
5ab6e3d30f Move system scoped secure-RBAC to separate file
This patch moves the system scope configuration in the policy override example files out to a separate override file. This way the new default roles can be enabled independently of system scoped tokens. This helps us align to the changes in the secure-RBAC spec[1].

[1] https://governance.openstack.org/tc/goals/selected/consistent-and-secure-rbac.html

Change-Id: I1b41780f3ca84ceca563d668ae8bb40011a60bf4
2022-07-15 23:43:07 +00:00
Zuul
a94b3101e8 Merge "[doc] Fix client key name in command" 2022-05-10 17:33:15 +00:00
lixuehai
b68b113eb4 Remove unnecessary unicode prefixes
Change-Id: Ib72f02450900654518cec9bef1b5dca397cbfb7a
2022-04-27 15:33:47 +08:00
Zuul
2376f68bba Merge "Improve documentation about log offloading" 2022-04-26 22:50:17 +00:00
Dmitriy Rabotyagov
a88e86e74b [doc] Fix client key name in command
Copy/paste issue was present, so if following guide you would override
client CA key created on step 9 while generating
client key for certificate.

Change-Id: Icc06b48cfe57929030218555ab4b19b1db1ff68a
2022-04-21 12:39:36 +02:00
Zuul
bf007ec4a8 Merge "Add a Grafana dashboard for Octavia load balancers" 2022-04-08 13:37:40 +00:00
Tom Weininger
d556c622b1 Documentation updates
Minor corrections and update of the remote debugging guide.

Change-Id: I0d08aaf4f02f5575f1a68b65ebc16aafad8a0270
2022-03-23 10:00:47 +01:00
Tom Weininger
911300d688 Improve documentation about log offloading
Parts of the documentation about log offloading repeated itself.
I added a new "Failover Considerations" section that focuses on that
topic specifically. Therefore, other sections no longer need to show
multi-server configurations.
The new section contains recommendations about
log_retry_count and log_retry_interval values for failover
configurations as well.

Story: 2009876
Task: 44599
Change-Id: If71fce80329fe772c8248bc2eb4445ea15680c5d
2022-03-11 10:40:50 +01:00
Michael Johnson
f97c826fed Add a Grafana dashboard for Octavia load balancers
This patch adds a Grafana dashboard for Octavia load balancers that can
be imported into Grafana.

Change-Id: I6d4de38dd44adecc677c637a25233494065ba3fb
2022-02-28 17:27:20 +00:00
Michael Johnson
0d9674bd87 Add the PROMETHEUS protocol to listeners
This patch adds a new protocol for listeners called "PROMETHEUS" that exposes
a Prometheus endpoint. This allows detailed metrics collection from Octavia
load balancers.

Change-Id: I3e27e4e57ad955bcd7728426c91f05171a46ef7f
2022-02-22 01:57:53 +00:00
Tom Weininger
4c5e798cc4 Fix wrong SQL statements in documentation
Story: 2009842
Task: 44444
Change-Id: Ibd4d7e700d43179e28d8aa8ef6fba7fb7276264b
2022-02-16 12:10:50 +01:00
Ade Lee
36a642d9d0 Update scripts to use fips allowed algorithms
Openssl genrsa is deprecated in favor of genpkey, and fails in FIPS mode.
Update the relevant calls to use genpkey instead.

Change-Id: I1aab9faa8afe845e445e620d1800785d2e19ad1e
2022-01-17 14:01:16 -05:00
Gregory Thiemonge
8ac5aa7cbe Fix docs jobs and pep8 errors with pylint 2.6.2
Remove test-requirements.txt from docs dependencies, add hacking in
doc/requirements. It should reduce the duration of the docs job.

Removed some comments that disabled consider-using-with in pylint,
most of the flagged code is now considered as false positive.

Change-Id: Ib550542820163be2bbef97df7b090834a6b6dccd
2021-10-08 14:17:03 +02:00
Zuul
e647f6d71a Merge "Edits for "Basic Load Balancing Cookbook"" 2021-07-02 20:17:39 +00:00
Brian Haley
2bcb344fb9 Update contributor documentation
There is a new IRC network in town.

Change-Id: I70fa2fbe5936847e701d2d8dfb6069e33de9c889
2021-06-16 12:36:30 -04:00
Greg Rakauskas
a26494bfcb Edits for "Basic Load Balancing Cookbook"
Several edits from early January 2021.
Tech review edits from two devs incorporated. Thanks!
Additional comments from Brian added. Thanks!

Co-Authored-By: Michael Johnson <johnsomor@gmail.com>
Change-Id: Iddcbe83dc4b3fec796ac94339f2839818890ab2f
2021-05-04 14:32:24 -04:00
Gregory Thiemonge
815a283823 Spare pool removal
Spare pool feature was deprecated in Victoria, we decided to remove it
during the Xena release cycle.

Change-Id: I830c6a4c49fa47105f788cf99a0f775e5dbdcaea
2021-04-28 09:10:09 +02:00
Greg Rakauskas
de352cac20 Edits for "Operator Maintenance Guide"
Several edits from early January 2021.

Co-Authored-By: Michael Johnson <johnsomor@gmail.com>
Change-Id: Ib2408ef82e12b50c112b224b6f02f0e00a441a86
2021-04-20 17:20:57 -04:00
Michael Johnson
6c54eab5b5 Make /healthcheck cache results
The healthcheck endpoint should cache results to reduce the potential load on the backend systems being tested.
This patch adds the caching and a configuration setting for the interval
between cache refreshes.

Change-Id: Ic97a991437144f3a220d9b96839cec5b63565f8c
Story: 2008203
Task: 40987
2021-03-15 21:43:43 +00:00
Ghanshyam Mann
c5e59b5e9e [goal] Deprecate the JSON formatted policy file
As per the community goal of migrating the policy file
the format from JSON to YAML[1], we need to do two things:

1. Change the default value of '[oslo_policy] policy_file''
config option from 'policy.json' to 'policy.yaml' with
upgrade checks.

2. Deprecate the JSON formatted policy file on the project side
via warning in doc and releasenotes.

[1]https://governance.openstack.org/tc/goals/selected/wallaby/migrate-policy-format-from-json-to-yaml.html

Change-Id: I8b78c7b640ab18ddfc809cb4603decc739d494d1
2021-03-10 22:09:35 -06:00
Zuul
41ff3ee3f1 Merge "Add support for scoped tokens and default roles" 2021-03-10 02:55:08 +00:00
Michael Johnson
a5f142c566 Add support for scoped tokens and default roles
This patch is the base patch to enable support for Keystone
scoped tokens[1] and default roles[2] in the Octavia API.

It strives to maintain backward compatibility and support for
Octavia Advanced RBAC roles.

[1] https://docs.openstack.org/keystone/latest/admin/tokens-overview.html#authorization-scopes
[2] https://docs.openstack.org/keystone/latest/admin/service-api-protection.html

Change-Id: I4443d4531dc97d14f8277024baa11ab43e87fb39
2021-03-08 19:33:35 +00:00
Carlos Goncalves
c93a76b9f3 Add HTTP/2 example to the load balancing cookbook
Change-Id: I55453a92ad8107bf19fc8dd20e5b5d90e2b6458b
2021-02-23 08:36:44 +00:00
Gregory Thiemonge
ce2e0d7425 Add test coverage for SCTP health checker script
Also removed a block of shell code in install-ubuntu.rst,
because the block triggered an error in the doc job and it was unused.

Change-Id: I41033e8cd9710a91b9502db11577b1f1cb85fa46
2021-02-19 08:34:46 +01:00
Gregory Thiemonge
2888f44e7b Add SCTP support in Amphora
Add SCTP support in the Amphora (with keepalived).
Add amphora-health-checker script for customized SCTP health checks
(INIT/INIT-ACK/ABORT).

Change-Id: I30997ae6cc6b8ec724f0e9dcfdfe49356b320ff4
Story: 2007884
Task: 40932
2021-01-29 13:58:39 +01:00
Carlos Goncalves
d2d5fc80f8 Add ALPN support for TLS-enabled pools
ALPN is a TLS extension for application-layer protocol negotiation
within the TLS handshake [1].

This patch extends the Pool API to include a new 'alpn_protocols'
parameter. With this parameter, users can set an ALPN preference list
(descending order of preference) to be advertised by load balancer to
members.

This patch also adds HTTP/2 over TLS support to TLS-enabled pools to the
Amphora provider driver, although default the pool ALPN protocol list
configuration setting has HTTP/2 disabled similarly to the default
listener ALPN protocol list value added in Victoria release.

[1] https://tools.ietf.org/html/rfc7301

Change-Id: I91924486bab22601c15c538c8a5282ad8bc54700
2021-01-28 14:42:48 +01:00
Zuul
009af5b0d8 Merge "Correct a typo in the document" 2020-10-29 09:09:50 +00:00
Zuul
f306ec7f46 Merge "Add requirements for jobboard drivers" 2020-09-10 22:02:29 +00:00
Gregory Thiemonge
639c11751e Add SCTP support in API
Add SCTP support in the API for listeners, pools, health-monitors
resources.

Story: 2007884
Task: 40255

Change-Id: I57a3c528a20943724bdcd36422c689f496068330
2020-09-10 11:23:04 +00:00
Zuul
49912974b7 Merge "Deprecate the Spares Pool feature for removal in X" 2020-09-09 00:44:19 +00:00
Adam Harwell
29a2ec7187 Deprecate the Spares Pool feature for removal in X
Use of the spares pool was originally recommended to increase provisioning
speed, but since Nova's server groups do not support adding existing VMs,
Octavia cannot support use of the spares pool with the Active-Standby
topology. Since this is our recommended topology for production deployments,
and speed is less essential in development/testing environments (the
only place we could recommend the use of Single topology), the overhead of
maintaining spares pool support exceeds its theoretical usefulness.

Change-Id: I7375e9758c7ae80e2370189117e8e63c79446490
2020-09-08 14:29:58 -07:00
Michael Johnson
7fe78c5943 Add proxy v2 protocol support
This patch adds support for the proxy protocol v2 on pools.

Depends-On: https://review.opendev.org/747296
Change-Id: Ic112c5e71ee9b6433b307fdf27059f217ba4136e
Story: 2005611
Task: 30858
2020-09-04 18:15:16 +00:00
Ann Taraday
460566e328 Add requirements for jobboard drivers
As Octavia allows to use RedisTaskFlowDriver or
ZookeeperTaskFlowDriver we should install python clients that
allows to work with redis and zookeeper backends.

Story: 2007892

Change-Id: I7312c8c1057618e909339aa7a4dfeb836f4b8f33
2020-09-03 08:02:01 +00:00
Michael Johnson
d5fe092a3e Update amphora v2 for the failover refactor
This patch will update the amphora v2 code for the failover refactor[1].

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

Change-Id: I43803d0b750e8ca4722ababe296f2725148da405
2020-09-03 11:48:14 +04:00
Carlos Goncalves
a5f0524fd0 Add ALPN support for TLS-terminated HTTPS LBs
ALPN is a TLS extension for application-layer protocol negotiation
within the TLS handshake [1].

This patch extends the Listener API to include a new 'alpn_protocols'
parameter. With this parameter, users can set an ALPN preference list
(descending order of preference).

Presently, the amphora provider driver is limited to http/1.0 and
http/1.1 ALPN protocol IDs. Support for "h2" (HTTP/2 over TLS) depends
on HAProxy 2.0 or newer.

[1] https://tools.ietf.org/html/rfc7301

Change-Id: If08a8169498cdfaa75440e8971ba0caff45ac4c4
2020-08-27 13:19:52 +02:00
suhaiming
03e6c73d5e Correct a typo in the document
Change-Id: Iaac4449b5c6757feb61b983ab5a1a1d92ccd7f3d
2020-08-27 08:25:24 +00:00