Controller test method, apparatus, server, and storage medium

Parallel testing of the BMC using MPI technology solves the stability issues caused by frequent BMC access, realizes an efficient and reliable testing method, and ensures that the BMC works normally under high access pressure.

CN114138574BActive Publication Date: 2025-11-18RUIJIE NETWORKS CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202111404878.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-24
Publication Date
2025-11-18
Estimated Expiration
2041-11-24

AI Technical Summary

Technical Problem

In the prior art, frequent access to the baseboard management controller (BMC) leads to stability and reliability issues, necessitating improvements in the testing efficiency and reliability of the BMC.

Method used

Parallel testing is performed using Message Passing Interface (MPI) technology. By concurrently accessing the BMC, different or identical BMC access commands are executed in parallel using the MPI executor to obtain test information and perform anomaly detection.

Benefits of technology

It improves the testing efficiency and reliability of BMC, enabling the normal operation of BMC to be tested under high access pressure, thus ensuring the reliability of the test.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114138574B_ABST
    Figure CN114138574B_ABST
Patent Text Reader

Abstract

The embodiment of the application provides a controller test method, device, server and storage medium, the method comprises: obtaining a BMC test task, the BMC test task carries a concurrent test quantity and a test strategy; starting an MPI controller, and configuring an MPI executor equal to the concurrent test quantity; distributing the test strategy to each MPI executor through the MPI controller; accessing the BMC to be tested according to the test strategy through each MPI executor to obtain test information returned by the BMC to be tested based on different accesses; and determining whether the BMC to be tested is abnormal according to the test information returned by the BMC to be tested based on different accesses. The BMC can be accessed simultaneously in a concurrent manner based on MPI technology, and the reliability of the test can be ensured and the test efficiency can be improved through such a test manner.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of equipment maintenance technology, and in particular to a controller testing method, apparatus, server, and storage medium. Background Technology

[0002] Platform management refers to a series of monitoring and control functions, the objects of which are device hardware. For example, monitoring the device's temperature, voltage, fan speed, and power supply. Based on the information obtained from monitoring, corresponding adjustments are made to ensure the device is in normal working condition. If a device malfunctions, it can be restarted through a reset. Simultaneously, platform management also needs to record the status information of each device's hardware and system event logs (SEL). These status information and SELs are used to alert users and to locate problems in subsequent device malfunctions.

[0003] All the functions described above can be integrated into a single controller called a Baseboard Management Controller (BMC). The BMC can be integrated into the monitored device. When the BMC detects an anomaly in the monitored device, it needs to send the anomaly information to a remote monitoring device. The monitoring device then presents the anomaly information to the administrator, allowing them to understand the nature of the anomaly.

[0004] During the monitoring of the monitored devices, the monitoring equipment needs to frequently read the status information of each device's hardware from the BMC. To avoid BMC failure due to frequent access and to improve the stability and reliability of the BMC, stress testing needs to be performed on the BMC before it leaves the factory. Summary of the Invention

[0005] This invention provides a controller testing method, apparatus, server, and storage medium to ensure the reliability of the BMC testing process and improve testing efficiency.

[0006] In a first aspect, embodiments of the present invention provide a controller testing method, the method comprising:

[0007] Obtain the Baseboard Management Controller (BMC) test task, wherein the BMC test task carries the number of concurrent tests and the test strategy;

[0008] Start the MPI controller and configure an MPI executor with an equal number of concurrent tests;

[0009] The test strategy is distributed to each MPI executor via the MPI controller.

[0010] Each MPI executor concurrently accesses the BMC under test according to the test strategy to obtain test information returned by the BMC under test based on different accesses.

[0011] Based on the test information returned by the BMC under test based on different accesses, determine whether the BMC under test has encountered an anomaly.

[0012] Optionally, the number of concurrent tests refers to the number of times access needs to be initiated simultaneously to the same BMC under test, or the number of BMCs under test that need to be accessed simultaneously.

[0013] Optionally, the testing strategy includes a first strategy, a second strategy, or a third strategy;

[0014] When the test strategy is the first strategy, the step of concurrently accessing the BMC to be tested through each MPI executor according to the test strategy includes: concurrently executing different BMC access commands randomly selected from multiple preset types of BMC access commands through different MPI executors;

[0015] When the test strategy is the second strategy, the step of concurrently accessing the BMC to be tested through each MPI executor according to the test strategy includes: concurrently executing the same preset type of BMC access command through each MPI executor;

[0016] When the test strategy is the third strategy, the step of concurrently accessing the BMC to be tested through each MPI executor according to the test strategy includes: concurrently executing BMC access commands of their respective preset types through each MPI executor, wherein the number of MPI executors executing each preset type of BMC access command meets a preset condition.

[0017] Optionally, determining whether the BMC under test has encountered an anomaly based on the test information returned by the BMC under test based on different accesses includes:

[0018] Obtain reference information corresponding to different access methods;

[0019] For each access, the test information and reference information corresponding to the access are compared and matched;

[0020] Based on the comparison and matching results corresponding to each access, it is determined whether the BMC to be tested has an anomaly.

[0021] Optionally, determining whether the BMC under test is abnormal based on the comparison and matching results corresponding to each access includes:

[0022] If the comparison and matching results for each access are all mismatched, then it is determined that the BMC to be tested has crashed.

[0023] If the comparison matching result for any of the accesses is a mismatch, then it is determined that the sensor in the BMC under test corresponding to that access is abnormal.

[0024] Secondly, embodiments of the present invention provide a controller testing apparatus, comprising:

[0025] The acquisition module is used to acquire the Baseboard Management Controller (BMC) test task, which carries the number of concurrent tests and the test strategy.

[0026] A configuration module is used to start the information transmission interface (MPI) controller and configure an MPI executor with an equal number of concurrent tests.

[0027] The distribution module is used to distribute the test strategy to each MPI executor through the MPI controller;

[0028] The testing module is used to concurrently access the BMC under test through each MPI executor according to the testing strategy, so as to obtain the test information returned by the BMC under test based on different accesses.

[0029] The judgment module is used to determine whether the BMC under test has encountered an anomaly based on the test information returned by the BMC under test based on different accesses.

[0030] Optionally, the number of concurrent tests refers to the number of times access needs to be initiated simultaneously to the same BMC under test, or the number of BMCs under test that need to be accessed simultaneously.

[0031] Optionally, the testing strategy includes a first strategy, a second strategy, or a third strategy, and the testing module is used to:

[0032] Different BMC access commands, randomly selected from multiple preset types, are executed concurrently by different MPI executors; or...

[0033] The same preset type of BMC access command is executed concurrently by each of the MPI executors; or...

[0034] Each MPI executor concurrently executes its corresponding preset type of BMC access command, and the number of MPI executors executing each preset type of BMC access command meets a preset condition.

[0035] Optionally, the determination module is used to:

[0036] Obtain reference information corresponding to different access methods;

[0037] For each access, the test information and reference information corresponding to the access are compared and matched;

[0038] Based on the comparison and matching results corresponding to each access, it is determined whether the BMC to be tested has an anomaly.

[0039] Optionally, the determination module is used to:

[0040] If the comparison and matching results for each access are all mismatched, then it is determined that the BMC to be tested has crashed.

[0041] If the comparison matching result for any of the accesses is a mismatch, then it is determined that the sensor in the BMC under test corresponding to that access is abnormal.

[0042] Thirdly, embodiments of the present invention provide a server, including a processor and a memory, wherein the memory stores executable code, and when the executable code is executed by the processor, the processor can at least implement the controller testing method of the first aspect.

[0043] Fourthly, embodiments of the present invention provide a non-transitory machine-readable storage medium storing executable code, wherein when the executable code is executed by a processor of a server, the processor is able to at least implement the controller testing method of the first aspect.

[0044] This invention enables parallel testing of the Business Controller (BMC) based on MPI technology, which ensures the reliability of concurrent access. By using MPI technology to access the BMC concurrently, the access pressure can be increased to a higher level, allowing testing to determine whether the BMC can continue to function normally under high access pressure. This testing method ensures reliability and improves testing efficiency. Attached Figure Description

[0045] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0046] Figure 1 This is a flowchart illustrating a controller testing method provided in an embodiment of the present invention;

[0047] Figure 2This is a schematic diagram of the structure of a controller testing system provided in an embodiment of the present invention;

[0048] Figure 3 A schematic diagram of an MPI scheme provided in an embodiment of the present invention;

[0049] Figure 4 This is a schematic diagram of the structure of a controller testing device provided in an embodiment of the present invention;

[0050] Figure 5 This is a schematic diagram of the structure of a server provided in an embodiment of the present invention. Detailed Implementation

[0051] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0052] The terminology used in the embodiments of this invention is for the purpose of describing particular embodiments only and is not intended to limit the invention. The singular forms “a,” “the,” and “the” as used in the embodiments of this invention and the appended claims are also intended to include the plural forms, and “multiple” generally includes at least two unless the context clearly indicates otherwise.

[0053] Depending on the context, the words “if” or “suppose” as used here can be interpreted as “when” or “in response to determination” or “in response to detection.” Similarly, depending on the context, the phrases “if determination” or “if detection (of the stated condition or event)” can be interpreted as “when determination” or “in response to determination” or “when detection (of the stated condition or event)” or “in response to detection (of the stated condition or event).”

[0054] Furthermore, the timing of the steps in the following method embodiments is merely an example and not a strict limitation.

[0055] Figure 1 This is a flowchart illustrating a controller testing method provided in an embodiment of the present invention, which can be applied to servers. Figure 1 As shown, the method includes the following steps:

[0056] 101. Obtain BMC test tasks. BMC test tasks carry the number of concurrent tests and test strategies.

[0057] 102. Start the Message Passing Interface (MPI) controller and configure an MPI executor with an equal number of concurrent tests.

[0058] 103. The test strategy is distributed to each MPI executor through the MPI controller.

[0059] 104. Through each MPI executor, concurrently access the BMC under test according to the test strategy to obtain the test information returned by the BMC under test based on different accesses.

[0060] 105. Based on the test information returned by the BMC under test for different accesses, determine whether the BMC under test has encountered an anomaly.

[0061] The BMC (Body Control Controller) is part of the Intelligent Platform Management Interface (IPMI) and is typically integrated into the module or the main circuit board of the monitored device. The BMC's sensors monitor internal physical variables of the monitored device, such as temperature, humidity, power supply voltage, fan speed, communication parameters, and operating system functions. If any of these physical variables exceeds a specified range, the BMC notifies the administrator, who can then take appropriate action remotely through the monitoring device. The monitored device can be controlled or restarted if necessary. This allows a single administrator to remotely control a large number of monitored devices simultaneously, saving overall network costs and ensuring reliability.

[0062] The operating system in the monitoring equipment can use the bmcserver service to acquire sensor information, display system event logs, and remotely power on / off over the network. Furthermore, the bmcserver service can monitor data from each sensor and record various events in the system event log. When any sensor malfunctions, the anomaly information will be recorded as an event in the system event log.

[0063] In practical applications, the method provided in this embodiment of the invention can be used to test the BMC. Specifically, it is a parallel test of the BMC based on MPI technology. MPI is a cross-language communication protocol used for writing parallel computers. Using MPI technology can guarantee the reliability of concurrent access. In some optional embodiments, such as... Figure 2 As shown, the method provided in this embodiment of the invention can be implemented by an execution server to test the BMC to be tested, and by an operation and maintenance server and other means.

[0064] An MPI execution environment can be pre-defined on the operations and maintenance server. This MPI execution environment refers to an MPI script, which can be a file in the form of mpi.py. Based on this MPI script, an MPI solution can be run. Within the MPI script, test commands for implementing BMC testing tasks can be encapsulated as functions. This eliminates the need to concern oneself with the internal details of the functions; technical personnel only need to pass appropriate parameters to the functions, and the server can complete the BMC testing tasks. The parameters passed to the functions refer to the number of concurrent tests and the test strategy in the BMC testing task. The test strategy defines different testing schemes for the BMC under test.

[0065] Optionally, the number of concurrent tests can be the number of times that need to be accessed simultaneously to the same BMC under test, or the number of BMCs under test that need to be accessed simultaneously.

[0066] Depending on the testing requirements, in some application scenarios, it may be necessary to access the same BMC under test N times, where N can be, for example, 10, 100, 1000, etc. Alternatively, in some application scenarios, it may be necessary to access M BMCs under test simultaneously, where M can be, for example, an integer less than or equal to 10.

[0067] For scenarios involving testing a single Business Controller (BMC), to maximize the access load and test its ability to function correctly under immense pressure, MPI technology can be used to concurrently access the BMC. This ensures the reliability of the test by demonstrating whether the BMC can function properly under such high access pressure.

[0068] In a scenario where M business control mechanisms (BMCs) are tested simultaneously, if each BMC is tested sequentially, with a testing time of t for each BMC, then testing all M BMCs would require Mt time. However, if the M BMCs are tested concurrently using MPI technology, all tests can be completed in just t time, significantly reducing testing time and improving testing efficiency.

[0069] Technical personnel can configure the number of concurrent tests and the desired test strategies through the operations and maintenance server, and then pass them to a pre-packaged function, thus setting up the MPI script. It's worth noting that since the MPI solution can be run based on the MPI script, once configured, the script can be copied to the desired operations and maintenance server, ensuring high portability of the testing process.

[0070] The operations and maintenance server can send a pre-configured MPI script to the execution server. This pre-configured MPI script can also be considered a BMC test task. Finally, the execution server performs concurrent testing on the BMC under test according to the BMC test task.

[0071] Optionally, in the above process, the operations and maintenance server can manage and control the testing process through an operations and maintenance application. This application could be, for example, Ansible. Based on this, pre-configured MPI scripts can be integrated into Ansible, and Ansible can then send these scripts to the execution server.

[0072] The execution server can obtain BMC test tasks and then execute them. The execution server can also start the MPI controller based on the BMC test tasks. For example, Figure 3 As shown, the MPI controller is responsible for monitoring the execution process of the MPI executors and summarizing their execution results. Additionally, the execution server can be configured with an number of MPI executors equal to the number of concurrent tests. For example, if 1000 concurrent accesses to the same BMC under test are required, 1000 MPI executors can be configured. Or, if 10 BMCs need to be tested simultaneously, 10 MPI executors can be configured. After configuring the MPI executors, the MPI controller can distribute the test strategy to each MPI executor, allowing each executor to know which scheme to use to test the BMC. Specific testing schemes for different BMCs under test will be explained later and will not be elaborated upon here.

[0073] Each MPI actuator can concurrently access the BMC under test according to the received test strategy. That is, each MPI actuator determines the corresponding command to access the BMC based on the received test strategy and executes the corresponding command to access the BMC under test. Accordingly, the BMC will return the relevant test information after receiving the access request. It should be noted that the BMC is equipped with various sensors to collect data indicating the status of the monitored device. Therefore, accessing the BMC can, for example, involve requesting data collected by a specific sensor within the BMC; this data can then be used as the aforementioned test information.

[0074] Finally, based on the test information returned by the BMC under test for different accesses, it can be determined whether the BMC under test has encountered an anomaly. Optionally, the process of determining whether the BMC under test has encountered an anomaly based on the test information returned by the BMC under test for different accesses can be implemented as follows: obtain reference information corresponding to different accesses; for each access, compare and match the test information and reference information corresponding to the access; and determine whether the BMC under test has encountered an anomaly based on the comparison and matching results corresponding to each access.

[0075] It should be noted that different MPI executors may initiate the same or different accesses to the BMC under test depending on the test strategy. Therefore, assuming the BMC under test is completely normal, the test information returned by the BMC under test may be the same or different. For different accesses, their corresponding reference information can be pre-designed. This reference information is the correct information that the BMC under test should return when it receives a certain access under normal working conditions.

[0076] Based on this, the MPI executor can obtain reference information corresponding to different accesses. For each access, the corresponding test information and reference information are compared and matched. Specifically, the text similarity between the test information and reference information can be calculated. If the text similarity is greater than a preset threshold, it means that the test information and reference information corresponding to a certain access are a match. Then, based on the comparison and matching results corresponding to each access, it can be determined whether a certain access passes or fails.

[0077] Each MPI executor can also report its success or failure result to the MPI controller. The MPI controller then aggregates the success and failure results from all MPI executors and feeds the statistical information back to the operations server. For example, suppose 100 MPI executors accessed the BMC under test, with 99 MPI executors reporting successful access and 1 MPI executor reporting a failure. The MPI controller can then feed back the statistical information of the 99 successful accesses and the 1 failed access to the operations server. In some optional embodiments, the operations server can obtain the statistical information fed back by the MPI controller through Ansible.

[0078] The operations and maintenance server can determine whether the BMC under test has malfunctioned based on statistical information. Optionally, the process of determining whether the BMC under test has malfunctioned can be implemented as follows: if the comparison matching results corresponding to each access are all mismatched, then it is determined that the BMC under test has crashed; if the comparison matching result corresponding to any access is mismatched, then it is determined that the sensor in the BMC under test corresponding to that access is malfunctioning.

[0079] Understandably, for the same BMC under test, if all accesses fail, it indicates that the BMC under test has crashed. If individual accesses fail, it indicates that the sensor requesting data for that particular access has malfunctioned.

[0080] The following describes the testing strategies that can be adopted for testing the BMC under test in MPI actuators.

[0081] Optionally, the testing strategy may include a first strategy, a second strategy, or a third strategy. The first strategy may also be called a random strategy, the second strategy a fixed-point strategy, and the third strategy a sequential strategy.

[0082] The first strategy is to concurrently execute different BMC access commands randomly selected from multiple preset types of BMC access commands using different MPI executors.

[0083] For example, suppose there are 6 preset types of BMC access commands, and 10 MPI executors need to concurrently initiate access to the BMC to be tested. For each MPI executor i, MPI executor i can randomly select one BMC access command from the 6 preset types of BMC access commands, and then initiate access to the BMC to be tested using the randomly selected BMC access command.

[0084] Using the first strategy can ensure the stability of random business behavior.

[0085] The second strategy is to execute BMC access commands of the same preset type concurrently through each MPI executor.

[0086] The second strategy can ensure the stability of the same business behavior.

[0087] The third strategy is to have each MPI executor concurrently execute its corresponding preset type of BMC access command, and the number of MPI executors executing each preset type of BMC access command meets the preset conditions.

[0088] The number of MPI executors executing each preset type of BMC access command must be average.

[0089] For example, suppose an MPI script has six preset types of BMC access commands that are frequently used, and twelve MPI executors need to concurrently access the BMC to be tested. The MPI script is configured as follows:

[0090] MPI executor 1 initiates access to the BMC to be tested via BMC access command 1;

[0091] MPI executor 2 initiates access to the BMC to be tested via BMC access command 2;

[0092] MPI executor 3 initiates access to the BMC to be tested via BMC access command 3;

[0093] MPI executor 4 initiates access to the BMC to be tested via BMC access command 4;

[0094] MPI executor 5 initiates access to the BMC to be tested via BMC access command 5;

[0095] MPI executor 6 initiates access to the BMC to be tested via BMC access command 6;

[0096] MPI executor 7 initiates access to the BMC to be tested via BMC access command 1;

[0097] MPI executor 8 initiates access to the BMC to be tested via BMC access command 2;

[0098] MPI executor 9 initiates access to the BMC to be tested via BMC access command 3;

[0099] MPI executor 10 initiates access to the BMC to be tested via BMC access command 4;

[0100] MPI executor 11 initiates access to the BMC to be tested via BMC access command 5;

[0101] MPI executor 12 initiates access to the BMC to be tested via BMC access command 6.

[0102] Using the third strategy can ensure the stability of commonly used basic behaviors in the business.

[0103] In some alternative embodiments, the operations and maintenance server can also perform upgrade operations on the BMC, which can be assisted by the build server. The build server can be used to store BMC update applications. The operations and maintenance server can obtain the BMC update applications from the build server through Ansible, and then control the BMC to install the BMC update applications through the BMC upgrade channel to upgrade the BMC.

[0104] In some alternative embodiments, the operations and maintenance server can also upgrade a locally customized MPI execution environment.

[0105] In some alternative implementations, the operations and maintenance server can also remotely log in to the monitored device via Ansible. Specifically, it can log in to the monitored device via Secure Shell (SSH) or telnet (the standard protocol and primary method for Internet remote login services).

[0106] In some alternative embodiments, the operations and maintenance server may also integrate the functionality of the login execution server.

[0107] In some alternative embodiments, the monitored device can be a white-box switch, which is a type of switch. White-box switches decouple the switch hardware and software, allowing users to purchase only the switch hardware and then add the software as needed.

[0108] It's important to note that the Base Monitoring and Control Center (BMC) plays a crucial role in the monitoring and management of white-box switches. In its initial state, the BMC includes basic information such as Field Replaceable Units (FRUs), System Event Logs (SELs), Management Controllers (MCs), Local Area Networks (LANs), and Sensor Data Records (SDRs). The BMC utilizes sensors to monitor the status of hardware, SONiC operating system components, and other hardware drivers within the white-box switch. The BMC can communicate with the hardware within the white-box switch via I2C (a bidirectional two-wire synchronous serial bus).

[0109] To facilitate understanding, the specific implementation of the testing methods provided above will be illustrated with examples in the following application scenarios.

[0110] Before the actual testing, the operations server can be used with Ansible to test network connectivity between the operations server, the execution server, and the BMC under test. This can be done using the command "ansibleall –mping", and the command execution result should look like the following:

[0111]

[0112]

[0113] The operations and maintenance server can also perform upgrades on the BMC under test. In some scenarios, this can be achieved using the commands "Wget http: / / 172.28.55.66 / output / git-openbmc-build / whitebox / switch / switch#arch6_0_A_id20210926094821781 / bmc.bin" and "fw_upgrade / home / admin / bmc.bin 0block 4e, fw_upgrade / home / admin / bmc.bin 1 block 4e". The command execution results can be shown below:

[0114]

[0115] In the operations and maintenance server, the MPI script can be configured as "node1 slots=100, node1 slots=100, node1 slots=100". This configuration indicates that three execution servers are enabled, each with 100 processes, resulting in a total of 300 processes that can concurrently access the same BMC under test 300 times. After completing the configuration, the 300 processes can be started using the command "mpirun --hostfile host-np 300 python mpi.py".

[0116] Finally, the BMC to be tested is tested.

[0117] During the test, for the MPI executor, assuming the BMC access command executed by the MPI executor is "bmcserver -I lanplus -H 172.28.57.87 -U Admin -P Admin fru print", the reference information is as follows:

[0118] FRU Device Description:Builtin FRU Device(ID 0)

[0119] FRU Device Description:system(ID 3)

[0120] Product Manufacturer: Ruijie

[0121] Product Name: RA-B6510-48V8C

[0122] Product Part Number: RJ000001

[0123] Product Version: 100

[0124] Product Serial: 1234567834567

[0125] FRU Device Description:powersupply0(ID 75)

[0126] Product Name: CRPS550W

[0127] Product Version: AA

[0128] Product Serial: M623TW0028AAL

[0129] FRU Device Description:powersupply1(ID 76)

[0130] Product Name: CRPS550W

[0131] Product Version: AA

[0132] Product Serial: M623TT0004AAL

[0133] The test information returned by the BMC to be tested in response to the above access is as follows:

[0134] FRU Device Description:Builtin FRU Device(ID 0)

[0135] FRU Device Description:system(ID 3)

[0136] Product Manufacturer: Ruijie

[0137] Product Name: RA-B6510-48V8C

[0138] Product Part Number: RJ000001

[0139] Product Version: 100

[0140] Product Serial: 1234567834567

[0141] FRU Device Description:powersupply0(ID 75)

[0142] Product Name: CRPS550W

[0143] Product Version: AA

[0144] Product Serial: M623TW0028AAL

[0145] FRU Device Description:powersupply1(ID 76)

[0146] Product Name: CRPS550W

[0147] Product Version: AA

[0148] Product Serial: M623TT0004AAL

[0149] The text similarity between the test information and the reference information can be calculated. If the result is 100% similar, the access is approved.

[0150] For an MPI controller, an example of the statistical information aggregated by the MPI controller for each MPI actuator could be:

[0151] Switch under test (172.28.57.87): 100 concurrent tests, 100 passed, 0 failed.

[0152] Switch under test (172.28.57.90): 100 concurrent tests, 0 passed, 100 failed.

[0153] The MPI controller feeds back statistical information to the operations and maintenance server. The operations and maintenance server uses this information to determine whether the BMC under test is experiencing an anomaly. One example of this determination could be:

[0154] The tested switch (172.28.57.87) passed.

[0155] BMC normal

[0156] The tested switch (172.28.57.90) failed.

[0157] BMC may crash

[0158] This invention enables parallel testing of the Business Controller (BMC) based on MPI technology, which ensures the reliability of concurrent access. By using MPI technology to access the BMC concurrently, the access pressure can be increased to a higher level, allowing testing to determine whether the BMC can continue to function normally under high access pressure. This testing method ensures reliability and improves testing efficiency.

[0159] The controller testing apparatus of one or more embodiments of the present invention will be described in detail below. Those skilled in the art will understand that these controller testing apparatuses can all be configured using commercially available hardware components through the steps taught in this solution.

[0160] Figure 4 This is a schematic diagram of the structure of a controller testing device provided in an embodiment of the present invention, as shown below. Figure 4 As shown, the device includes:

[0161] The acquisition module 41 is used to acquire the Baseboard Management Controller (BMC) test task, wherein the BMC test task carries the number of concurrent tests and the test strategy.

[0162] Configuration module 42 is used to start the information transmission interface MPI controller and configure an MPI executor with an equal number of concurrent tests;

[0163] The distribution module 43 is used to distribute the test strategy to each MPI executor through the MPI controller;

[0164] Test module 44 is used to concurrently access the BMC under test through each MPI executor according to the test strategy, so as to obtain the test information returned by the BMC under test based on different accesses;

[0165] The judgment module 45 is used to determine whether the BMC under test has an anomaly based on the test information returned by the BMC under test based on different accesses.

[0166] Optionally, the number of concurrent tests refers to the number of times access needs to be initiated simultaneously to the same BMC under test, or the number of BMCs under test that need to be accessed simultaneously.

[0167] Optionally, the testing strategy includes a first strategy, a second strategy, or a third strategy, and the testing module 44 is used for:

[0168] Different BMC access commands, randomly selected from multiple preset types, are executed concurrently by different MPI executors; or...

[0169] The same preset type of BMC access command is executed concurrently by each of the MPI executors; or...

[0170] Each MPI executor concurrently executes its corresponding preset type of BMC access command, and the number of MPI executors executing each preset type of BMC access command meets a preset condition.

[0171] Optionally, the determination module 45 is used to:

[0172] Obtain reference information corresponding to different access methods;

[0173] For each access, the test information and reference information corresponding to the access are compared and matched;

[0174] Based on the comparison and matching results corresponding to each access, it is determined whether the BMC to be tested has an anomaly.

[0175] Optionally, the determination module 45 is used to:

[0176] If the comparison and matching results for each access are all mismatched, then it is determined that the BMC to be tested has crashed.

[0177] If the comparison matching result for any of the accesses is a mismatch, then it is determined that the sensor in the BMC under test corresponding to that access is abnormal.

[0178] Figure 4 The device shown can perform the aforementioned Figures 1 to 3 The controller testing method provided in the illustrated embodiment, for detailed execution process and technical effects, can be found in the description of the foregoing embodiments, and will not be repeated here.

[0179] In one possible design, the above Figure 4 The controller test device shown can be implemented as a server, such as... Figure 5 As shown, the server may include a processor 91 and a memory 92. The memory 92 stores executable code, which, when executed by the processor 91, enables the processor 91 to at least perform the functions described above. Figures 1 to 3 The controller testing method provided in the illustrated embodiment.

[0180] Optionally, the server may also include a communication interface 93 for communicating with other devices.

[0181] Furthermore, embodiments of the present invention provide a non-transitory machine-readable storage medium storing executable code, which, when executed by a server's processor, enables the processor to at least implement the aforementioned... Figures 1 to 3 The controller testing method provided in the illustrated embodiment.

[0182] The device embodiments described above are merely illustrative, and the units described as separate components may or may not be physically separate. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.

[0183] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of a necessary general-purpose hardware platform, or by a combination of hardware and software. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a computer product. The present invention can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0184] The controller testing method provided in this embodiment of the invention can be executed by a program / software, which can be provided by the network side. The server mentioned in the foregoing embodiments can download the program / software to a local non-volatile storage medium, and when it needs to execute the aforementioned controller testing method, it reads the program / software into memory through the CPU, and then the CPU executes the program / software to implement the controller testing method provided in the foregoing embodiments. The execution process can be referred to the foregoing... Figures 1 to 3 The illustration is shown in the image.

[0185] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

1. A controller testing method, characterized in that, include: Obtain the Baseboard Management Controller (BMC) test task, wherein the BMC test task carries the number of concurrent tests and the test strategy; Start the MPI controller and configure an MPI executor with an equal number of concurrent tests; The test strategy is distributed to each MPI executor through the MPI controller, wherein the number of concurrent tests is the number of accesses that need to be initiated to the same BMC under test at the same time, and the test strategy is to execute the same preset type of BMC access command concurrently through each MPI executor. The MPI controller monitors the execution process of the MPI executor, and through each MPI executor, concurrently accesses the BMC under test according to the test strategy to obtain the test information returned by the BMC under test based on different accesses, and summarizes the test information returned by the MPI executor. Based on the summarized test information, determine whether the BMC under test has malfunctioned.

2. The method according to claim 1, characterized in that, The testing strategy may also include a first strategy or a third strategy; When the test strategy is the first strategy, the step of concurrently accessing the BMC to be tested through each MPI executor according to the test strategy includes: concurrently executing different BMC access commands randomly selected from multiple preset types of BMC access commands through different MPI executors; When the test strategy is the third strategy, the step of concurrently accessing the BMC to be tested through each MPI executor according to the test strategy includes: concurrently executing BMC access commands of their respective preset types through each MPI executor, wherein the number of MPI executors executing each preset type of BMC access command meets a preset condition.

3. The method according to claim 1, characterized in that, The step of determining whether the BMC under test has an anomaly based on the summarized test information includes: Obtain reference information corresponding to different access methods; For each access, the test information and reference information corresponding to the access are compared and matched; Based on the comparison and matching results corresponding to each access, it is determined whether the BMC to be tested has an anomaly.

4. The method according to claim 3, characterized in that, The step of determining whether the BMC under test is abnormal based on the comparison and matching results corresponding to each access includes: If the comparison and matching results for each access are all mismatched, then it is determined that the BMC to be tested has crashed. If the comparison matching result for any of the accesses is a mismatch, then it is determined that the sensor in the BMC under test corresponding to that access is abnormal.

5. A controller testing device, characterized in that, include: The acquisition module is used to acquire the Baseboard Management Controller (BMC) test task, which carries the number of concurrent tests and the test strategy. A configuration module is used to start the information transmission interface (MPI) controller and configure an MPI executor with an equal number of concurrent tests. The distribution module is used to distribute the test strategy to each MPI executor through the MPI controller, wherein the number of concurrent tests is the number of accesses that need to be initiated to the same BMC under test at the same time, and the test strategy is to execute the same preset type of BMC access command concurrently through each MPI executor. The testing module is used by the MPI controller to monitor the execution process of the MPI executor, and through each MPI executor, concurrently access the BMC under test according to the testing strategy to obtain the test information returned by the BMC under test based on different accesses, and summarize the test information of the MPI executor. The judgment module is used to determine whether the BMC under test has an anomaly based on the summarized test information.

6. The apparatus according to claim 5, characterized in that, The testing strategy includes a first strategy or a third strategy, and the testing module is used for: Different BMC access commands, randomly selected from multiple preset types, are executed concurrently by different MPI executors; or... Each MPI executor concurrently executes its corresponding preset type of BMC access command, and the number of MPI executors executing each preset type of BMC access command meets a preset condition.

7. The apparatus according to claim 5, characterized in that, The judgment module is used for: Obtain reference information corresponding to different access methods; For each access, the test information and reference information corresponding to the access are compared and matched; Based on the comparison and matching results corresponding to each access, it is determined whether the BMC to be tested has an anomaly.

8. The apparatus according to claim 7, characterized in that, The judgment module is used for: If the comparison and matching results for each access are all mismatched, then it is determined that the BMC to be tested has crashed. If the comparison matching result for any of the accesses is a mismatch, then it is determined that the sensor in the BMC under test corresponding to that access is abnormal.

9. A server, characterized in that, include: A memory and a processor; wherein the memory stores executable code, and when the executable code is executed by the processor, the processor performs the controller testing method as described in any one of claims 1-4.

10. A non-transitory machine-readable storage medium, characterized in that, The non-transitory machine-readable storage medium stores executable code that, when executed by the server's processor, causes the processor to perform the controller testing method as described in any one of claims 1-4.

Citation Information

Patent Citations

  • Method and device for testing performance of hard disk of high-density storage server

    CN104850480A

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

    CN110941522A

  • User experience test method and system under large-scale concurrency, equipment and storage medium

    CN113515435A