1. Technical Field
Embodiments of the present disclosure relate to monitoring technology, and in particular, to a client server and method for monitoring function tests of the client server.
2. Description of Related Art
During commonly executed procedures of when a client server is being monitored, a monitor server monitors function tests of the client server with an implemented operating system (OS). However, function tests of the client server cannot be monitored if the OS has not started up, such as a test situation in a basic input output system (BIOS) environment, unless extra hardware is added.
The disclosure is illustrated by way of example and not by way of limitation in the figures of the accompanying drawings in which like references indicate similar elements. It should be noted that references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references mean at least one.
In general, the word “module,” as used herein, refers to logic embodied in hardware or firmware, or to a collection of software instructions, written in a programming language, for example, Java, C, or assembly. One or more software instructions in the modules may be embedded in firmware, such as an EPROM. It will be appreciated that modules may comprised connected logic units, such as gates and flip-flops, and may comprise programmable units, such as programmable gate arrays or processors. The modules described herein may be implemented as either software and/or hardware modules and may be stored in any type of computer-readable medium or other computer storage system.
In some embodiments, the client server 2 can include a baseboard management controller (BMC) module 21, a basic input/output system (BIOS) analysis module 22, and a function test module 23. The modules 21-23 may comprise computerized code in the form of one or more programs that are stored in the storage system 40. The computerized code includes instructions that are executed by the processor 60 to provide functions for modules 21-23. Details of these operations follow.
The BMC module 21 may be a communication and management module between the monitor server 1 and the client server 2. The BMC module 21 may parse customization Intelligent Platform Management Interface (IPMI) commands sent by the monitor server 1 to be corresponding commands suitable for the client server 2. The customization IPMI commands may be a startup IPMI command, a power-on self-test (POST) IPMI command, an IPMI command of function tests based on the OS, or a shutdown IPMI command, for example.
In some embodiments, if the monitor server 1 sends the startup IPMI command or the shutdown IPMI command to the client server 2, the BMC module 21 parses the startup IPMI command or the shutdown IPMI command. The client server 2 may execute the parsed startup IPMI command or the parsed shutdown IPMI command, and return a test result of the parsed startup IPMI command or a test result of the parsed shutdown IPMI command. The test result represents whether the parsed customization IPMI command is executed successfully, with each test result of the parsed customization IPMI command having corresponding IPMI return value.
If the monitor server 1 sends the POST IPMI command to the client server 2, the BMC module 21 parses the POST IPMI command, and transmits the parsed POST IPMI command to the BIOS analysis module 22. The BIOS analysis module 22 executes the parsed POST IPMI command to analyze hardware components of the client server 2, and returns a test result of the parsed POST IPMI command. In some embodiments, the analysis of the hardware equipments may include scanning a basic frequency of the central processing unit (CPU) of the client server 2, and analyzing and testing the memory or hard disk drive (HDD) of the client server 2, for example.
If the monitor server 1 sends the IPMI command of function tests based on the OS (function test IPMI command for simplification), the BMC module 21 parses the function test IPMI command and transmits the parsed function test IPMI command to the function test module 23. The function test module 23 executes the parsed function test IPMI command to test the function based on the OS of the client server 2, and return a test result of the parsed function test IPMI command.
In response to execution of the parsed customization IPMI command, the BMC module 21 may obtain the test result of the parsed customization IPMI command. The BMC module 21 further determines an IPMI return value corresponding to the test result, and transmits the determined IPMI return value to the monitor server 1. Detailed descriptions of the IPMI return value follow. The monitor server may confirm a test situation of the client server 2 according to the determined IPMI return value from the BMC module 21.
In some embodiments, the monitor server 1 may set an INI contrast file corresponding to each customization IPMI command, to store a standard IPMI return value of each customization IPMI command. Each customization IPMI command has a corresponding return value. For example, a customization IPMI command of “get device ID” is represented as “C1 18 01.” A standard IPMI return value of “C1 18 01” is “00 81 00 01 01 51 29 57 01 00 0d 09 01 06 01 01.” If the IPMI return value of the “C1 18 01” is different from its standard IPMI return value, that is, the “get device ID” test fails. If the IPMI return value of the “C1 18 01” is equal to the standard IPMI return value, the “get device ID” test is passed. The monitor server 1 may write the standard IPMI return value into a form of *.ini file of the customization IPMI command of “get device ID.”
The monitor server 1 may determine whether the determined IPMI return value received from the client server 1 is equal to the standard IPMI return value of the customization IPMI command. If the determined IPMI return value is equal to the standard IPMI return value, the monitor server 1 records that a test of the customization IPMI command is passed. If the determined IPMI return value is different from the standard IPMI return value, the monitor server 1 records that the test of the customization IPMI command is failed.
In some embodiments, a test order of the client server 2 may be “startup—POST-function tests based on the OS-shutdown.” That is, the startup test is executed first. Until the startup test is passed, the POST is executed. Until the POST is passed, the function tests based on the OS is executed. Finally, the shutdown test is executed. The entire test process is monitored and automatically controlled by the client server 1 and the monitor server 1.
In block S110, the monitor server 1 sets an INI contrast file corresponding to each customization IPMI command, to store standard IPMI return value of each customization IPMI command.
In block S111, the BMC module 21 receives the customization IPMI command from the monitor server 1.
In the block S112, the BMC module 21 parses the customization IPMI command to be a corresponding command suitable for the client server 2. When the monitor server 1 sends the startup IPMI command or the shutdown IPMI command, the BMC module 21 parses the startup IPMI command or the shutdown IPMI command, and the client server 2 executes the parsed startup IPMI command or the parsed shutdown IPMI command. When the monitor server 1 sends the POST IPMI command, the BMC module 21 parses the POST IPMI command and transmits to parsed POST IPMI command the BIOS analysis module 22. When the monitor server 1 sends the function test IPMI command, the BMC module 21 parses the function test IPMI command and transmits the parsed function test IPMI command to the function test module 23.
In block S113, in response to client server 2 executing the parsed IPMI command and returning the result thereof, the BMC module 21 obtains the test result. The client server 2 executes the parsed startup IPMI command or the parsed shutdown IPMI command, and returns a test result of the parsed startup IPMI command or a test result of the parsed shutdown IPMI command. The BIOS analysis module 22 executes the parsed POST IPMI command to analyze the hardware equipments of the client server 2, and returns a test result of the parsed POST IPMI command. The function test module 23 executes the parsed function test IPMI command to test the function based on the OS of the client server 2, and return a test result of the parsed function test IPMI command
In block S114, the BMC module 21 determines an IPMI return value corresponding to the test result, and transmits the determined IPMI return value to the monitor server 1.
In block S115, the monitor server 1 determines whether the determined IPMI return value is equal to a standard IPMI return value of the customization IPMI command.
If the determined IPMI return value is equal to the standard IPMI return value, in block S116, the monitor server 1 records that a test of the customization IPMI command is passed.
If the determined IPMI return value is different from the standard IPMI return value, in block S117, the monitor server 1 records that the test of the customization IPMI command is failed.
It should be emphasized that the described inventive embodiments are merely possible examples of implementations, and set forth for a clear understanding of the principles of the present disclosure. Many variations and modifications may be made to the-described inventive embodiments without departing substantially from the spirit and principles of the present disclosure. All such modifications and variations are intended to be comprised herein within the scope of this disclosure and the-described inventive embodiments, and the present disclosure is protected by the following claims.
Number | Date | Country | Kind |
---|---|---|---|
201010168077.1 | May 2010 | CN | national |