다음을 통해 공유


Redfish 기본 테스트

이 수동 테스트는 DMTF(Distributed Management Task Force) 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 작업은 Pester 테스트 프레임워크를 로드하는 Windows PowerShell 프로세스를 시작합니다. 그런 다음 테스트 프레임워크는 실제 테스트 파일인 Pester.Redfish.HLK.Tests.ps1를 실행합니다.
  • Redfish 서버 - 이러한 테스트에서 확인하는 원격 Redfish 호환 장치입니다. Redfish 클라이언트에서 테스트를 예약할 때 이 장치의 IP 주소 및 자격 증명 정보를 매개 변수로 지정해야 합니다.

문제 해결

HLK 테스트 실패의 일반적인 문제 해결은 Windows HLK 테스트 실패 문제 해결을 참조하세요.

오류: 명령줄 cmd /c powershell.exe -c를 사용하여 작업 실행 ... ExitCode N과 함께 실패

작업이 ExpectedTaskExitCode 이외의 종료 코드와 함께 종료되었습니다. 그러면 작업이 종료 코드 발생 시 실패로 설정되어 있는 경우 실패할 수 있습니다.

Windows PowerShell 프로세스의 종료 코드는 테스트 실패 횟수를 나타냅니다. 테스트 실행에 성공하면 ExpectedTaskExitCode0으로 설정됩니다. 0이 아닌 값(예: "ExitCode 3과 함께 실패")은 실패한 테스트의 해당하는 수를 나타냅니다.

해결 방법:

  1. 다음 방법 중 하나를 사용하여 실패한 테스트를 식별합니다.

    • 로그 파일 RedfishTestRunLog.xml을 검토합니다.
    • Redfish 클라이언트 컴퓨터의 Windows PowerShell 콘솔에서 테스트를 수동으로 다시 실행합니다.
  2. Redfish 클라이언트 컴퓨터에서 Windows PowerShell ISE를 사용하여 실패한 테스트를 디버그합니다.

추가 정보

참고

   이러한 테스트를 예약할 때 RedfishUri, RedfishUserName 및 RedfishPassword 매개 변수에 대한 값을 항상 지정해야 합니다. 기본값을 대체하지 않으면 테스트가 실패합니다.

테스트의 성공을 위해 TestDestFolder, RedfishMetadataUri 및 AdditionalData 매개 변수를 변경할 필요는 없습니다.

 

Windows PowerShell 콘솔에서 수동으로 테스트 실행

테스트 파일은 [TestDestFolder] 매개 변수로 지정된 폴더의 Redfish 클라이언트 컴퓨터에 있습니다. 기본적으로 [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에서 실패한 테스트 디버그

테스트 파일은 [TestDestFolder] 매개 변수로 지정된 폴더의 Redfish 클라이언트 컴퓨터에 있습니다. 기본적으로 [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 "서비스가 다른 리소스에 대한 Redfish 인증 요구 사항을 충족하는지 확인합니다.")

  6. 실패한 테스트에서 중단점을 설정합니다. 이렇게 하려면 테스트의 첫 번째 줄에 커서를 놓은 다음 F9(중단점 토글)를 누릅니다.

  7. F5(스크립트 실행)를 눌러 테스트를 실행합니다. 테스트 실행은 이전 단계에서 설정한 중단점에서 중지되어야 합니다.

  8. 디버그 메뉴의 명령을 사용하여 코드를 단계별로 실행하고 오류를 조사합니다. Windows PowerShell ISE에서 스크립트를 디버그하는 방법을 참조하세요.

매개 변수

매개 변수 이름 매개 변수 설명
TestDestFolder 테스트 콘텐츠가 클라이언트 컴퓨터에 배포되는 폴더입니다.
RedfishUri Redfish 서비스 URI
RedfishMetadataUri Redfish 서비스 메타데이터의 URI
RedfishUserName Redfish 서비스에 대한 액세스 권한이 있는 사용자
RedfishPassword Redfish 서비스에 대한 액세스 권한이 있는 사용자의 암호
AdditionaData 테스트에 전달해야 하는 추가 데이터