15.9.6. 发现模式

发现模式允许您在不更改其配置的情况下,验证集群的功能。在测试时使用现有环境配置。测试会尝试查找所需的配置项目,并使用这些项目来执行测试。如果没有找到运行特定测试所需的资源,则会跳过测试,为用户提供正确的信息。测试完成后,不会清理预配置的配置项目,测试环境可立即用于另一个测试运行。

某些配置项目仍由测试创建。这些是运行测试所需的特定项,例如 SR-IOV 网络。这些配置项目会在自定义命名空间中创建,并在执行测试后进行清理。

一个额外的好处是可以减少测试运行时间。因为已经有配置项目,因此不需要时间进行环境配置和分配。

要启用发现模式,必须如下设置 DISCOVERY_MODE 环境变量来指示测试:

$ docker run -v $(pwd)/:/kubeconfig:Z -e KUBECONFIG=/kubeconfig/kubeconfig -e
DISCOVERY_MODE=true registry.redhat.io/openshift-kni/cnf-tests /usr/bin/test-run.sh

15.9.6.1. 所需的环境配置先决条件

SR-IOV 测试

大多数 SR-IOV 测试需要以下资源:

  • SriovNetworkNodePolicy.
  • 至少有一个资源由 SriovNetworkNodePolicy 指定的资源为可分配的资源 ; 至少 5 个资源数才被视为足够。

有些测试有额外的要求:

  • 节点上有可用策略资源的未使用设备,其链接状态为 DOWN,而不是桥接 slave。
  • 一个 SriovNetworkNodePolicy,其 MTU 值为 9000

DPDK 测试

与 DPDK 相关的测试需要:

  • 一个性能配置集。
  • 一个 SR-IOV 策略。
  • 具有可用于 SR-IOV 策略的资源的节点,并使用 PerformanceProfile 节点选择器。

PTP 测试

  • 一个从 PtpConfigptp4lOpts="-s" ,phc2sysOpts="-a -r")。
  • 具有与 slave PtpConfig 匹配标签的节点。

SCTP 测试

  • SriovNetworkNodePolicy.
  • SriovNetworkNodePolicy 和启用 SCTP 的 MachineConfig 匹配的节点。

Performance Operator 测试

不同的测试有不同的要求。其中一些是:

  • 一个性能配置集。
  • 带有 profile.Spec.CPU.Isolated = 1 的性能配置集。
  • 带有 profile.Spec.RealTimeKernel.Enabled == true 的性能配置集。
  • 没有使用巨页的节点。