Skip to content

Commit

Permalink
system-test: Documentation for tests parameters
Browse files Browse the repository at this point in the history
  • Loading branch information
yprokule committed Jun 27, 2024
1 parent 5083ff4 commit 2273ed5
Showing 1 changed file with 186 additions and 0 deletions.
186 changes: 186 additions & 0 deletions tests/system-tests/rdscore/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
# RDS Core System Tests

Documentaion of parameters to be set for running this test suite.

### _VerifySRIOVWorkloadsOnSameNodeDifferentNet_

This test verifies connectivity between pods that use different SR-IOV networks and are scheduled
on the same node.

Test assumes that `nc` process is listening on IP address(es) on SR-IOV interfaces on both workloads,
for e.g. on `192.168.12.22 1111` on 1st workload and `192.168.12.33 1111` on 2nd workload.

Messages are sent between the workloads and asserted they are present in pods' logs.

| parameter | description | example |
|-----------|-------------|---------|
|rdscore_wlkd_sriov_3_ns | Namespace where to deploy test workload | `my-ns-3` |
|rdscore_wlkd_sriov_cm_data_3 | Content of configMap that is mounted within a pod | |
|rdscore_wlkd_sriov_3_image | Image used by the deployment | `quay.io/myorg/my-sriov-app:1.1` |
|rdscore_wlkd3_sriov_one_cmd | Command executed by 1st container | `["/bin/sh", "-c", "/myapp --run"]` |
|rdscore_wlkd_sriov_3_0_res_requests | Resource requests for 1st container | `cpu: 1` |
|rdscore_wlkd_sriov_3_0_res_limits | Resource limits for 1st container | `memory: 100M` |
|rdscore_wlkd3_sriov_two_cmd | Command executed by 2nd container | `["/bin/sh", "-c", "/myapp --run"]` |
|rdscore_wlkd_sriov_3_1_res_requests | Resource requests for 2nd container | `cpu: 1` |
|rdscore_wlkd_sriov_3_1_res_limits | Resource limits for 2nd container | `memory: 100M` |
|rdscore_wlkd_sriov_net_one | SR-IOV Network for 1st workload | `sriov-net-one` |
|rdscore_wlkd_sriov_3_0_selector | Node selector for both workloads | `kubernetes.io/hostname: worker-X` |
|rdscore_wlkd_sriov_net_two | SR-IOV Network for 2nd workload | `sriov-net-two` |
|rdscore_wlkd3_sriov_deploy_one_target | IPv4 address and port configured on 2nd workload | `192.168.12.22 1111` |
|rdscore_wlkd3_sriov_deploy_one_target_ipv6 | IPv6 address configured on 2nd workload(_Optional_) | |
|rdscore_wlkd3_sriov_deploy_two_target | IPv4 address and port configured on 1st workload | `192.168.12.12 1111` |
|rdscore_wlkd3_sriov_deploy_two_target_ipv6 | IPv6 address configured on 1st workload(_Optional_) | |


### _VerifySRIOVWorkloadsOnDifferentNodesDifferentNet_

This test verifies connectivity between pods that use different SR-IOV networks and are scheduled
on different nodes.

Test assumes that `nc` process is listening on IP address(es) on SR-IOV interfaces on both workloads,
for e.g. on `192.168.12.22 1111` on 1st workload and `192.168.12.33 1111` on 2nd workload.

| paremater | description | example |
|-----------|-------------|---------|
|rdscore_wlkd_sriov_4_ns | Namespace where to deploy test workload | `my-ns-4` |
|rdscore_wlkd_sriov_cm_data_4 | Content of configMap that is mounted within pods | |
|rdscore_wlkd_sriov_4_image | Image used by the workloads | `quay.io/myorg/my-sriov-app:1.1` |
|rdscore_wlkd4_sriov_one_cmd | Command executed by 1st container | `["/bin/sh", "-c", "/myapp --run"]` |
|rdscore_wlkd_sriov_4_0_res_requests | Resource requests for 1st container(_Optional_) | `cpu: 1` |
|rdscore_wlkd_sriov_4_0_res_limits | Resource limits for 1st container(_Optional_) | `memory: 100M` |
|rdscore_wlkd4_sriov_two_cmd | Command executed by 2nd container | `["/bin/sh", "-c", "/myapp --run"]` |
|rdscore_wlkd_sriov_4_1_res_requests | Resource requests for 2nd container(_Optional_) | `cpu: 1` |
|rdscore_wlkd_sriov_4_1_res_limits | Resource limits for 2nd container(_Optional_) | `memory: 100M` |
|rdscore_wlkd_sriov_net_one | SR-IOV Network for 1st workload | `sriov-net-one` |
|rdscore_wlkd_sriov_4_0_selector | Node selector for 1st workload | `kubernetes.io/hostname: worker-X` |
|rdscore_wlkd_sriov_net_two | SR-IOV Network for 2nd workload | `sriov-net-two` |
|rdscore_wlkd_sriov_4_1_selector | Node selector for 2nd workload | `kubernetes.io/hostname: worker-Y` |
|rdscore_wlkd4_sriov_deploy_one_target | IPv4 address and port configured on 2nd workload | `192.168.12.22 1111` |
|rdscore_wlkd4_sriov_deploy_one_target_ipv6 | IPv6 address configured on 2nd workload(_Optional_) | |
|rdscore_wlkd4_sriov_deploy_two_target | IPv4 address and port configured on 1st workload | `192.168.12.12 1111` |
|rdscore_wlkd4_sriov_deploy_two_target_ipv6 | IPv6 address configured on 1st workload(_Optional_) | |


### _VerifySRIOVWorkloadsOnSameNode_

This test verifies connectivity between pods that use same SR-IOV networks and are scheduled
on the same node.

Test assumes that `nc` process is listening on IP address(es) on SR-IOV interfaces on both workloads,
for e.g. on `192.168.12.22 1111` on 1st workload and `192.168.12.33 1111` on 2nd workload.

| paremater | description | example |
|-----------|-------------|---------|
|rdscore_wlkd_sriov_one_ns | Namespace where to deploy test workload | `my-ns-1` |
|rdscore_wlkd_sriov_cm_data_one | Content of configMap that is mounted within pods | |
|rdscore_wlkd_sriov_one_image | Image used by the 1st workload | `quay.io/myorg/my-sriov-app:1.1` |
|rdscore_wlkd_sriov_one_cmd | Command executed by 1st container | `["/bin/sh", "-c", "/myapp --run"]` |
|rdscore_wlkd_sriov_one_res_requests | Resource requests for 1st container(_Optional_) | `cpu: 1` |
|rdscore_wlkd_sriov_one_res_limits | Resource limits for 1st container(_Optional_) | `memory: 100M` |
|rdscore_wlkd_sriov_two_image | Image used by the 2nd workload | `quay.io/myorg/my-sriov-app:1.1` |
|rdscore_wlkd_sriov_two_cmd | Command executed by 2nd container | `["/bin/sh", "-c", "/myapp --run"]` |
|rdscore_wlkd_sriov_two_res_requests | Resource requests for 2nd container(_Optional_) | `cpu: 1` |
|rdscore_wlkd_sriov_two_res_limits | Resource limits for 2nd container(_Optional_) | `memory: 100M` |
|rdscore_wlkd_sriov_one_selector | Node selector for both workloads | `kubernetes.io/hostname: worker-X` |
|rdscore_wlkd_sriov_deploy_one_target | IPv4 address and port configured on 2nd workload | `192.168.12.22 1111` |
|rdscore_wlkd_sriov_deploy_one_target_ipv6 | IPv6 address configured on 2nd workload(_Optional_) | |
|rdscore_wlkd_sriov_deploy_two_target | IPv4 address and port configured on 1st workload | `192.168.12.12 1111` |
|rdscore_wlkd_sriov_deploy_two_target_ipv6 | IPv6 address configured on 1st workload(_Optional_) | |

### _VerifySRIOVWorkloadsOnDifferentNodes_

This test verifies connectivity between pods that use same SR-IOV networks and are scheduled
on the the different nodes.

Test assumes that `nc` process is listening on IP address(es) on SR-IOV interfaces on both workloads,
for e.g. on `192.168.12.22 1111` on 1st workload and `192.168.12.33 1111` on 2nd workload.

| paremater | description | example |
|-----------|-------------|---------|
|rdscore_wlkd_sriov_one_ns | Namespace where to deploy test workload | `my-ns-1` |
|rdscore_wlkd_sriov_cm_data_one | Content of configMap that is mounted within pods | |
|rdscore_wlkd_sriov_one_image | Image used by the 1st workload | `quay.io/myorg/my-sriov-app:1.1` |
|rdscore_wlkd2_sriov_one_cmd | Command executed by 1st container | `["/bin/sh", "-c", "/myapp --run"]` |
|rdscore_wlkd_sriov_one_res_requests | Resource requests for both containers(_Optional_) | `cpu: 1` |
|rdscore_wlkd_sriov_one_res_limits | Resource limits for both containers(_Optional_) | `memory: 100M` |
|rdscore_wlkd_sriov_two_image | Image used by the 2nd workload | `quay.io/myorg/my-sriov-app:1.1` |
|rdscore_wlkd2_sriov_two_cmd | Command executed by 2nd container | `["/bin/sh", "-c", "/myapp --run"]` |
|rdscore_wlkd_sriov_one_selector | Node selector for 1st workload | `kubernetes.io/hostname: worker-X` |
|rdscore_wlkd_sriov_two_selector | Node selector for 2nd workload | `kubernetes.io/hostname: worker-Y` |
|rdscore_wlkd2_sriov_deploy_one_target | IPv4 address and port configured on 2nd workload | `192.168.12.22 1111` |
|rdscore_wlkd2_sriov_deploy_one_target_ipv6 | IPv6 address configured on 2nd workload(_Optional_) | |
|rdscore_wlkd2_sriov_deploy_two_target | IPv4 address and port configured on 1st workload | `192.168.12.12 1111` |
|rdscore_wlkd2_sriov_deploy_two_target_ipv6 | IPv6 address configured on 1st workload(_Optional_) | |

### _ValidateAllPoliciesCompliant_

Checks that all governance policies are Complaint

| paremater | description | example |
|-----------|-------------|---------|
|rdscore_policy_ns | Namespace where policies are created. If empty(_default_) check in all namespaces | `` |

### _VerifyNROPWorkload_

Test deploys a pod with NROP scheduler

| paremater | description | example |
|-----------|-------------|---------|
|rdscore_wlkd_nrop_one_ns | Namespace where to deploy test workload | `my-nrop-1` |
|rdscore_wlkd_nrop_one_image | Image used by the test workload | `quay.io/myorg/my-nrop-app:1.1` |
|rdscore_wlkd_nrop_one_cmd | Command executed by the container | `["/bin/sh", "-c", "/myapp --run"]` |
|rdscore_wlkd_nrop_one_res_requests | Resource requests for test container(_Optional_) | `cpu: 1` |
|rdscore_wlkd_nrop_one_res_limits | Resource limits for test container(_Optional_) | `memory: 100M` |
|rdscore_nrop_scheduler_name | Name of the NROP scheduler | `topo-aware-scheduler` |
|rdscore_wlkd_nrop_one_selector | Node selector for the test workload | `kubernetes.io/hostname: worker-X` |

### _VerifyMacVlanOnDifferentNodes_

Verifies connectivity between test workloads that use same MACVLAN definition and are scheduled on different nodes.

Test expects `nc` process is listening on IP address(es) on SR-IOV interfaces on both workloads,
for e.g. on `192.168.12.22 1111` on 1st workload and `192.168.12.33 1111` on 2nd workload.

| paremater | description | example |
|-----------|-------------|---------|
|rdscore_mcvlan_ns_one | Namespace for the test workload | `my-mc-1` |
|rdscore_mcvlan_cm_data_one | Content of configMap that is mounted within pods | |
|rdscore_mcvlan_deploy_img_one | Image used by the test workload | `quay.io/myorg/my-mc-app:1.1` |
|rdscore_mcvlan_deploy_1_cmd | Command executed by 1st container | `["/bin/sh", "-c", "/myapp --run"]` |
|rdscore_mcvlan_deploy_2_cmd | Command executed by 2nd container | `["/bin/sh", "-c", "/myapp --run"]` |
|rdscore_mcvlan_nad_one_name | Name of the MacVlan network | `mcvlan-one` |
|rdscore_mcvlan_1_node_selector | Node selector for the 1st workload | `kubernetes.io/hostname: worker-X` |
|rdscore_mcvlan_2_node_selector | Node selector for the 1st workload | `kubernetes.io/hostname: worker-Y` |
|rdscore_macvlan_deploy_1_target | IPv4 address and port configured on 2nd workload | `192.168.12.22 1111` |
|rdscore_macvlan_deploy_1_target_ipv6 | IPv6 address configured on 2nd workload | |
|rdscore_macvlan_deploy_2_target | IPv4 address and port configured on 1st workload | `192.168.12.12 1111` |
|rdscore_macvlan_deploy_2_target_ipv6 | IPv6 address configured on 1st workload | |

### _VerifyMacVlanOnSameNode_

Verifies connectivity between test workloads that use same MACVLAN definition and are scheduled on the same node.

Test expects `nc` process is listening on IP address(es) on SR-IOV interfaces on both workloads,
for e.g. on `192.168.12.22 1111` on 1st workload and `192.168.12.33 1111` on 2nd workload.

| paremater | description | example |
|-----------|-------------|---------|
|rdscore_mcvlan_ns_one | Namespace for the test workload | `my-mc-1` |
|rdscore_mcvlan_cm_data_one | Content of configMap that is mounted within pods | |
|rdscore_mcvlan_deploy_img_one | Image used by test workloads | `quay.io/myorg/my-mc-app:1.1` |
|rdscore_mcvlan_deploy_3_cmd | Command executed by 1st container | `["/bin/sh", "-c", "/myapp --run"]` |
|rdscore_mcvlan_deploy_4_cmd | Command executed by 2nd container | `["/bin/sh", "-c", "/myapp --run"]` |
|rdscore_mcvlan_nad_one_name | Name of the MacVlan network | `mcvlan-one` |
|rdscore_mcvlan_1_node_selector | Node selector for the 1st workload | `kubernetes.io/hostname: worker-X` |
|rdscore_macvlan_deploy_3_target | IPv4 address and port configured on 2nd workload | `192.168.12.22 1111` |
|rdscore_macvlan_deploy_3_target_ipv6 | IPv6 address configured on 2nd workload | |
|rdscore_macvlan_deploy_4_target | IPv4 address and port configured on 1st workload | `192.168.12.12 1111` |
|rdscore_macvlan_deploy_4_target_ipv6 | IPv6 address configured on 1st workload | |

### _VerifyNMStateNamespaceExists_

Verifies namespace for _NMState_ operator exists

| paremater | description | example |
|-----------|-------------|---------|
|nmstate_operator_namespace | Namespace where NMState operator is installed | `openshift-nmstate` |

0 comments on commit 2273ed5

Please sign in to comment.