Redfish 基本测试

此手动测试使用分布式管理任务组 (DMTF) Redfish 标准和 Windows PowerShell 验证服务器硬件带外管理功能。

测试详细信息

   
规范
  • System.Server.BMC.Redfish.Basic
平台
  • Windows Server 2016 (x64)
支持的版本
  • Windows 10 版本 1511
  • Windows 10 版本 1607
  • Windows 10 版本 1703
  • Windows 10 版本 1709
  • Windows 10 版本 1803
  • Windows 10 版本 1809
  • Windows 10 版本 1903
  • Windows 10 的下一次更新
预计运行时间(以分钟为单位) 5
类别 方案
超时(以分钟为单位) 300
需要重启 false
需要特殊配置 false
类型 automatic

 

其他文档

此功能区域中的测试可能会有其他文档,包括先决条件、设置和故障排除信息,这些内容可在以下主题中找到:

运行测试

注意

  要完成认证过程的目标 Redfish 服务器必须与运行客户端测试的基于 Windows 的计算机位于同一个网络上。

 

测试需要两台计算机:

  • Redfish 客户端 - 在 HLK Studio 中选择的基于 Windows 的计算机。 手动安排作业后,HLK 作业在此计算机上运行。 HLK 作业将启动一个 Windows PowerShell 进程,该进程加载 Pester 测试框架。 然后,该测试框架运行实际测试文件 Pester.Redfish.HLK.Tests.ps1。
  • Redfish 服务器 - 这些测试将验证的与 Redfish 兼容的远程设备。 在 Redfish 客户端上安排测试时,必须将此设备的 IP 地址和凭据信息指定为参数。

故障排除

有关 HLK 测试失败的常规故障排除,请参阅排查 Windows HLK 测试失败问题

错误:使用命令行 cmd /c powershell.exe -c ... 执行任务失败,并显示退出代码 N

任务已退出,并显示 ExpectedTaskExitCode 以外的退出代码。 如果该参数设置为“Fail On Exit Code”,这可能会导致任务失败。

Windows PowerShell 进程的退出代码指示测试失败的次数。 要成功运行测试,请将 ExpectedTaskExitCode 设置为 0。 非零值(例如“Failed with ExitCode 3”)指示相应的失败测试次数。

解决方法:

  1. 使用以下方法之一确定失败的测试:

    • 查看日志文件 RedfishTestRunLog.xml。
    • 在 Redfish 客户端计算机上的 Windows PowerShell 控制台中再次手动运行测试。
  2. 在 Redfish 客户端计算机上使用 Windows PowerShell ISE 调试失败的测试。

更多信息

注意

   安排这些测试时,必须始终指定 RedfishUri、RedfishUserName 和 RedfishPassword 参数的值。 如果不替换默认值,则测试将失败。

无需更改 TestDestFolder、RedfishMetadataUri 和 AdditionalData 参数,测试也能成功。

 

在 Windows PowerShell 控制台中手动运行测试

请注意,测试文件位于 Redfish 客户端计算机上的一个文件夹中,该文件夹由 TestDestFolder 参数指定。 默认情况下,该文件夹为 [SYSTEMDRIVE]\RedfishLogo。

  1. 确保 TestDestFolder 参数指定的文件夹中的 Redfish.Device.Config.json 文件包含有关 Redfish 服务器的正确信息。 如果缺少该文件,请运行以下 Windows PowerShell 命令来生成该文件。 在命令中,将参数值替换为 Redfish 服务器使用的值。

    PS C:\Users\Administrator> C:\RedfishLogo\CreateRedfishDeviceConfig.ps1 -RedfishUri 'https://10.20.30.40' -RedfishUserName 'root' -RedfishPassword 'testpass'
    
  2. 加载 Pester Windows PowerShell 模块。 这是一个基于 Windows PowerShell 的测试工具。

    Import-Module Pester -Force
    
  3. 运行测试。

    PS C:\Users\Administrator> C:\RedfishLogo\Pester.Redfish.HLK.Tests.ps1
    

    失败的测试将以红色突出显示。

在 Windows PowerShell ISE 中调试失败的测试

请注意,测试文件位于 Redfish 客户端计算机上的一个文件夹中,该文件夹由 TestDestFolder 参数指定。 默认情况下,该文件夹为 [SYSTEMDRIVE]\RedfishLogo。

  1. 从“开始”菜单启动 Windows PowerShell ISE。

  2. 确保 Redfish.Device.Config.json 文件包含有关 Redfish 服务器的正确信息。 如果缺少该文件,请运行以下 Windows PowerShell 命令来生成该文件。 在命令中,将参数值替换为 Redfish 服务器使用的值。

    PS C:\Users\Administrator> C:\RedfishLogo\CreateRedfishDeviceConfig.ps1 -RedfishUri 'https://10.20.30.40' -RedfishUserName 'root' -RedfishPassword 'testpass'
    
  3. 在 Windows PowerShell ISE 命令窗口中加载 Pester Windows PowerShell 模块。 这是一个基于 Windows PowerShell 的测试工具。

    Import-Module Pester -Force
    
  4. 在 Windows PowerShell ISE 中,打开测试文件 [TestDestFolder]\Pester.Redfish.HLK.Tests.ps1(按 Ctrl+O)。

  5. 查找失败测试的代码。 单个测试由 It 关键字标记(例如,It "Verify that service meets Redfish Authentication requirements for different resources.")

  6. 在失败的测试中设置断点。 为此,请将光标放在测试的第一行,然后按 F9(切换断点)。

  7. 按 F5(运行脚本)以运行测试。 测试运行应在上一步中设置的断点处停止。

  8. 使用“调试”菜单中的命令分步执行代码并调查错误。 请参阅如何在 Windows PowerShell ISE 中调试脚本

参数

参数名称 参数说明
TestDestFolder 在客户端计算机上将测试内容部署到的文件夹。
RedfishUri Redfish 服务的 URI
RedfishMetadataUri Redfish 服务元数据的 URI
RedfishUserName 有权访问 Redfish 服务的用户
RedfishPassword 有权访问 Redfish 服务的用户的密码
AdditionaData 需要传递到测试的任何其他数据