第 6 章 运行认证测试套件
在测试服务器上按照以下步骤操作,以便在测试或测试客户端下运行 OpenStack 部署中的认证测试。在 OpenStack 插件和驱动程序上运行用于以下服务的测试:块存储、共享文件系统服务和网络。
先决条件
- 您已准备了测试主机系统,如 设置测试环境 中所述。
- 在测试主机系统上有一个具有写入特权的工作目录。
步骤
要初始化认证测试环境,请为 RHOSO 控制平面(默认为 openstack)输入 OpenShift 命名空间,然后选择认证测试套件。
# rhoso-cert-init当前发行版本支持 cinder 测试套件、四个 manila 套件和 14 个 neutron 套件。如需有关调试测试失败的更多信息,请参阅 运行调试测试套件。
认证测试环境会自动配置每个测试套件所需的大多数 tempest 设置。要运行 cinder 测试,这些默认设置就足够了。但是,要运行 manila 和 neutron 测试,您必须配置某些额外的设置:
-
要运行 manila 测试,您可以在
tempest-config-overrides文件中指定额外的设置。 若要运行 neutron 测试,您可以配置
init rhos-cert-init脚本所需的镜像设置的高级镜像和类别。这些设置用于运行某些 neutron 相关测试。创建
tempest-conf-overrides文件,并输入所需的配置设置。注意在
tempest-conf-overrides文件中,以单独的行形式输入必要的配置设置,且不输入注释。例如,您可以通过在大括号(<>)中提供适当的值来配置以下选项。
配置设置示例
share.share_network_id <network_uuid> share.alt_share_network_id <network_uuid> share.admin_share_network_id <network_uuid> share.security_service <security_service_mapping> share.backend_replication_type <replication_style> share.username_for_user_rules <Username> share.override_ip_for_nfs_access <IP/CIDR> volume.build_interval 10 volume.build_timeout 300 volume.storage_protocol <iSCSI, FC, NVMe-TCP, NFS, etc.> volume.vendor_name <Driver's vendor name>
-
要运行 manila 测试,您可以在
可选:创建 tempest 帐户。
对于某些测试套件,使用一组专用的 tempest 测试帐户非常有用,例如带有
DHSS=True的 manila 套件。使用专用测试帐户可防止 tempest 测试删除动态创建的资源,而另一个测试则使用该资源。有关 tempest 测试帐户的更多信息,请参阅使用 tempest 测试帐户。运行认证测试套件。
# rhoso-cert-run每个测试套件将运行一系列子测试,完成后它会报告 Pass 或 Fail 状态。
注意在当前的 RHOSO 版本中,执行所有测试,包括强制和可选测试,如一致性组和多附加卷。如果您的驱动程序不支持这些功能,可选测试可能会失败。可以接受,不会影响整个认证过程。
您可以查看详细的测试结果,包括生成认证日志后的 debug 数据。
提取日志文件。
# rhoso-cert-logs当您提取日志文件时,系统会提示您包含 must-gather 报告。
-
要跳过 must-gather 报告以加快提取:键入
no。 如果要提交测试结果进行认证,您必须包含报告。
日志和调试数据提取到子目录中。目录的名称显示在末尾。
输出示例
以下是提取 cinder 测试套件的日志时收到的示例输出示例,而无需
must-gather报告。在本例中,提取的日志存储在rhoso-cert-cinder-2024-Aug-01_11-48-08目录中。# rhoso-cert-logs Spawning a pod to access the logs in PVC rhoso-cert-cinder-6f855... pod/rhoso-cert-cinder-logs created Waiting for the rhoso-cert-cinder-logs pod to be ready... Saving tempest logs... Saving logs from the individual Tempest pods: Saving rhoso-cert-cinder-volumes-workflow-step-0-q9btc.log... Saving rhoso-cert-cinder-backups-workflow-step-1-5p9xf.log... Saving rhoso-cert-cinder-multi-attach-volume-workflow-step-2-zpwh2.log... Saving rhoso-cert-cinder-consistency-groups-workflow-step-3-tmb24.log... Collect a must-gather report? [y/N] : n Done. Logs are stored in rhoso-cert-cinder-2024-Aug-01_11-48-08
-
要跳过 must-gather 报告以加快提取:键入
保存生成的日志文件。
# rhoso-cert-save所生成的测试结果文件的过滤子集存储在默认位置
/var/log/redhat-certification/中。您可以上传生成的测试结果文件,供红帽审阅。上传测试结果文件后,清理主机系统。
# rhoso-cert-cleanup您可以在完成认证过程后执行此命令,或者在选择不同的测试套件之前执行此命令。
6.1. 可选:运行 Debug 测试套件 复制链接链接已复制到粘贴板!
Debug 测试套件执行一组在 rhoso-cert-debug.yaml 文件中指定的单个测试组。Debug 测试套件可帮助您执行以下任务:
- 调试您在运行整个 cinder、manila 或 neutron 测试套件时遇到的 tempest 测试失败。
- 重新运行失败的测试集合,但结果提交需要。
步骤
将与 Debug 测试套件相关的 YAML 文件复制到工作目录中。
# cp /usr/share/redhat-certification-rhoso/rhoso-cert-debug.yaml <current test directory>-
在编辑器中打开 local
rhoso-cert-debug.yaml文件,并更新测试列表。该列表只能包含单个测试,也可以是您要执行的一组测试。 -
运行
rhoso-cert-init命令。 - 选择 Debug test suite。
-
重新运行命令
rhoso-cert-run和rhoso-cert-logs,以执行选定的 tempest 测试列表。 - 收集红帽分析和验证的日志。