3519 Commits

Author SHA1 Message Date
380f5c4cce Update master for stable/wallaby
Add file to the reno documentation build to show release notes for
stable/wallaby.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/wallaby.

Sem-Ver: feature
Change-Id: Ia31fee0c458533918d5b4ac65366d7db1443d1be
2021-03-26 19:14:17 +00:00
Zuul
3cdac6afc0 Merge "Fix empty Batch Member Update to unlock objects" 2021-03-25 03:17:08 +00:00
Zuul
e974d83adb Merge "Fix using subnets with host_routes in amphorav2 driver" 2021-03-24 23:57:07 +00:00
Adam Harwell
00e3f8349d Fix empty Batch Member Update to unlock objects
Move the decision up one layer to the API controller.
The amphora driver should now just do as it is told.

Change-Id: Idb3ad20b8539bfdb788981a8634317257d83b238
Story: 2008731
Task: 42083
2021-03-24 00:59:18 +00:00
Gregory Thiemonge
d0ec3aaf23 Fix using subnets with host_routes in amphorav2 driver
When using subnets with host_routes in amphorav2, the host_routes
attribute in the Subnet data structure was not correctly converted to a
HostRoute data structure. It triggered exceptions and failed to
provision the load balancer.

Story 2008738
Task 42092

Change-Id: I39391070cea170a6039f901093f09fc89ba06123
2021-03-23 15:10:45 +01:00
Bodo Petermann
0513319f3d Fix LB failover for amphorav2: set security group
Fix for the issue that an amphorav2 LB cannot be reached after
loadbalancer failover. The LB security group was not set in the
amphora port.

Fixed the v2 variant of UpdateVIPSecurityGroup to actually return the
security group id (v1 already did).
The flow created in get_failover_LB_flow uses UpdateVIPSecurityGroup
which is supposed to provide VIP_SG_ID, which is later needed in
get_amphora_for_lb_failover_subflow as a requirement for
CreateVIPBasePort.

Story: 2008735
Task: 42087
Change-Id: I1bb334ef0c11a79038b21a873a6675d76b0fbefc
2021-03-22 18:13:15 +01: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
Zuul
71c7402bc9 Merge "Fix provider driver quota handling" 2021-03-15 00:31:06 +00:00
Zuul
f8aaaafe8e Merge "Fix incorrect ERROR status with IPv6 UDP members" 2021-03-12 20:11:20 +00:00
Michael Johnson
fc8ee42dfc Fix provider driver quota handling
When provider drivers registered a load balancer object delete,
the driver agent was not decrementing the project quota.
This patch corrects that by decrementing the proper quota
when a DELETED status is received from the provider driver.

Change-Id: I7d705c9f4f0217c6fbe332f45b15892bf1d4a90b
Story: 2008268
Task: 41133
2021-03-11 22:43:16 +00:00
Zuul
217cdbb719 Merge "Add aarch64/amd64 support to amphora and devstack" 2021-03-11 10:29:05 +00:00
Zuul
4902b9ef5f Merge "Remove some miscellaneous sanity check code" 2021-03-11 09:26:29 +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
Carlos Goncalves
e99d7b9389 Add aarch64/amd64 support to amphora and devstack
The disk image create tool can now build aarch64/arm64 amphora images.
The devstack plugin will facilitate image builds and upload to Glance
for this CPU architecture.

Change-Id: I1cebd8a3da58dc56ebbfac22f7802ab7f52585e1
2021-03-10 18:54:50 +01:00
Brian Haley
91ee39a9d6 Remove some miscellaneous sanity check code
Since the tempest tests are in another repository, this
code serves no purpose so remove it.

Change-Id: I73ede8d646cf874a433bc995bb25fc32c4fa04d8
2021-03-10 11:23:48 -05:00
Zuul
651f095a81 Merge "Remove Neutron SDN-specific code" 2021-03-10 11:07:11 +00: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
Zuul
ef05f5b571 Merge "Small fix in loadbalancer POST api-ref" 2021-03-08 08:16:39 +00:00
Zuul
8d72f571e1 Merge "Add HTTP/2 to default lists of ALPN protocols" 2021-03-05 18:51:26 +00:00
Zuul
fbfa1e30ec Merge "Add retry for getting amphora VM" 2021-03-05 14:35:38 +00:00
Zuul
36cd7817d5 Merge "Fix health manager messages about failed failovers" 2021-03-05 13:24:31 +00:00
Zuul
1f3a55510c Merge "Fix LB failover when IP addresses exhausted" 2021-03-05 13:09:23 +00:00
Carlos Goncalves
dd3edb635b Add HTTP/2 to default lists of ALPN protocols
The two tested Linux distributions for Wallaby release (Ubuntu 20.04 and
CentOS 8) [1] provide a recent enough HAProxy version (>=2.0) that allow
us to add HTTP/2 to the default ALPN protocols list for listeners and
pools.

[1] https://governance.openstack.org/tc/reference/runtimes/wallaby.html

Change-Id: I998bea5e7bcdc28962f2f393e204791a0b519910
2021-03-05 13:23:43 +01:00
Michael Johnson
d17b23282c Fix grenade resource waiters
The grenade job resource.sh script is waiting for the created object
status but not the overall load balancer status to go ACTIVE.
This can lead to the script failing with a 409 error.

This patch adds a check for the load balancer to be unlocked before
advancing to the next create call.

Change-Id: I6505243ddbf1eab7d110e9bfa03bffda840f07ae
2021-03-05 01:40:25 +00:00
Michael Johnson
e3ab49c60a Fix LB failover when IP addresses exhausted
When a load balancer failover was performed on a load balancer where
the VIP address is on a subnet that has no IP addresses available,
the VIP address may be deactivated.
This patch corrects the failover flow to not deallocate the VIP
address on a failover revert flow due to the subnet being out of
IP addresses.

Story: 2008625
Task: 41827
Change-Id: I1fe342d2bdf1301dd89ab7dfaa8e6a23e69c252b
2021-03-04 23:50:32 +00:00
Zuul
79268cc9e3 Merge "Fix overriding default listener timeout values in config file" 2021-03-03 09:22:36 +00:00
Ann Taraday
08e1d6d060 Add retry for getting amphora VM
An issue has been observed several times when amphora VM failed
to get, although its creation was successful.
Add retry to avoid stop loadbalancer creation.

Change-Id: Ic94d226ad6e25323b94bc85f3ad847937b3be218
Story: 2007637
Task: 39690
2021-03-01 09:44:41 +00:00
Gregory Thiemonge
b95fbe9ed4 Fix overriding default listener timeout values in config file
The default value for timeout parameters in the BaseListenerType was
not correctly set because the class was defined before reading the
config file.

Story 2008666
Task 41953

Change-Id: Ia4aa2047a79ad6fc3e33c7ebe2da9438914f7a88
2021-03-01 08:57:30 +01: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
c37738ba6f Fix pep8 errors
pylint 2.7.0 added additional checks for inconsistent-return-statements:
- inconsistent-return-statements message is now emitted if one of
  try/except statement is not returning explicitly while the other do.

Change-Id: I196e13996ce4bce93d9a8eed87f6c3cb8ef3cea1
2021-02-22 17:52:27 +01: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
3f6fb8af22 Fix health manager messages about failed failovers
The health manager displayed some incorrect statistics about failed
failovers, they were marked as "successfully completed failovers".
The exception from the failover_amphora function was not reraised when
called from health-manager, now the exception is reraised, allowing the
health-manager to compute correct statistics.

Story 2008636
Task 41876

Change-Id: Icb1430a3709566796e39fbfa962c2541c504b9ae
2021-02-18 16:05:53 +01:00
Zuul
38887c6f0f Merge "Configure rsyslog on Octavia service nodes in devstack" 2021-02-17 18:45:25 +00:00
Zuul
de644d398b Merge "Add SCTP support in Amphora" 2021-02-17 16:12:28 +00:00
Zuul
da4e1e26ab Merge "Fix pools going into ERROR when updating the pool" 2021-02-17 08:26:11 +00:00
Zuul
8431d46236 Merge "Disable auto configuration of new interfaces in NetworkManager" 2021-02-16 23:55:37 +00:00
Michael Johnson
370aa4e61c Fix pools going into ERROR when updating the pool
There was a bug that would cause a pool to go into ERROR if you attempted
to update the CRL or client certificate on the pool.

Change-Id: I736816247131715f5c385b4680614ec3218a2ad7
Story: 2008295
Task: 41180
2021-02-11 11:50:41 +01:00
Gregory Thiemonge
f45092a876 Configure rsyslog on Octavia service nodes in devstack
{admin,tenant}_log_targets options are configured with
MGMT_PORT_IP in devstack, which contains the IP address
of the local management interface. In multinode setup,
it means that the second node should run a rsyslog
service to receive logs from amphorae that have been
spawned by its worker.

Change-Id: If2841720009c2e402127e2e0080efdd56b68f6c9
2021-02-09 12:06:19 +01:00
Lance Bragstad
a822f30eb1 Bump oslo.policy version to 2.1.0
The secure RBAC work requires the of oslo.policy's scope_types argument,
which was made available in 1.32.0. This commit updates to version 2.1.0
so that we're using something more relevant.

Required oslo.context bump.

Change-Id: I48e8882f629886d1b8abadff6e60aad91d1169c7
2021-02-08 17:18:55 +00:00
Lance Bragstad
7d8b0db3c8 Bump oslo.log version to 4.3.0
This allows us to use the Wallaby release marker in versionutils for
deprecations.

Required some other bumps to satisfy lower-constraints.

Change-Id: I3c2be8a5189dcda24c42ed7ab4d8fa33a03c5d3e
2021-02-08 17:17:15 +00:00
Gregory Thiemonge
a518cefda1 Disable auto configuration of new interfaces in NetworkManager
NetworkManager in Centos images configures new network devices as soon
as they appear in the default namespace, it means that we might have
conflicts between the management interface's routes and address and the
new VIP or member interfaces' routes and addresses during a small period
of time before they are moved to the amphora-haproxy namespace.

Now, the "no-auto-default=*" option is enabled in NetworkManager, it
disables the configuration of new interfaces, while the management
interface is still enabled/configured through cloud-init.

Story 2008599
Task 41773

Change-Id: I6dd8e99b07ff557674871cb503dece96a9df3ada
2021-02-06 22:26:07 +01:00
Gregory Thiemonge
e5f9f6708c Fix incorrect ERROR status with IPv6 UDP members
Some IPv6 UDP members were incorrectly marked in ERROR status because of
a formatting issue between the keepalived configuration file and the
ipvsadm output. Both are used to compute the state of the members and
when a member's address contained '*:0:*', parsing was incorrect. Now
the health message generation function uses only the compressed IPv6
notation instead of mixing notations.

Story: 2008604
Task: 41783

Change-Id: I2fe94cd4c000f143c59c69e82d03c690acf5e0c3
2021-02-06 17:39:13 +01:00
Gregory Thiemonge
6a7d8b2cdc Small fix in loadbalancer POST api-ref
The user can set flavor_id and provider, but the provider of the flavor
profiles must match the provider parameter.

Change-Id: I6453c177408e6d9db46317e3b3de26df3e44671c
2021-02-02 16:50:24 +01:00
Zuul
9c6eb49172 Merge "Add default value for enabled column in l7rule table" 2021-02-01 21:05:46 +00:00
Zuul
f5e6292991 Merge "Bump the minimum coverage to 92%" 2021-01-31 02:03:59 +00:00
Zuul
1a9afe2099 Merge "Correct spell error" 2021-01-30 04:31:30 +00:00
Zuul
2de31e9173 Merge "Add validation for VIP network parameters in amphora driver" 2021-01-30 00:45:33 +00:00
Michael Johnson
9b2c6425a3 Bump the minimum coverage to 92%
As we continue to improve our code coverage we can now bump the
gate minimum to 92% minimum.

Change-Id: I53cf76182d2ba9f1aad81edc9da68bedd4a81aba
2021-01-29 23:02:18 +00: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