CN114138574A - Controller testing method, device, server and storage medium - Google Patents

Controller testing method, device, server and storage medium Download PDF

Info

Publication number
CN114138574A
CN114138574A CN202111404878.8A CN202111404878A CN114138574A CN 114138574 A CN114138574 A CN 114138574A CN 202111404878 A CN202111404878 A CN 202111404878A CN 114138574 A CN114138574 A CN 114138574A
Authority
CN
China
Prior art keywords
bmc
test
mpi
tested
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111404878.8A
Other languages
Chinese (zh)
Inventor
陈小龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ruijie Networks Co Ltd
Original Assignee
Ruijie Networks Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ruijie Networks Co Ltd filed Critical Ruijie Networks Co Ltd
Priority to CN202111404878.8A priority Critical patent/CN114138574A/en
Publication of CN114138574A publication Critical patent/CN114138574A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2215Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test error correction or detection circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The embodiment of the invention provides a controller testing method, a controller testing device, a server and a storage medium, wherein the method comprises the following steps: acquiring a BMC test task, wherein the BMC test task carries concurrent test quantity and a test strategy; starting an MPI controller, and configuring MPI actuators with the number equal to the number of concurrent tests; the testing strategy is issued to each MPI executor through the MPI controller; concurrently accessing the BMC to be tested according to the testing strategy through each MPI executor so as to obtain testing information returned by the BMC to be tested based on different accesses; and determining whether the BMC to be tested is abnormal or not according to test information returned by the BMC to be tested based on different accesses. The BMC can be accessed simultaneously in a concurrent mode based on the MPI technology, and the test reliability can be ensured and the test efficiency can be improved through the test mode.

Description

Controller testing method, device, server and storage medium
Technical Field
The invention relates to the technical field of equipment maintenance, in particular to a controller testing method, a controller testing device, a server and a storage medium.
Background
Platform management (platform management) represents a series of monitoring and control functions, and the object of monitoring and control is device hardware. For example, the temperature, voltage, fan, power supply, etc. of the device are monitored. And performing corresponding adjustment according to the information obtained by monitoring, thereby ensuring that the equipment is in a normal working state. If the device is abnormal, the device can be restarted in a reset mode. Meanwhile, the platform management also needs to record state information and a System Event Log (SEL for short) of each device hardware, and the state information and the System Event Log are used for prompting a user and positioning problems when the subsequent devices are abnormal.
The functions described above can be implemented by being integrated into a Controller, which is called a Baseboard Management Controller (BMC). The BMC may be integrated in the monitored device, and when the BMC monitors that the monitored device is abnormal, the BMC needs to send the abnormal information to the remote monitoring device. The monitoring equipment presents the abnormal information to the manager, and the manager can know what kind of abnormality occurs to the monitored equipment.
In the process of monitoring the monitored device, the monitoring device needs to frequently read the state information of each device hardware from the BMC. In order to avoid BMC failure due to frequent accesses and to improve stability and reliability of BMC, the BMC needs to be stress tested before leaving the factory.
Disclosure of Invention
The embodiment of the invention provides a controller testing method, a controller testing device, a server and a storage medium, which are used for ensuring the reliability of a BMC testing process and improving the testing efficiency.
In a first aspect, an embodiment of the present invention provides a controller testing method, where the method includes:
acquiring a BMC (baseboard management controller) test task, wherein the BMC test task carries concurrent test quantity and a test strategy;
starting an information transmission interface MPI controller, and configuring MPI actuators with the number equal to the number of concurrent tests;
the testing strategy is issued to each MPI executor through the MPI controller;
concurrently accessing the BMC to be tested according to the test strategy through each MPI executor so as 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 or not according to test information returned by the BMC to be tested based on different accesses.
Optionally, the concurrent test number is the number of accesses to the same BMC to be tested that need to be initiated at the same time, or the number of BMCs to be tested that need to be accessed at the same time.
Optionally, the test policy comprises a first policy, a second policy, or a third policy;
when the test policy is the first policy, the accessing, by the MPI executors, the BMC to be tested according to the test policy concurrently includes: concurrently executing different BMC access commands randomly selected from a plurality of BMC access commands of preset types through different MPI actuators;
when the test policy is the second policy, the accessing, by the MPI executors, the BMC to be tested according to the test policy concurrently includes: concurrently executing BMC access commands of the same preset type through the MPI actuators;
when the test strategy is a third strategy, the step of concurrently accessing the BMC to be tested according to the test strategy through each MPI executor comprises the following steps: and concurrently executing the BMC access commands of the respective corresponding preset types by the MPI actuators, wherein the corresponding number of the MPI actuators executing the BMC access commands of the respective preset types meets preset conditions.
Optionally, the determining, according to test information returned by the BMC to be tested based on different accesses, whether the BMC to be tested is abnormal includes:
acquiring reference information respectively corresponding to different accesses;
for each visit, comparing and matching test information and reference information corresponding to the visit;
and determining whether the BMC to be tested is abnormal or not according to the comparison and matching result corresponding to each access.
Optionally, the determining whether the BMC to be tested is abnormal according to the comparison and matching result corresponding to each access includes:
if the comparison and matching results respectively corresponding to the accesses are not matched, determining that the BMC to be tested is down;
and if the comparison matching result corresponding to any access in the accesses is not matched, determining that the sensor in the BMC to be tested corresponding to any access is abnormal.
In a second aspect, an embodiment of the present invention provides a controller testing apparatus, including:
the system comprises an acquisition module, a test module and a control module, wherein the acquisition module is used for acquiring a BMC (baseboard management controller) test task, and the BMC test task carries concurrent test quantity and a test strategy;
the configuration module is used for starting an information transmission interface (MPI) controller and configuring MPI actuators with the number equal to the number of concurrent tests;
the issuing module is used for issuing the test strategies to each MPI executor through the MPI controller;
the testing module is used for concurrently accessing the BMC to be tested according to the testing strategy through each MPI executor so as to acquire testing information returned by the BMC to be tested based on different accesses;
and the judging module is used for determining whether the BMC to be tested is abnormal or not according to the test information returned by the BMC to be tested based on different accesses.
Optionally, the concurrent test number is the number of accesses to the same BMC to be tested that need to be initiated at the same time, or the number of BMCs to be tested that need to be accessed at the same time.
Optionally, the test policy includes a first policy, a second policy, or a third policy, and the test module is configured to:
concurrently executing different BMC access commands randomly selected from a plurality of BMC access commands of preset types through different MPI actuators; alternatively, the first and second electrodes may be,
concurrently executing BMC access commands of the same preset type through the MPI actuators; alternatively, the first and second electrodes may be,
and concurrently executing the BMC access commands of the respective corresponding preset types by the MPI actuators, wherein the corresponding number of the MPI actuators executing the BMC access commands of the respective preset types meets preset conditions.
Optionally, the determining module is configured to:
acquiring reference information respectively corresponding to different accesses;
for each visit, comparing and matching test information and reference information corresponding to the visit;
and determining whether the BMC to be tested is abnormal or not according to the comparison and matching result corresponding to each access.
Optionally, the determining module is configured to:
if the comparison and matching results respectively corresponding to the accesses are not matched, determining that the BMC to be tested is down;
and if the comparison matching result corresponding to any access in the accesses is not matched, determining that the sensor in the BMC to be tested corresponding to any access is abnormal.
In a third aspect, an embodiment of the present invention provides a server, including a processor and a memory, where the memory stores executable code, and when the executable code is executed by the processor, the processor is enabled to implement at least the controller testing method in the first aspect.
In a fourth aspect, an embodiment of the present invention provides a non-transitory machine-readable storage medium having stored thereon executable code, which when executed by a processor of a server, causes the processor to implement at least the controller testing method of the first aspect.
By adopting the invention, the parallel test of the BMC can be realized based on the MPI technology, and the reliability of concurrent access can be ensured by adopting the MPI technology. The BMC can be accessed simultaneously in a concurrent mode based on the MPI technology, so that the aim of adjusting the access pressure to a higher degree can be achieved, and whether the BMC can continue to work normally under the higher access pressure can be tested. The test mode can ensure the reliability of the test and improve the test efficiency.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on the drawings without creative efforts.
Fig. 1 is a schematic flowchart of a controller testing method according to an embodiment of the present invention;
fig. 2 is a schematic structural diagram of a controller testing system according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of an MPI scheme provided by an embodiment of the present invention;
fig. 4 is a schematic structural diagram of a controller testing apparatus according to an embodiment of the present invention;
fig. 5 is a schematic structural diagram of a server according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The terminology used in the embodiments of the invention is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used in the examples of the present invention and the appended claims, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise, and "a plurality" typically includes at least two.
The words "if", as used herein, may be interpreted as "at … …" or "at … …" or "in response to a determination" or "in response to a detection", depending on the context. Similarly, the phrases "if determined" or "if detected (a stated condition or event)" may be interpreted as "when determined" or "in response to a determination" or "when detected (a stated condition or event)" or "in response to a detection (a stated condition or event)", depending on the context.
In addition, the sequence of steps in each method embodiment described below is only an example and is not strictly limited.
Fig. 1 is a flowchart of a controller testing method according to an embodiment of the present invention, where the method may be applied to a server. As shown in fig. 1, the method comprises the steps of:
101. and acquiring a BMC test task, wherein the BMC test task carries the concurrent test quantity and the test strategy.
102. Starting a Message Transmission Interface (MPI) controller, and configuring MPI actuators equal to the number of concurrent tests.
103. And issuing the test strategy to each MPI executor through the MPI controller.
104. And concurrently accessing the BMC to be tested according to the test strategy through each MPI executor so as to obtain test information returned by the BMC to be tested based on different accesses.
105. And determining whether the BMC to be tested is abnormal or not according to test information returned by the BMC to be tested based on different accesses.
The BMC is part of an Intelligent Platform control Interface (IPMI) and is typically integrated into a template or main circuit board of the monitored device. The sensors of the BMC are used to monitor physical variables inside the monitored device, such as temperature, humidity, supply voltage, fan speed, communication parameters, operating system functions, etc. If any of these physical variables exceeds the specified range, the BMC will notify the administrator, who will take corrective action remotely by monitoring the device. The monitored device can be controlled or restarted if necessary. Therefore, one manager can control a large number of monitored devices in a remote mode, the overall cost of the network is saved, and the reliability can be ensured.
An operating system in the monitoring equipment can realize the functions of acquiring information of the sensor, displaying the content of a system event log, remotely turning on and off a network and the like through the bmcserver service, and can monitor data of each sensor and record the system event log of various events through the bmcserver service. When any sensor is abnormal, the abnormal information is recorded in the system event log as an event.
In practical application, the method provided by the embodiment of the invention can be used for realizing the test of the BMC, in particular to the parallel test of the BMC realized based on the MPI technology. The MPI is a cross-language communication protocol and is used for writing a parallel computer. The reliability of concurrent access can be ensured by adopting MPI technology. In some optional embodiments, as shown in fig. 2, the method provided in the embodiment of the present invention may be implemented by the execution server testing the BMC to be tested, and by an operation and maintenance server and the like.
The MPI execution environment may be customized in advance in the operation and maintenance server, and refers to an MPI script, which may be a file in MPI. Based on the MPI script, an MPI scheme can be run. In the MPI script, a test command for realizing the BMC test task can be encapsulated into a function, so that the details in the function do not need to be concerned, and a technician only needs to transmit appropriate parameters to the function, and the server can complete the BMC test task. The parameters transmitted to the function refer to the concurrent test quantity and the test strategy in the BMC test task, and the test strategy defines different schemes for testing the BMC to be tested.
Optionally, the number of concurrent tests may be the number of accesses that need to be initiated to the same BMC to be tested at the same time, or the number of BMCs to be tested that need to be accessed at the same time.
According to the test requirement, in some application scenarios, the same BMC to be tested needs to be accessed N times, where N may be, for example, 10, 100, 1000, or the like. Or, in some application scenarios, M BMCs to be tested need to be accessed simultaneously, where M may be an integer within 10, for example.
For a scenario of testing a single BMC to be tested, in order to adjust the access pressure to the maximum to test whether the BMC to be tested can normally work under a huge access pressure, the BMCs to be tested may be simultaneously accessed in a concurrent manner based on the MPI technology. Therefore, whether the BMC to be tested can still work normally under the large access pressure can be tested, and the reliability of the test is ensured.
For the scenario of simultaneously testing the M BMCs to be tested, if a single BMC to be tested is sequentially tested in sequence, and the test time required by one BMC to be tested is t, the Mt time is required for testing the M BMCs to be tested. And if the M BMCs to be tested are tested simultaneously in a concurrent mode based on the MPI technology, all tests can be completed within t time, so that the test time can be greatly shortened, and the test efficiency is improved.
A technician can set the quantity of concurrent tests and the test strategy to be used through the operation and maintenance server and transmits the quantity and the test strategy to the packaged function, so that the MPI script is set. It should be noted that, because the MPI scheme can be run based on the MPI script, after the MPI script is set, which operation and maintenance server needs to implement the MPI scheme, the set MPI script is copied to the operation and maintenance server, and the portability of the test process is high.
The operation and maintenance server may send a set MPI script to the execution server, where the set MPI script may also be considered as a BMC test task. And finally, the execution server performs concurrent testing on the BMC to be tested according to the BMC testing task.
Optionally, in the foregoing process, the operation and maintenance server may implement management and control operations on the test process through the operation and maintenance application program. The operation and maintenance application may be an ansable, for example. Based on this, the set MPI script can be integrated into the infrastructure, and the set MPI script is sent to the execution server through the infrastructure.
The execution server may obtain the BMC test task and then execute the BMC test task. The execution server may start the MPI controller according to the BMC test task. As shown in fig. 3, the MPI controller is responsible for monitoring the execution process of the MPI actuator and summarizing the execution result of the MPI actuator. In addition, the executive server can also be configured with MPI executors equal to the number of concurrent tests. For example, assuming that 1000 concurrent accesses to the same BMC to be tested are currently required, 1000 MPI enforcers may be configured. For another example, assuming that 10 BMCs currently need to be tested simultaneously, 10 MPI enforcers may be configured. After the MPI actuators are configured, the MPI controller can issue the test strategy to each MPI actuator, so that each MPI actuator can know what scheme is adopted to test the BMC to be tested. The specific different schemes for testing the BMC to be tested will be described later, and will not be described herein.
Each MPI executor may concurrently access the BMC to be tested according to the received test policy, that is, each MPI executor determines a corresponding command to access the BMC according to the received test policy, and executes the corresponding command to access the BMC to be tested. Accordingly, the BMC may return corresponding test information after receiving the access. It should be noted that the BMC is provided with various sensors for collecting data indicating the status of the monitored device. Based on this, the process of accessing the BMC may be, for example, requesting data collected by a certain sensor in the BMC, and then the data may be used as the test information.
And finally, determining whether the BMC to be tested is abnormal or not according to test information returned by the BMC to be tested based on different accesses. Optionally, the process of 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 may be implemented as follows: acquiring reference information respectively corresponding to different accesses; for each visit, comparing and matching the test information and the reference information corresponding to the visit; and determining whether the BMC to be tested is abnormal or not according to the comparison and matching result respectively corresponding to each access.
It should be noted that different MPI executors may initiate the same or different accesses to the BMC to be tested according to the test policy, and therefore, it is assumed that the test information returned by the BMC to be tested may be the same or different under the condition that the BMC to be tested is completely normal. For different accesses, their respective reference information may be pre-designed, and the reference information is that the BMC to be tested receives correct information that a certain access should return when the BMC to be tested normally operates.
Based on this, the MPI executor may acquire reference information respectively corresponding to different accesses. For each access, the test information and the reference information corresponding to the access are compared and matched. Specifically, the text similarity between the test information and the reference information may be calculated, and if the text similarity is greater than a preset threshold, it indicates that the test information and the reference information corresponding to a certain access are matched. Then, whether a certain access passes or fails can be determined according to the comparison matching result corresponding to each access.
Each MPI executor can also feed back the result of whether the access determined by each MPI executor passes to the MPI controller, the MPI controller counts and summarizes the result of whether the access determined by all the MPI executors passes, and then feeds back the statistical information to the operation and maintenance server. For example, it is assumed that 100 MPI executors access the BMC to be tested, 99 MPI executors return the result of passing access, and 1 MPI executor returns the result of failing access. The MPI controller can feed back statistical information of the results of the 99 MPI executors returning the access pass and the results of the 1 MPI executors returning the access failure to the operation and maintenance server. In some optional embodiments, the operation and maintenance server may obtain the statistical information fed back by the MPI controller through the ansable.
The operation and maintenance server can judge whether the BMC to be tested is abnormal or not according to the statistical information. Optionally, the process of determining whether the BMC to be tested is abnormal may be implemented as: if the comparison and matching results respectively corresponding to the accesses are not matched, determining that the BMC to be tested is down; and if the comparison matching result corresponding to any access in all accesses is not matched, determining that the sensor in the BMC to be tested corresponding to any access is abnormal.
It can be understood that if all accesses fail for the same BMC under test, this indicates that the BMC under test has gone down. If the individual access fails, it indicates that the sensor that the individual access needs to request data is abnormal.
The following describes the testing strategy that the MPI executor can adopt to test the BMC to be tested.
Optionally, the test policy may include a first policy, a second policy, or a third policy. The first policy may also be referred to as a random policy, the second policy may also be referred to as a fixed point policy, and the third policy may also be referred to as a sequential policy.
The first strategy is as follows: and concurrently executing different BMC access commands randomly selected from the plurality of BMC access commands of the preset types through different MPI actuators.
For example, assuming there are 6 BMC access commands of a preset type, 10 MPI executors need to concurrently initiate access to the BMC under test. For each MPI executor i, the MPI executor i may randomly extract one BMC access command from the 6 BMC access commands of the preset type, and then initiate access to the BMC to be tested through the randomly extracted BMC access command.
The first strategy can ensure the stability of the random behavior of the service.
The second strategy is as follows: and concurrently executing the BMC access command of the same preset type through each MPI executor.
The stability of the same business behavior can be ensured by adopting the second strategy.
The third strategy is as follows: and concurrently executing the BMC access commands of the respective preset types by the MPI actuators, wherein the corresponding number of the MPI actuators executing the BMC access commands of the respective preset types meets preset conditions.
The corresponding number of MPI executors executing the BMC access command of each preset type needs to be average.
For example, if an MPI script is provided with 6 BMC access commands of a preset type, and the 6 BMC access commands of the preset type are commonly used, 12 MPI executors need to concurrently initiate access to a BMC to be tested, the MPI script is set with:
the MPI executor 1 initiates access to the BMC to be tested through a BMC access command 1;
the MPI executor 2 initiates access to the BMC to be tested through a BMC access command 2;
the MPI executor 3 initiates access to the BMC to be tested through a BMC access command 3;
the MPI executor 4 initiates access to the BMC to be tested through a BMC access command 4;
the MPI executor 5 initiates access to the BMC to be tested through a BMC access command 5;
the MPI executor 6 initiates access to the BMC to be tested through a BMC access command 6;
the MPI executor 7 initiates access to the BMC to be tested through a BMC access command 1;
the MPI executor 8 initiates access to the BMC to be tested through the BMC access command 2;
the MPI executor 9 initiates access to the BMC to be tested through the BMC access command 3;
the MPI executor 10 initiates access to the BMC to be tested through a BMC access command 4;
the MPI executor 11 initiates access to the BMC to be tested through a BMC access command 5;
the MPI executor 12 initiates an access to the BMC to be tested via the BMC access command 6.
And the stability of the common basic behaviors in the service can be ensured by adopting the third strategy.
In some optional embodiments, the operation and maintenance server may further perform an upgrade operation on the BMC, and the upgrade operation may be implemented with the aid of the compilation server. The compiling server can be used for storing the BMC updating application program, the operation and maintenance server can acquire the BMC updating application program from the compiling server through the ansable, and then the BMC is controlled through an upgrading channel of the BMC to install the BMC updating application program so as to upgrade the BMC.
In some optional embodiments, the operation and maintenance server may also upgrade the locally customized MPI execution environment.
In some optional embodiments, the operation and maintenance server may also remotely log in to the monitored device through the ansable. Specifically, the device to be monitored can be logged in through Secure Shell (SSH) or telnet (which is a standard protocol and main means of Internet remote login service).
In some optional embodiments, the operation and maintenance server may also integrate the functions of the login execution server.
In some alternative embodiments, the monitored device may be a white box switch, which is one type of switch. The white box switch decouples the switch hardware and software so that a user can only purchase the switch hardware and then deploy the software as needed.
It should be noted that the BMC plays an important role in the monitoring management process of the white box switch. The BMC includes basic information such as a Field replaceable Unit (FRU for short), a System Event Log (SEL for short), a Management Controller (MC for short), a Local Area Network (LAN for short), a Sensor Date Record (SDR for short) in an initial state. The BMC uses sensors to monitor the status of hardware, operating system SONiC components, or other hardware driven devices in the white box switch. The BMC may communicate through I2C (a two-way two-wire synchronous serial bus) and hardware in the white box switch.
For ease of understanding, specific implementations of the test methods provided above are illustrated in conjunction with the following application scenarios.
Before actual testing, the operation and maintenance server can test that the network among the operation and maintenance server, the execution server and the BMC to be tested is connected through the ansable. The test may be performed by the command "addressing-pointing", and the command execution result may be as follows:
Figure BDA0003372442560000111
Figure BDA0003372442560000121
the operation and maintenance server can also perform upgrading operation on the BMC to be tested. In some scenarios, it may be implemented by the commands "Wget http:// 172.28.55.66/output/git-openbmc-built/whitebox/switch/switch # arm 6_0_ A _ id 20210994821781/bmc.bin" and "fw _ upgrade/home/admin/bmc.bin 0 block 4e, fw _ upgrade/home/admin/bmc.bin 1 block 4 e", and the command execution results may be as follows:
Figure BDA0003372442560000122
in the operation and maintenance server, the MPI script may be configured as "node 1 slots 100, node1 slots 100, and node1 slots 100". This configuration represents the enablement of 3 execution servers, each of which enables 100 processes, thus a total of 300 processes, which can access the same BMC under test 300 times concurrently. After the configuration is completed, the above 300 processes can be started by a command "mpirun-hostfile host-np 300 python mpi.
And finally, testing the BMC to be tested.
In the test process, for the MPI executor, it is assumed that the BMC access command executed by the MPI executor is "bmcserver-I lan plus-H172.28.57.87-U Admin-P Admin fru print", and the reference information is as follows:
FRU Device Description:Builtin FRU Device(ID 0)
FRU Device Description:system(ID 3)
Product Manufacturer :Ruijie
Product Name :RA-B6510-48V8C
Product Part Number :RJ000001
Product Version :100
Product Serial :1234567834567
FRU Device Description:powersupply0(ID 75)
Product Name :CRPS550W
Product Version :AA
Product Serial :M623TW0028AAL
FRU Device Description:powersupply1(ID 76)
Product Name :CRPS550W
Product Version :AA
Product Serial :M623TT0004AAL
the test information returned by the BMC to be tested in response to the access is as follows:
FRU Device Description:Builtin FRU Device(ID 0)
FRU Device Description:system(ID 3)
Product Manufacturer :Ruijie
Product Name :RA-B6510-48V8C
Product Part Number :RJ000001
Product Version :100
Product Serial :1234567834567
FRU Device Description:powersupply0(ID 75)
Product Name :CRPS550W
Product Version :AA
Product Serial :M623TW0028AAL
FRU Device Description:powersupply1(ID 76)
Product Name :CRPS550W
Product Version :AA
Product Serial :M623TT0004AAL
the text similarity calculation can be performed on the test information and the reference information, and if the result is 100% similarity, the access is passed.
For an MPI controller, an example of statistical information that the MPI controller aggregates for each MPI actuator may be:
tested switch 172.28.57.87: concurrent 100 tests, PASS 100, FAIL 0
Tested switch 172.28.57.90: concurrent 100 tests, PASS 0, FAIL 100
The MPI controller feeds the statistical information back to the operation and maintenance server, and the operation and maintenance server judges whether the BMC to be tested is abnormal according to the statistical information, wherein one example of the judgment can be as follows:
tested switch 172.28.57.87: PASS
Normal BMC
Tested switch 172.28.57.90: FAIL
BMC may be down
By adopting the invention, the parallel test of the BMC can be realized based on the MPI technology, and the reliability of concurrent access can be ensured by adopting the MPI technology. The BMC can be accessed simultaneously in a concurrent mode based on the MPI technology, so that the aim of adjusting the access pressure to a higher degree can be achieved, and whether the BMC can continue to work normally under the higher access pressure can be tested. The test mode can ensure the reliability of the test and improve the test efficiency.
The controller test apparatus of one or more embodiments of the present invention will be described in detail below. Those skilled in the art will appreciate that the controller test units can each be configured using commercially available hardware components through the steps taught in the present scheme.
Fig. 4 is a schematic structural diagram of a controller testing apparatus according to an embodiment of the present invention, as shown in fig. 4, the apparatus includes:
the obtaining module 41 is configured to obtain a BMC test task of the BMC, where the BMC test task carries a concurrent test quantity and a test policy;
a configuration module 42, configured to start an information transfer interface MPI controller, and configure MPI actuators equal to the number of concurrent tests;
the issuing module 43 is configured to issue the test policy to each MPI executor through the MPI controller;
the test module 44 is configured to concurrently access the BMC to be tested according to the test policy through each MPI executor, so as to obtain test information returned by the BMC to be tested based on different accesses;
and the judging module 45 is configured to determine whether the BMC to be tested is abnormal according to test information returned by the BMC to be tested based on different accesses.
Optionally, the concurrent test number is the number of accesses to the same BMC to be tested that need to be initiated at the same time, or the number of BMCs to be tested that need to be accessed at the same time.
Optionally, the test policy includes a first policy, a second policy, or a third policy, and the test module 44 is configured to:
concurrently executing different BMC access commands randomly selected from a plurality of BMC access commands of preset types through different MPI actuators; alternatively, the first and second electrodes may be,
concurrently executing BMC access commands of the same preset type through the MPI actuators; alternatively, the first and second electrodes may be,
and concurrently executing the BMC access commands of the respective corresponding preset types by the MPI actuators, wherein the corresponding number of the MPI actuators executing the BMC access commands of the respective preset types meets preset conditions.
Optionally, the determining module 45 is configured to:
acquiring reference information respectively corresponding to different accesses;
for each visit, comparing and matching test information and reference information corresponding to the visit;
and determining whether the BMC to be tested is abnormal or not according to the comparison and matching result corresponding to each access.
Optionally, the determining module 45 is configured to:
if the comparison and matching results respectively corresponding to the accesses are not matched, determining that the BMC to be tested is down;
and if the comparison matching result corresponding to any access in the accesses is not matched, determining that the sensor in the BMC to be tested corresponding to any access is abnormal.
The apparatus shown in fig. 4 can execute the controller testing method provided in the embodiments shown in fig. 1 to fig. 3, and the detailed execution process and technical effect are described in the embodiments, and are not described herein again.
In one possible design, the structure of the controller testing apparatus shown in fig. 4 may be implemented as a server, as shown in fig. 5, and the server may include: a processor 91, and a memory 92. Wherein the memory 92 has stored thereon executable code, which when executed by the processor 91, causes the processor 91 to at least implement the controller testing method as provided in the embodiments of fig. 1 to 3 described above.
Optionally, the server may further include a communication interface 93 for communicating with other devices.
In addition, an embodiment of the present invention provides a non-transitory machine-readable storage medium having stored thereon executable code, which, when executed by a processor of a server, causes the processor to implement at least the controller testing method provided in the foregoing embodiments of fig. 1 to 3.
The above-described apparatus embodiments are merely illustrative, wherein the units described as separate components may or may not be physically separate. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment. One of ordinary skill in the art can understand and implement it without inventive effort.
Through the above description of the embodiments, those skilled in the art will clearly understand that each embodiment can be implemented by adding a necessary general hardware platform, and of course, can also be implemented by a combination of hardware and software. With this understanding in mind, the above-described aspects and portions of the present technology which contribute substantially or in part to the prior art may be embodied in the form of a computer program product, which may be embodied on one or more computer-usable storage media having computer-usable program code embodied therein, including without limitation disk storage, CD-ROM, optical storage, and the like.
The controller testing method provided in the embodiment of the present invention may be executed by a certain program/software, the program/software may be provided by a network side, the server mentioned in the foregoing embodiment may download the program/software into a local nonvolatile storage medium, and when it needs to execute the controller testing method, the program/software is read into a memory by a CPU, and then the CPU executes the program/software to implement the controller testing method provided in the foregoing embodiment, and an execution process may refer to the schematic in fig. 1 to fig. 3.
Finally, it should be noted that: the above examples are only intended to illustrate the technical solution of the present invention, but not to limit it; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.

Claims (12)

1. A controller testing method, comprising:
acquiring a BMC (baseboard management controller) test task, wherein the BMC test task carries concurrent test quantity and a test strategy;
starting an information transmission interface MPI controller, and configuring MPI actuators with the number equal to the number of concurrent tests;
the testing strategy is issued to each MPI executor through the MPI controller;
concurrently accessing the BMC to be tested according to the test strategy through each MPI executor so as 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 or not according to test information returned by the BMC to be tested based on different accesses.
2. The method of claim 1, wherein the concurrent test number is a number of accesses that need to be initiated to the same BMC to be tested at the same time or a number of BMCs to be tested that need to be accessed at the same time.
3. The method of claim 1, wherein the test policy comprises a first policy, a second policy, or a third policy;
when the test policy is the first policy, the accessing, by the MPI executors, the BMC to be tested according to the test policy concurrently includes: concurrently executing different BMC access commands randomly selected from a plurality of BMC access commands of preset types through different MPI actuators;
when the test policy is the second policy, the accessing, by the MPI executors, the BMC to be tested according to the test policy concurrently includes: concurrently executing BMC access commands of the same preset type through the MPI actuators;
when the test strategy is a third strategy, the step of concurrently accessing the BMC to be tested according to the test strategy through each MPI executor comprises the following steps: and concurrently executing the BMC access commands of the respective corresponding preset types by the MPI actuators, wherein the corresponding number of the MPI actuators executing the BMC access commands of the respective preset types meets preset conditions.
4. The method of claim 1, wherein the determining whether the BMC under test is abnormal according to the test information returned by the BMC under test based on different accesses comprises:
acquiring reference information respectively corresponding to different accesses;
for each visit, comparing and matching test information and reference information corresponding to the visit;
and determining whether the BMC to be tested is abnormal or not according to the comparison and matching result corresponding to each access.
5. The method of claim 4, wherein the determining whether the BMC to be tested is abnormal according to the comparison and matching result corresponding to each access comprises:
if the comparison and matching results respectively corresponding to the accesses are not matched, determining that the BMC to be tested is down;
and if the comparison matching result corresponding to any access in the accesses is not matched, determining that the sensor in the BMC to be tested corresponding to any access is abnormal.
6. A controller testing apparatus, comprising:
the system comprises an acquisition module, a test module and a control module, wherein the acquisition module is used for acquiring a BMC (baseboard management controller) test task, and the BMC test task carries concurrent test quantity and a test strategy;
the configuration module is used for starting an information transmission interface (MPI) controller and configuring MPI actuators with the number equal to the number of concurrent tests;
the issuing module is used for issuing the test strategies to each MPI executor through the MPI controller;
the testing module is used for concurrently accessing the BMC to be tested according to the testing strategy through each MPI executor so as to acquire testing information returned by the BMC to be tested based on different accesses;
and the judging module is used for determining whether the BMC to be tested is abnormal or not according to the test information returned by the BMC to be tested based on different accesses.
7. The apparatus of claim 6, wherein the concurrent test number is a number of accesses that need to be initiated to the same BMC under test at the same time or a number of BMCs under test that need to be accessed at the same time.
8. The apparatus of claim 6, wherein the testing policy comprises a first policy, a second policy, or a third policy, and wherein the testing module is configured to:
concurrently executing different BMC access commands randomly selected from a plurality of BMC access commands of preset types through different MPI actuators; alternatively, the first and second electrodes may be,
concurrently executing BMC access commands of the same preset type through the MPI actuators; alternatively, the first and second electrodes may be,
and concurrently executing the BMC access commands of the respective corresponding preset types by the MPI actuators, wherein the corresponding number of the MPI actuators executing the BMC access commands of the respective preset types meets preset conditions.
9. The apparatus of claim 6, wherein the determining module is configured to:
acquiring reference information respectively corresponding to different accesses;
for each visit, comparing and matching test information and reference information corresponding to the visit;
and determining whether the BMC to be tested is abnormal or not according to the comparison and matching result corresponding to each access.
10. The apparatus of claim 9, wherein the determining module is configured to:
if the comparison and matching results respectively corresponding to the accesses are not matched, determining that the BMC to be tested is down;
and if the comparison matching result corresponding to any access in the accesses is not matched, determining that the sensor in the BMC to be tested corresponding to any access is abnormal.
11. A server, comprising: a memory, a processor; wherein the memory has stored thereon executable code which, when executed by the processor, causes the processor to perform the controller testing method of any of claims 1-5.
12. A non-transitory machine-readable storage medium having stored thereon executable code, which when executed by a processor of a server, causes the processor to perform the controller testing method of any one of claims 1-5.
CN202111404878.8A 2021-11-24 2021-11-24 Controller testing method, device, server and storage medium Pending CN114138574A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111404878.8A CN114138574A (en) 2021-11-24 2021-11-24 Controller testing method, device, server and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111404878.8A CN114138574A (en) 2021-11-24 2021-11-24 Controller testing method, device, server and storage medium

Publications (1)

Publication Number Publication Date
CN114138574A true CN114138574A (en) 2022-03-04

Family

ID=80392174

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111404878.8A Pending CN114138574A (en) 2021-11-24 2021-11-24 Controller testing method, device, server and storage medium

Country Status (1)

Country Link
CN (1) CN114138574A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115550216A (en) * 2022-09-26 2022-12-30 中国农业银行股份有限公司 Acquisition control module test method, apparatus, storage medium, and program product

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115550216A (en) * 2022-09-26 2022-12-30 中国农业银行股份有限公司 Acquisition control module test method, apparatus, storage medium, and program product

Similar Documents

Publication Publication Date Title
US10606725B2 (en) Monitor peripheral device based on imported data
US11210172B2 (en) System and method for information handling system boot status and error data capture and analysis
US9984244B2 (en) Controller, information processing apparatus, and recording medium
JP2014157505A (en) Controller, information processing device, and program
US20120136970A1 (en) Computer system and method for managing computer device
TW201417536A (en) Method and system for automatically managing servers
CN117251333A (en) Method, device, equipment and storage medium for acquiring hard disk information
US20140189103A1 (en) System for monitoring servers and method thereof
TW200426571A (en) Policy-based response to system errors occurring during os runtime
CN106557405A (en) server cabinet monitoring method
CN111078484B (en) Power-off test method, device, equipment and storage medium for system upgrade
CN116680101A (en) Method and device for detecting downtime of operating system, and method and device for eliminating downtime of operating system
CN114138574A (en) Controller testing method, device, server and storage medium
CN114138587B (en) Method, device and equipment for verifying reliability of server power firmware upgrade
CN114510381A (en) Fault injection method, device, equipment and storage medium
CN112783721B (en) Method, device and system for monitoring I2C bus and storage medium
CN111181808B (en) Method and system for testing BMC IP access control
CN116974941A (en) Testing method for management interface function of intelligent platform of baseboard management controller
CN114296995B (en) Method, system, equipment and storage medium for server to autonomously repair BMC
CN113553243A (en) Remote error detection method
JP4208494B2 (en) Load test system for network server
KR20160112787A (en) Test system and control method thereof
CN106909489B (en) Method and device for testing EventLog state
CN117311769B (en) Server log generation method and device, storage medium and electronic equipment
CN116048891A (en) Multi-node server testing method and device, storage medium and electronic device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination