Server test system and method based on a baseboard management controller

By using the test server system of the substrate management controller to simulate the test server startup and monitoring each test server when the server to be tested is powered on but not turned on, the test efficiency is improved.

CN114265734BActive Publication Date: 2025-07-25INVENTEC PUDONG TECH CORPOARTION +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202010973922.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-09-16
Publication Date
2025-07-25
Estimated Expiration
2040-09-16

AI Technical Summary

Technical Problem

In a rack environment with multiple servers to be tested, the prior art cannot effectively conduct testing, especially because the information flow of the server to be tested cannot be injected, resulting in the test status of each independent server in the rack being unable to be extended, resulting in inconvenience in testing.

Method used

By setting up the simulation startup module, registration module, download module, test module and output module in the test server, the substrate management controller simulates the simulation startup server when the server to be tested is powered on but not turned on, pass in the serial number, blade identifier and address, and continuously monitor and test through the communication port to display the test status.

Benefits of technology

It realizes efficient testing when the server to be tested is not turned on, improves testing efficiency, and is suitable for rack environments with multiple servers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114265734B_ABST
    Figure CN114265734B_ABST
Patent Text Reader

Abstract

A server testing system and method based on a baseboard management controller. When the server to be tested is powered on but not booted, the test server emulates the startup of the server to be tested, and independently starts the information flow of the server to be tested for each server to be tested according to the blade identifier and the location identifier, so as to transmit the serial number of the server to be tested, the blade identifier and the baseboard management controller address into the information flow of the server to be tested, and register the server to be tested according to the baseboard management controller address and continuously monitor the server to be tested through the communication port. Then, execute the test script to poll and test the server to be tested, and display the test status on the user interface of the test server, so as to achieve the technical effect of improving the test efficiency of the server to be tested.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a test system and method thereof, in particular to a server test system and method based on a baseboard management controller. Background Art

[0002] In recent years, with the popularization and booming development of the cloud industry, the demand for servers has increased year by year. Therefore, every server manufacturer has spared no effort to produce servers in order to gain a foothold in the server market.

[0003] Generally speaking, after a server is produced, it needs to be tested, and the server waiting to be tested can be called a "Unit Under Test (UUT)". When testing a UUT, a tester can directly test the UUT. However, when there are a large number of UUTs, how to effectively and quickly test these numerous UUTs has become one of the problems that each manufacturer urgently wants to solve.

[0004] In view of this, some manufacturers have proposed a technical means of a baseboard management controller, which pre-sets the baseboard management controller on the main board of the UUT so that testing can be carried out even when the UUT is powered on but not turned on. However, this method can only perform tests for itself by the UUT and cannot be applied to a rack environment with multiple UUTs at the same time. Because the information flow of the UUT cannot be injected, the test status of each independent UUT in the rack cannot be extended, so there is still a problem of inconvenient testing of the UUT.

[0005] In summary, it can be seen that there has long been a problem of inconvenient testing of UUTs in the prior art. Therefore, it is really necessary to propose an improved technical means to solve this problem. Summary of the Invention

[0006] The present invention discloses a server test system and method based on a baseboard management controller.

[0007] First, the present invention discloses a server test system based on a baseboard management controller. This system includes: a server under test and a test server. Among them, the server under test has a baseboard management controller and is electrically connected to a power supply. The test server is electrically connected to the server under test. This test server includes: an emulation startup module, a registration module, a download module, a test module, and an output module. Among them, the emulation startup module is used to execute an emulation startup script. After the server under test is powered on, this emulation startup script emulates the startup (Launch) of the server under test and, according to the Blade ID and the location identifier, independently starts the unit under test (UUT) flow of each corresponding server under test; the registration module is connected to the emulation startup module and is used to execute the emulation startup script to pass the unit under test serial number (UUT SN), the Blade ID, and the baseboard management controller (BMC) address into the UUT flow of the server under test, register the server under test with the BMC address, and continuously monitor the server under test through a communication port; the download module is connected to the registration module and is used to download the test script of each server under test through the UUT flow; the test module is connected to the download module and is used to execute the test script to poll and test each server under test, generate a corresponding test status according to the test results, and allow the confirmation of the corresponding test status according to the UUT serial number and the Blade ID; and the output module is connected to the test module and is used to generate a user interface to display the server under test and its corresponding test status, and directly display an error message at the corresponding position in the user interface when the test status is an error. When the test status is not an error, continue to continuously monitor the server under test through the communication port.

[0008] In addition, the present invention also discloses a server testing method based on a baseboard management controller, which is applied to an environment with a server to be tested and a testing server. The steps include: the testing server executes a simulation startup script, which, after the server to be tested is powered on, simulates the startup of the server to be tested, and independently starts the information flow of the server to be tested for each corresponding server to be tested according to the blade identifier and the location identifier; the testing server executes this simulation startup script to transmit the serial number of the server to be tested, the blade identifier, and the baseboard management controller address into the information flow of the server to be tested, registers the server to be tested with the baseboard management controller address, and continuously listens to the server to be tested through the communication port; the testing server downloads the test script for each server to be tested through the information flow of the server to be tested; this testing server executes the test script to poll and test each server to be tested, generates corresponding test status according to the test results, and allows the confirmation of the corresponding test status according to the serial number of the server to be tested and the blade identifier; and the testing server generates a user interface to display the server to be tested and its corresponding test status, and directly displays an error message at the corresponding position in the user interface when the test status is an error, and continues to continuously listen to the server to be tested through the communication port when the test status is not an error.

[0009] The system and method disclosed by the present invention are as above. The difference from the prior art is that the present invention simulates the startup of the server to be tested by the testing server when the server to be tested is powered on but not turned on, and independently starts the information flow of the server to be tested for each server to be tested according to the blade identifier and the location identifier, so as to transmit the serial number of the server to be tested, the blade identifier, and the baseboard management controller address into the information flow of the server to be tested, register the server to be tested according to the baseboard management controller address, and continuously listen to the server to be tested through the communication port, then execute the test script to poll and test the server to be tested, and finally display the test status on the user interface of the testing server.

[0010] By the above technical means, the present invention can achieve the technical effect of improving the testing efficiency of the server to be tested. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] Figure 1 It is a system block diagram of the server testing system based on the baseboard management controller of the present invention.

[0012] Figure 2A And Figure 2B It is a method flow diagram of the server testing method based on the baseboard management controller of the present invention.

[0013] Figure 3 It is a schematic diagram of the execution process of the testing server applying the present invention.

[0014] Figure 4 Schematic diagram of the user interface applying the present invention

[0015] The reference numerals are as follows:

[0016] 110a to 110n: Servers to be tested

[0017] 120: Test server

[0018] 121: Emulation startup module

[0019] 122: Registration module

[0020] 123: Download module

[0021] 124: Test module

[0022] 125: Output module

[0023] 300: Execution process of the test server

[0024] 400: User interface

[0025] 410: Display block

[0026] 411: Retest component

[0027] 420: All retest components

[0028] Step 210: The test server executes an emulation startup script, which, after the server to be tested is powered on, emulates and starts (Launch) the server to be tested, and respectively and independently starts a unit under test (UUT) information flow of each corresponding server to be tested according to a blade identifier and a location identifier

[0029] Step 220: The test server executes the emulation startup script to pass a unit under test serial number (UUT SN), the blade identifier, and a baseboard management controller (BMC) address into the UUT information flow of the server to be tested, and registers the server to be tested with the BMC address, and continuously listens to the server to be tested through a communication port

[0030] Step 230: The test server downloads a test script of each server to be tested through the UUT information flow

[0031] Step 240: The test server executes the test script to poll and test each server to be tested, and generates a corresponding test status according to the test result, and allows the test status to be confirmed according to the UUT serial number and the blade identifier

[0032] Step 250: The test server generates a user interface for displaying the server under test and its corresponding test status. When the test status is an error, an error message is directly displayed at the corresponding position in the user interface. When the test status is not an error, continuous monitoring of the server under test is continued through the communication port. Detailed implementation mode

[0033] The embodiments of the present invention will be described in detail below in conjunction with the drawings and embodiments, so that the implementation process of how the present invention uses technical means to solve technical problems and achieve technical effects can be fully understood and implemented accordingly.

[0034] First, before describing the server test system and method based on the baseboard management controller disclosed in the present invention, the environment applied in the present invention will be described. The present invention is applied to test a server under test with a baseboard management controller. It simulates and starts the powered-on server under test through a test server, and testing can be performed without directly turning on the power switch of the server under test. That is to say, upgrades, monitoring, and management of the machine can be performed in a state where the machine is not powered on. The tester no longer needs to physically connect to each server under test in the rack to perform the test, which is particularly suitable for the case of testing many servers under test on many racks.

[0035] The server test system and method based on the baseboard management controller of the present invention will be further described below in conjunction with the drawings. Please first refer to " Figure 1 ", " Figure 1 " is the system block diagram of the server test system based on the baseboard management controller of the present invention. This system includes: servers under test (110a, 110b to 110n) and a test server 120. Among them, the servers under test (110a, 110b to 110n) have baseboard management controllers and are electrically connected to the power supply. In actual implementation, many servers under test (110a, 110b to 110n) can exist in a rack at the same time. Each server under test (110a, 110b to 110n) has a baseboard management controller. The baseboard management controller is a small dedicated processor, for example: a system-on-chip (SoC) based on Arm (ARM), which has built-in graphics and logic control. It is generally installed on the motherboard of a computer, server, network, or storage device and can be remotely accessed, managed, and monitored through a dedicated or shared network when powered on but not started.

[0036] Next, in the part of the test server 120 that is electrically connected to the servers under test (110a, 110b to 110n), the test server 120 includes: an emulation startup module 121, a registration module 122, a download module 123, a test module 124, and an output module 125. Among them, the emulation startup module 121 is used to execute an emulation startup script. After the servers under test (110a, 110b to 110n) are powered on, this emulation startup script emulates and starts the servers under test (110a, 110b to 110n), and respectively and independently starts the information flow of each server under test (110a, 110b to 110n) of the corresponding server according to the blade identifier and the location identifier. In actual implementation, the emulation startup means that when the servers under test (110a, 110b to 110n) are powered on but not started, the test server 120 communicates with the baseboard management controller set in the servers under test (110a, 110b to 110n) by executing the emulation startup script to achieve emulation startup.

[0037] The registration module 122 is connected to the emulation startup module 121 and is used to execute the emulation startup script to pass the serial number of the server under test, the blade identifier, and the baseboard management controller address (such as "BMC MAC address", abbreviated as "BMCMAC") into the information flow of the server under test, and register the server under test with the baseboard management controller address, and continuously monitor the servers under test (110a, 110b to 110n) through a communication port. In other words, the UUT is registered with the BMCMAC, and the location identifier is used as an independent listening Port for monitoring.

[0038] The download module 123 is connected to the registration module 122 and is used to download the test script (such as UUT Tool) of each server under test (110a, 110b to 110n) through the information flow of the server under test. In this way, it is possible to allow the test scripts of all servers under test (110a, 110b to 110n) to be executed on the test server 120 for unified management and testing.

[0039] The test module 124 is connected to the download module 123 to execute test scripts to poll (Polling) and test each server under test (110a, 110b to 110n), generate corresponding test statuses according to the test results, and allow the confirmation of corresponding test statuses based on the serial number of the server under test and the blade identifier. In actual implementation, the test statuses may include: "testing", "error", and "normal", etc. As for the serial number of the server under test and the blade identifier, they are used to specify a specific server under test (110a, 110b to 110n) in order to obtain its corresponding test status. For example, the test module 124 can also extract the network address of the server under test according to the blade identifier and the serial number of the server under test, and connect to the corresponding server under test (110a, 110b to 110n) based on this network address of the server under test to directly confirm whether the test status is in error. In addition, the test module 124 can also establish a secure tunnel between the server under test (110a, 110b to 110n) and the test server 120 through the Secure Shell (SSH) protocol to remotely log in to the specified server under test (110a, 110b to 110n) and execute its test script.

[0040] The output module 125 is connected to the test module 124 to generate a user interface to display the servers under test (110a, 110b to 110n) and their corresponding test statuses, and when the test status is in error, directly display an error message at the corresponding position in the user interface. When the test status is not in error, continue to listen to the servers under test (110a, 110b to 110n) continuously through the communication port. In actual implementation, after all the servers under test (110a, 110b to 110n) are polled, the user interface displays each server under test (110a, 110b to 110n) and its corresponding test status, and when displaying the error message, a retest component is also displayed to allow the user to re-execute the test script of the corresponding server under test (110a, 110b to 110n) for retesting when clicking on this retest component. In addition, when multiple error messages are displayed simultaneously in the user interface, all retest components can be displayed to allow the user to re-execute the test scripts of all the servers under test (110a, 110b to 110n) with an error test status for retesting when clicking on this all retest component.

[0041] It should be particularly noted that, in actual implementation, the modules described in the present invention can be implemented in various ways, including software, hardware, or any combination thereof. For example, in some embodiments, each module can be implemented using software and hardware or one of them. In addition, the present invention can also be partially or completely implemented based on hardware. For example, one or more modules in the system can be implemented through integrated circuit chips, system-on-a-chip, complex programmable logic devices (CPLDs), field programmable gate arrays (FPGAs), etc. The present invention can be a system, a method, and / or a computer program. The computer program can include a computer-readable storage medium having computer-readable program instructions thereon for causing a processor to implement various aspects of the present invention. The computer-readable storage medium can be a tangible device that can hold and store instructions used by an instruction execution device. The computer-readable storage medium can be, but is not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples (non-exhaustive list) of the computer-readable storage medium include: hard disks, random access memories, read-only memories, flash memories, optical disks, floppy disks, and any suitable combination of the foregoing. The computer-readable storage medium used herein is not construed as an instantaneous signal itself, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagated through a waveguide or other transmission medium (e.g., optical signals through an optical fiber cable), or electrical signals transmitted through wires. Additionally, the computer-readable program instructions described herein can be downloaded from the computer-readable storage medium to various computing / processing devices, or through a network, such as: the Internet, a local area network, a wide area network, and / or a wireless network, to an external computer device or an external storage device. The network can include copper transmission cables, fiber optic transmissions, wireless transmissions, routers, firewalls, switches, hubs, and / or gateways. The network card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in the computer-readable storage medium in each computing / processing device.The computer program instructions for performing the operations of the present invention may be assembly language instructions, instruction set architecture instructions, machine instructions, machine-related instructions, micro-instructions, firmware instructions, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Common Lisp, Python, C++, Objective-C, Smalltalk, Delphi, Java, Swift, C#, Perl, Ruby, and PHP, as well as conventional procedural programming languages such as the C language or similar programming languages. The computer program instructions may be executed entirely on a computer, partially on a computer, executed as a stand-alone software, partially on a client computer and partially on a remote computer, or entirely on a remote computer or server.

[0042] Please refer to " Figure 2A " and " Figure 2B ", " Figure 2A " and " Figure 2B” is the method flowchart of the server test method based on the baseboard management controller of the present invention, which is applied to an environment with servers to be tested (110a, 110b to 110n) and a test server 120. The steps include: The test server 120 executes a simulation startup script. After the servers to be tested (110a, 110b to 110n) are powered on, this simulation startup script simulates the startup of the servers to be tested (110a, 110b to 110n), and respectively and independently starts the information flow of the servers to be tested of each corresponding server to be tested (110a, 110b to 110n) according to the blade identifier and the location identifier (step 210); The test server 120 executes this simulation startup script to pass the serial number of the server to be tested, the blade identifier, and the baseboard management controller address into the information flow of the server to be tested, and registers the servers to be tested (110a, 110b to 110n) with the baseboard management controller address, and continuously listens to the servers to be tested (110a, 110b to 110n) through the communication port (step 220); The test server 120 downloads the test script of each server to be tested (110a, 110b to 110n) through the information flow of the server to be tested (step 230); This test server 120 executes the test script to poll and test each server to be tested (110a, 110b to 110n), and generates the corresponding test status according to the test results, and allows the confirmation of the corresponding test status according to the serial number of the server to be tested and the blade identifier (step 240); The test server 120 generates a user interface to display the servers to be tested (110a, 110b to 110n) and their corresponding test statuses, and directly displays an error message at the corresponding position in the user interface when the test status is an error. When the test status is not an error, it continues to continuously listen to the servers to be tested (110a, 110b to 110n) through the communication port (step 250). Through the above steps, it is possible to simulate the startup of the servers to be tested (110a, 110b to 110n) by the test server 120 when the servers to be tested (110a, 110b to 110n) are powered on but not started, and respectively and independently start the information flow of the servers to be tested of each server to be tested (110a, 110b to 110n) according to the blade identifier and the location identifier, so as to pass the serial number of the server to be tested, the blade identifier, and the baseboard management controller address into the information flow of the server to be tested, and register the servers to be tested (110a, 110b to 110n) according to the baseboard management controller address and continuously listen to the servers to be tested (110a, 110b to 110n) through the communication port, then execute the test script to poll and test the servers to be tested (110a, 110b to 110n), and then display the test status on the user interface of the test server 120.

[0043] The following is in coordination with " Figure 3 " and "Figure 4 The following description is given by way of examples. Please first refer to Figure 3 ", " Figure 3 " is a schematic diagram of the execution process of the test server applying the present invention. As shown in the execution process 300 of the test server, the test server 120 initially executes an emulation startup script to start the servers under test (110a, 110b to 110n) using an emulator. In this figure, multiple servers under test (110a, 110b to 110n) are simultaneously started in emulation, and according to the blade identifier and the location identifier, the information streams of each server under test (110a, 110b to 110n) are independently started. Then, the test script is downloaded through the information streams of the servers under test to perform polling and testing on each server under test (110a, 110b to 110n) according to the test script, and the corresponding test status is generated based on the test results. Next, the test server 120 determines whether the test status is an error. If the test status is an error, a user interface is generated to directly display an error message at the corresponding position in this user interface; if the test status is not an error, the test server 120 continues to listen to all communication ports through the communication port.

[0044] As shown in " Figure 4 ", " Figure 4 " is a schematic diagram of the user interface applying the present invention. In actual implementation, after the test server 120 generates the test status of each server under test (110a, 110b to 110n), a user interface 400 as shown in " Figure 4 " can be generated to display the serial numbers of the servers under test, the test status of each server under test (110a, 110b to 110n) in the display block 410, and when the test status is an error, a retest component 411 is displayed at the corresponding position, so as to allow the tester to re - execute the test script of the corresponding server under test (110a, 110b to 110n) for retesting when clicking on the retest component 411. In addition, when multiple error messages are simultaneously displayed on the user interface 400, an all - retest component 420 can be displayed to allow the tester to re - execute the test scripts of all servers under test (110a, 110b to 110n) with an error test status when clicking on the all - retest component 420, so as to re - test these servers under test (110a, 110b to 110n) with an error test status.

[0045] In summary, it can be seen that the difference between the present invention and the prior art lies in that when the server to be tested is powered on but not started, the test server emulates the startup of the server to be tested, and independently starts the information flow of each server to be tested according to the blade identifier and the location identifier, so as to transmit the serial number of the server to be tested, the blade identifier, and the baseboard management controller address into the information flow of the server to be tested, and register the server to be tested according to the baseboard management controller address and continuously monitor the server to be tested through the communication port. Then, the test script is executed to poll and test the server to be tested, and the test status is displayed on the user interface of the test server. By means of this technical means, the problems existing in the prior art can be solved, and the technical effect of improving the material receiving efficiency can be achieved.

[0046] Although the present invention is disclosed as above in the foregoing embodiments, it is not intended to limit the present invention. Any person of ordinary skill in the art can make some modifications and refinements without departing from the spirit and scope of the present invention. Therefore, the scope of patent protection of the present invention shall be subject to that defined by the scope of patent application attached to this specification.

Claims

1. A server test system based on a baseboard management controller, characterized in that The system includes: Multiple servers under test (UUTs), each of the servers under test having a baseboard management controller and being electrically connected to a power supply; and A test server for electrically connecting to the servers under test, the test server including: A simulation startup module for executing a simulation startup script, which, after the server under test is powered on, simulates and starts the server under test, and according to a blade identifier (Blade ID) and a location identifier, independently starts a UUT flow of each corresponding server under test; A registration module connected to the simulation startup module for executing the simulation startup script to pass a UUT serial number (UUT SN), the blade identifier, and a baseboard management controller (BMC) address into the UUT flow of the server under test, registering the server under test with the BMC address, and continuously listening to the server under test through a communication port; A download module connected to the registration module for downloading a test script of each server under test through the UUT flow; A test module connected to the download module for executing the test script to poll and test each server under test, generating a corresponding test status according to the test result, and allowing the test status to be confirmed according to the UUT serial number and the blade identifier; And An output module connected to the test module for generating a user interface to display the server under test and its corresponding test status, and directly displaying an error message at a corresponding position in the user interface when the test status is an error. When the test status is not an error, continue to continuously listen to the server under test through the communication port.

2. The server test system based on a baseboard management controller according to claim 1, wherein, The test server extracts a network address of the server under test according to the blade identifier and the UUT serial number, and uses the network address of the server under test to connect to the corresponding server under test to directly confirm whether the test status is an error.

3. The server test system based on a baseboard management controller according to claim 1, wherein After polling all the servers under test, the user interface displays each server under test and its corresponding test status, and displays a retest component when displaying the error message, allowing the test script of the corresponding server under test to be re-executed for retesting when the retest component is clicked.

4. The server test system based on a baseboard management controller according to claim 3, wherein, When multiple error messages are simultaneously displayed on the user interface, a full retest component is displayed to allow the test scripts of all the servers under test with an error test status to be re-executed for retesting when the full retest component is clicked.

5. The server test system based on a baseboard management controller according to claim 1, wherein The test module establishes a secure tunnel between the server under test and the test server through the Secure Shell (SSH) protocol for remotely logging in to the specified server under test and executing the test script.

6. A server testing method based on a baseboard management controller, which is applied to an environment with multiple servers under test (UUT) and a test server, and is characterized in that, The steps include: The test server executes a simulation startup script. After the server under test is powered on, the simulation startup script launches the server under test and independently launches a UUT Flow (Unit Under Test Flow) for each corresponding server under test according to a Blade ID (Blade Identifier) and a location identifier. When the test server executes the simulation startup script, it passes a UUT SN (Unit Under Test Serial Number), the Blade Identifier, and a BMC (Baseboard Management Controller) address into the UUT Flow of the server under test, registers the server under test with the BMC address, and continuously listens to the server under test through a communication port. The test server downloads a test script for each server under test through the UUT Flow. The test server executes the test script to poll and test each server under test, generates a corresponding test status based on the test results, and allows the test status to be confirmed according to the UUT SN and the Blade Identifier. The test server generates a user interface to display the server under test and its corresponding test status. When the test status is an error, an error message is directly displayed at the corresponding position in the user interface. When the test status is not an error, the test server continues to listen to the server under test through the communication port.

7. The server testing method based on a baseboard management controller according to claim 6, wherein The test server extracts a network address of the server under test according to the Blade Identifier and the UUT SN, and uses this network address to connect to the corresponding server under test to directly confirm whether the test status is an error.

8. The server testing method based on a baseboard management controller according to claim 6, wherein After polling all the servers under test, the user interface displays each server under test and its corresponding test status. When displaying the error message, a retest component is also displayed, allowing the test script of the corresponding server under test to be re-executed for retesting when the retest component is clicked.

9. The server testing method based on a baseboard management controller according to claim 8, wherein When multiple error messages are displayed simultaneously in the user interface, an all-retest component is displayed, allowing the test scripts of all the servers under test with an error test status to be re-executed for retesting when the all-retest component is clicked.

10. The server testing method based on a baseboard management controller as claimed in claim 6, wherein The test server establishes a secure tunnel between the server under test and the test server through the SSH (Secure Shell) protocol to remotely log in to the specified server under test and execute the test script.

Citation Information

Patent Citations

  • Pressure test method, system, medium and device for baseboard management controller

    CN110941522A

  • Switch testing method and system capable of quickly reading serial numbers

    CN111343044A