You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add pod-to-pod test cases for secondary CUDN and UDN Layer3 and
Layer2 networks, plus CUDN localnet, with dedicated network names
and CIDRs for each permutation.
Create all selected secondary networks per test entry and attach
their NADs to shared pre-provisioned pods while selecting the exact
network for each test. Update evaluator configs, fixtures, and docs.
Signed-off-by: Venkat Kunaparaju <vkunaparaju@nvidia.com>
Copy file name to clipboardExpand all lines: README.md
+26-7Lines changed: 26 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -151,6 +151,16 @@ dpu_node_host_label: (37)
151
151
| 66 | HOST_TO_LOAD_BALANCER_TO_HOST_SAME_NODE |
152
152
| 67 | HOST_TO_LOAD_BALANCER_TO_HOST_DIFF_NODE |
153
153
| 68 | POD_TO_EXTERNAL_EGRESS |
154
+
| 69 | CUDN_LAYER3_POD_TO_POD_SAME_NODE |
155
+
| 70 | CUDN_LAYER3_POD_TO_POD_DIFF_NODE |
156
+
| 71 | UDN_LAYER3_POD_TO_POD_SAME_NODE |
157
+
| 72 | UDN_LAYER3_POD_TO_POD_DIFF_NODE |
158
+
| 73 | CUDN_LAYER2_POD_TO_POD_SAME_NODE |
159
+
| 74 | CUDN_LAYER2_POD_TO_POD_DIFF_NODE |
160
+
| 75 | UDN_LAYER2_POD_TO_POD_SAME_NODE |
161
+
| 76 | UDN_LAYER2_POD_TO_POD_DIFF_NODE |
162
+
| 77 | CUDN_LOCALNET_POD_TO_POD_SAME_NODE |
163
+
| 78 | CUDN_LOCALNET_POD_TO_POD_DIFF_NODE |
154
164
4. "duration" - The duration that each individual test will run for.
155
165
5. "pre_provision" - (Optional) Whether to pre-provision all pods and services once before the test run begins, rather than creating and tearing them down per test case. Defaults to false. Takes in "true/false".
156
166
6. "name" - This is the connection name. Any string value to identify the connection.
@@ -177,7 +187,7 @@ dpu_node_host_label: (37)
177
187
| measure_power | Measure Power Usage |
178
188
| validate_offload | Verify OvS Offload |
179
189
21. "test_cases" - (Optional) Restrict a plugin to run only for the specified test cases. Uses the same format as the top-level `test_cases` field. By default, the plugin runs for every test case.
180
-
22. "secondary_network_nad" - (Optional) - The name of the secondary network for multi-homing and multi-networkpolicies tests. For tests except 27-31, the primary network will be used if unspecified (the default which is None). For mandatory tests 27-31 it defaults to "tft-secondary" if not set. Can be overridden per-node using the server/client level `secondary_network_nad` fields. The framework automatically creates and cleans up the NAD when these test cases are selected or when SRIOV nodes reference a secondary NAD. Subnets, MTU, and topology default to `10.193.0.0/16/26`, `1500`, and `layer3`, overridable via `TFT_SECONDARY_NAD_SUBNETS`, `TFT_SECONDARY_NAD_MTU`, and `TFT_SECONDARY_NAD_TOPOLOGY`.
190
+
22. "secondary_network_nad" - (Optional) - The name of the secondary network for multi-homing and multi-networkpolicies tests. For mandatory tests 27-31 it defaults to "tft-secondary" if not set and can be overridden per-node using the server/client level `secondary_network_nad` fields. Tests 69-78 instead use the generated NAD selected by each test case and do not use this option. The framework automatically creates and cleans up the regular secondary NAD when required. Subnets, MTU, and topology default to `10.193.0.0/16/26`, `1500`, and `layer3`, overridable via `TFT_SECONDARY_NAD_SUBNETS`, `TFT_SECONDARY_NAD_MTU`, and `TFT_SECONDARY_NAD_TOPOLOGY`.
181
191
23. "resource_name" - (Optional) - The resource name for tests that require resource limit and requests to be set. This field is optional and will default to None if not set, but if secondary network nad is defined, traffic flow test tool will try to autopopulate resource_name based on the secondary+network_nad provided.
182
192
24. "cpu_request" - (Optional) CPU request for server and client pods (e.g. "10m", "500m"). No CPU request is set if omitted.
183
193
25. "cpu_limit" - (Optional) CPU limit for server and client pods (e.g. "20m", "1000m"). No CPU limit is set if omitted.
@@ -207,15 +217,21 @@ dpu_node_host_label: (37)
207
217
208
218
See the [OVN-Kubernetes UDN documentation](https://github.com/ovn-kubernetes/ovn-kubernetes/blob/master/docs/features/user-defined-networks/user-defined-networks.md) for details on User Defined Networks.
209
219
210
-
Test cases 37-47 run traffic over OVN-Kubernetes User Defined Networks. The framework creates and cleans up a `{namespace}-udn` namespace with the appropriate UDN CRDs automatically. NetworkPolicies and LoadBalancer services for UDN tests are also created in (and torn down from) the `{namespace}-udn` namespace.
220
+
Test cases 37-47 and 69-78 run traffic over OVN-Kubernetes User Defined Networks. The framework creates and cleans up a `{namespace}-udn` namespace with the appropriate UDN CRDs automatically. NetworkPolicies and LoadBalancer services for UDN tests are also created in (and torn down from) the `{namespace}-udn` namespace.
211
221
212
-
-**37-47** (Primary UDN): Layer3 network replacing the pod's default network.
222
+
-**37-47** (Primary UDN): Network replacing the pod's default network. Its mode, topology, and transport are configured through `udn_primary_network`.
213
223
-**37-42**: pod-to-pod, ClusterIP, and NodePort.
214
224
-**43**: pod-to-external (egress out of the UDN to the public internet).
215
225
-**44-45**: NetworkPolicy enforcement on the primary UDN (deny / allow).
216
226
-**46-47**: pod-to-LoadBalancer-to-pod (same / different node).
227
+
-**69-78** (Secondary UDN/CUDN): Pod-to-pod tests over a second interface.
228
+
-**69-70**: Layer3 CUDN.
229
+
-**71-72**: Layer3 UDN.
230
+
-**73-74**: Layer2 CUDN.
231
+
-**75-76**: Layer2 UDN.
232
+
-**77-78**: Localnet CUDN.
217
233
218
-
CIDRs default to `15.1.0.0/16` (primary), `15.2.0.0/16` (secondary), and `15.3.0.0/24` (localnet), overridable via `TFT_UDN_PRIMARY_CIDR`, `TFT_UDN_SECONDARY_CIDR`, and `TFT_UDN_LOCALNET_CIDR`. The localnet physical network name defaults to `physnet`, overridable via `TFT_UDN_LOCALNET_PHYSICAL_NETWORK`. Reference manifests are in `manifests/udn.yaml.j2` and `manifests/cudn.yaml.j2`.
234
+
The primary CIDR defaults to `15.1.0.0/16`. Secondary CIDRs default to `15.2.0.0/16` (Layer3 CUDN), `15.3.0.0/16` (Layer3 UDN), `15.4.0.0/16` (Layer2 CUDN), `15.5.0.0/16` (Layer2 UDN), and `15.6.0.0/24` (localnet CUDN). Each CIDR has a corresponding environment variable listed below. The localnet physical network name defaults to `physnet`, overridable via `TFT_CUDN_LOCALNET_PHYSICAL_NETWORK`. Reference manifests are in `manifests/udn.yaml.j2` and `manifests/cudn.yaml.j2`.
219
235
220
236
`udn_primary_network` supports `mode` values `udn` and `cudn`, `topology` values `layer3` and `layer2`, and `transport` values `overlay` and `no-overlay`. `no-overlay` requires `mode: cudn` and `topology: layer3`.
221
237
@@ -420,9 +436,12 @@ match. The `EgressIP` resource and the egress node's labels are removed during c
420
436
- `TFT_KUBECONFIG`, `TFT_KUBECONFIG_INFRA` to overwrite the kubeconfigs from the configuration
421
437
file. See also the "--kubeconfig" and "--kubeconfig-infra" command line options.
422
438
- `TFT_UDN_PRIMARY_CIDR`CIDR for primary UDN tests. Defaults to `15.1.0.0/16`.
423
-
- `TFT_UDN_SECONDARY_CIDR`CIDR for secondary UDN tests. Defaults to `15.2.0.0/16`.
424
-
- `TFT_UDN_LOCALNET_CIDR`CIDR for localnet UDN tests. Defaults to `15.3.0.0/24`.
425
-
- `TFT_UDN_LOCALNET_PHYSICAL_NETWORK`physical network name for localnet UDN tests. Defaults to `physnet`.
439
+
- `TFT_CUDN_SECONDARY_LAYER3_CIDR`CIDR for secondary Layer3 CUDN tests. Defaults to `15.2.0.0/16`.
440
+
- `TFT_UDN_SECONDARY_LAYER3_CIDR`CIDR for secondary Layer3 UDN tests. Defaults to `15.3.0.0/16`.
441
+
- `TFT_CUDN_SECONDARY_LAYER2_CIDR`CIDR for secondary Layer2 CUDN tests. Defaults to `15.4.0.0/16`.
442
+
- `TFT_UDN_SECONDARY_LAYER2_CIDR`CIDR for secondary Layer2 UDN tests. Defaults to `15.5.0.0/16`.
443
+
- `TFT_CUDN_SECONDARY_LOCALNET_CIDR`CIDR for secondary localnet CUDN tests. Defaults to `15.6.0.0/24`.
444
+
- `TFT_CUDN_LOCALNET_PHYSICAL_NETWORK`physical network name for localnet CUDN tests. Defaults to `physnet`.
426
445
- `TFT_UDN_NO_OVERLAY_OUTBOUND_SNAT_ENABLED`outbound SNAT setting for no-overlay CUDNs. Defaults to `true`.
427
446
- `TFT_UDN_NO_OVERLAY_ROUTING_MANAGED`routing mode for no-overlay CUDNs. Defaults to `false`.
428
447
- `TFT_EXTERNAL_URL`URL to curl for external connectivity tests (e.g. `http://google.com`).
0 commit comments