Skip to content

Commit d6746db

Browse files
authored
Merge pull request #99999 from kquinn1204/TELCODOCS-2477
TELCODOCS-2537 Egress documentation not clear
2 parents e2b36fe + 3843ef2 commit d6746db

File tree

5 files changed

+115
-47
lines changed

5 files changed

+115
-47
lines changed
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
// Module included in the following assembly:
2+
//
3+
// *networking/ovn_kubernetes_network_provider/egressip_failover_assembly.adoc
4+
5+
:_mod-docs-content-type: PROCEDURE
6+
[id="egressip_configure_failover_task_{context}"]
7+
= Configuring the EgressIP failover time limit
8+
9+
Follow this procedure to configure the `reachabilityTotalTimeoutSeconds` parameter and control how quickly the system detects a failing `egressIP` node and initiates a failover.
10+
11+
.Prerequisites
12+
13+
* Install the OpenShift CLI (`oc`).
14+
* Log in to the cluster as a cluster administrator.
15+
16+
.Procedure
17+
18+
. Edit the `Network` custom resource by running the following command:
19+
+
20+
[source,bash]
21+
----
22+
$ oc edit network.operator cluster
23+
----
24+
25+
. Navigate to the `egressIPConfig: {}` section under `spec:defaultNetwork:ovnKubernetesConfig:`
26+
27+
. Modify the block to include the `reachabilityTotalTimeoutSeconds` parameter with your chosen value, 5 seconds for example. Make sure to use the correct indentation:
28+
+
29+
[source,yaml]
30+
----
31+
defaultNetwork:
32+
ovnKubernetesConfig:
33+
egressIPConfig:
34+
reachabilityTotalTimeoutSeconds: 5
35+
----
36+
+
37+
[NOTE]
38+
====
39+
The value must be an integer between 0 and 60. For details on possible values, see the "EgressIP failover settings" section.
40+
====
41+
42+
. Save and exit the editor. The operator automatically applies the changes.
43+
44+
.Verification
45+
46+
. Verify that the system correctly accepted the `reachabilityTotalTimeoutSeconds` parameter by running the following command:
47+
+
48+
[source,terminal]
49+
----
50+
$ oc get network.operator cluster -o yaml
51+
----
52+
53+
. Inspect the output and confirm that the `reachabilityTotalTimeoutSeconds` parameter is correctly nested under `spec:defaultNetwork:ovnKubernetesConfig:egressIPConfig:` with your intended value:
54+
+
55+
[source,yaml]
56+
----
57+
# ...
58+
spec:
59+
# ...
60+
defaultNetwork:
61+
ovnKubernetesConfig:
62+
egressIPConfig:
63+
reachabilityTotalTimeoutSeconds: 5
64+
gatewayConfig:
65+
# ...
66+
----
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// Module included in the following assembly:
2+
//
3+
// *networking/ovn_kubernetes_network_provider/egressip_failover_assembly.adoc
4+
5+
:_mod-docs-content-type: CONCEPT
6+
[id="egressip_failover_concept_{context}"]
7+
= Understanding EgressIP failover control
8+
9+
The `reachabilityTotalTimeoutSeconds` parameter controls how quickly the system detects a failing `egressIP` node and initiates a failover. This parameter directly determines the maximum time the platform waits before declaring a node unreachable.
10+
11+
[IMPORTANT]
12+
====
13+
When you configure `egressIP` with multiple egress nodes, the complete failover time from node failure to recovery on a new node is expected to be on the order of seconds or longer. This is because the new IP assignment can only begin after the `reachabilityTotalTimeoutSeconds` period has fully elapsed without a successful check.
14+
====
15+
16+
To ensure traffic uses the correct external path, `egressIP` traffic on a node will always egress through the network interface on which the `egressIP` address has been assigned.
17+
18+
// Next step: The user must perform a task to implement this configuration.
19+
// See xref:egressip_configure_failover_task.adoc[Configuring the Failover Time Limit].
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// Module included in the following assembly:
2+
//
3+
// *networking/ovn_kubernetes_network_provider/egressip_failover_assembly.adoc
4+
5+
:_mod-docs-content-type: REFERENCE
6+
[id="egressip_failover_reference_{context}"]
7+
= EgressIP failover settings
8+
9+
The `reachabilityTotalTimeoutSeconds` parameter defines the total time limit in seconds for the platform health check process before a node is declared down.
10+
11+
The following table summarizes the acceptable values and their implications:
12+
13+
[cols="1,1,2a", options="header"]
14+
|===
15+
|Parameter Value (Seconds) |Effect on reachability check |Failover impact and use case
16+
|`0` |Disables the reachability check. |No automatic failover: Use only if an external system handles node health monitoring and failover. The platform will not automatically react to node failures.
17+
|`1 - 60` |Sets the total time limit for reachability probing. |Directly controls detection time: This value defines the lower limit for your overall failover time. A smaller value leads to faster failover but might increase network traffic. Default: 1 second. The maximum accepted integer value is 60.
18+
|===

modules/nw-egress-ips-config-object.adoc

Lines changed: 0 additions & 42 deletions
This file was deleted.

networking/ovn_kubernetes_network_provider/configuring-egress-ips-ovn.adoc

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,18 @@ include::modules/nw-egress-ips-considerations.adoc[leveloffset=+1]
2626
// Assigning an egress IP address to a namespace
2727
include::modules/nw-egress-ips-assign.adoc[leveloffset=+1]
2828

29+
// START: Conditional block for EgressIP Failover Configuration (Replaces nw-egress-ips-config-object.adoc)
30+
ifndef::openshift-rosa,openshift-rosa-hcp[]
31+
// Explains the 'Why' and 'What' of failover control (The Job to be Done)
32+
include::modules/egressip_failover_concept.adoc[leveloffset=+1]
33+
34+
// Provides the step-by-step instructions (The How-To)
35+
include::modules/egressip_configure_failover_task.adoc[leveloffset=+2]
36+
37+
// REFERENCE: Describes the parameters (The table of values)
38+
include::modules/egressip_failover_reference.adoc[leveloffset=+2]
39+
endif::openshift-rosa,openshift-rosa-hcp[]
40+
2941
// Labeling a node to host egress IP addresses
3042
include::modules/nw-egress-ips-node.adoc[leveloffset=+1]
3143

@@ -34,11 +46,6 @@ ifndef::openshift-rosa[]
3446
include::modules/nw-egress-ips-object-dual-stack.adoc[leveloffset=+1]
3547
endif::openshift-rosa[]
3648

37-
ifndef::openshift-rosa,openshift-rosa-hcp[]
38-
// The egressIPConfig object
39-
include::modules/nw-egress-ips-config-object.adoc[leveloffset=+1]
40-
endif::openshift-rosa,openshift-rosa-hcp[]
41-
4249
[role="_additional-resources"]
4350
[id="configuring-egress-ips-additional-resources"]
4451
== Additional resources

0 commit comments

Comments
 (0)