Skip to content

Commit 9080985

Browse files
committed
OpenStack: Add note about ETP=Local and Octavia
Setting `.spec.endpointTrafficPolicy=Local` disables node's ability to redirect NodePort traffic to other nodes when no endpoint of that NodePort Service exists on the target node. This means that LoadBalancer Services need to be smart and only direct traffic to nodes that host the endpoint pods. This is normally achieved by using endpoint healthchecks. This commit adds a note that it is required to enable "health monitors" support in OpenStack cloud-provider configuration in order to support `ETP=Local` Services. As OVN Octavia provider in OSP16 does not support health monitors, a note is added that `ETP=Local` Services will not function properly with OVN Octavia provider. Also for ingresses with `endpointPublishingStrategy=LoadBalancerService` the created Service will have `ETP=Local` configured. This commit also adds a note to the ingress operator docs that informs that in OpenStack additional configuration of the cloud provider is required to support such Services.
1 parent 75b3d55 commit 9080985

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed

modules/installation-osp-setting-cloud-provider-options.adoc

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,17 +39,31 @@ Configuring Octavia for load balancing is a common case. For example:
3939
[LoadBalancer]
4040
use-octavia=true <1>
4141
lb-provider = "amphora" <2>
42-
floating-network-id="d3deb660-4190-40a3-91f1-37326fe6ec4a"<3>
42+
floating-network-id="d3deb660-4190-40a3-91f1-37326fe6ec4a" <3>
43+
create-monitor = True <4>
44+
monitor-delay = 10s <5>
45+
monitor-timeout = 10s <6>
46+
monitor-max-retries = 1 <7>
4347
#...
4448
----
4549
<1> This property enables Octavia integration.
4650
<2> This property sets the Octavia provider that your load balancer uses. It accepts `"ovn"` or `"amphora"` as values. If you choose to use OVN, you must also set `lb-method` to `SOURCE_IP_PORT`.
4751
<3> This property is required if you want to use multiple external networks with your cluster. The cloud provider creates floating IP addresses on the network that is specified here.
52+
<4> This property controls whether the cloud provider creates health monitors for Octavia load balancers. Set the value to `True` to create health monitors. As of {rh-openstack} 16.1 and 16.2, this feature is only available for the Amphora provider.
53+
<5> This property sets the frequency with which endpoints are monitored. The value must be in the `time.ParseDuration()` format. This property is required if the value of the `create-monitor` property is `True`.
54+
<6> This property sets the time that monitoring requests are open before timing out. The value must be in the `time.ParseDuration()` format. This property is required if the value of the `create-monitor` property is `True`.
55+
<7> This property defines how many successful monitoring requests are required before a load balancer is marked as online. The value must be an integer. This property is required if the value of the `create-monitor` property is `True`.
56+
4857
+
4958
[IMPORTANT]
5059
====
5160
Prior to saving your changes, verify that the file is structured correctly. Clusters might fail if properties are not placed in the appropriate section.
5261
====
62+
+
63+
[IMPORTANT]
64+
====
65+
You must set the value of the `create-monitor` property to `True` if you use services that have the value of the `.spec.endpointTrafficPolicy` property set to `Local`. The OVN Octavia provider in {rh-openstack} 16.1 and 16.2 does not support health monitors. Therefore, services that have `ETP` parameter values set to `Local` might not respond when the `lb-provider` value is set to `"ovn"`.
66+
====
5367

5468
. Save the changes to the file and proceed with installation.
5569
+

modules/nw-ingress-controller-configuration-parameters.adoc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,13 @@ spec:
6262
statsPort: 1936
6363
----
6464
====
65+
+
66+
[NOTE]
67+
====
68+
On {rh-openstack-first}, the `LoadBalancerService` endpoint publishing strategy is only supported if a cloud provider is configured to create health monitors. For {rh-openstack} 16.1 and 16.2, this strategy is only possible if you use the Amphora Octavia provider.
69+
70+
For more information, see the "Setting cloud provider options" section of the {rh-openstack} installation documentation.
71+
====
6572

6673
For most platforms, the `endpointPublishingStrategy` value can be updated. On GCP, you can configure the following `endpointPublishingStrategy` fields:
6774

0 commit comments

Comments
 (0)