The VA1000 module supports the management of VA 1000 server clusters. The VA 1000 has a management microcontroller and a dedicated Cluster Management Bus (CMBus) to provide remote management.
Each node in a VA 1000 cluster has a unique address that is determined dynamically when power is first applied. To insure that the addresses are properly allocated, follow the instructions in Appendix C - Clustering VA 1000 Nodes.
To get a node's CMBus address, press and hold the Power button down for 5 seconds, and release. The two rightmost LED's will flash, indicating the start of the CMBus address information. Next, the three rightmost LED's will flash, indicating the 100's, 10's, and 1's or the node's CMBus address. Finally, the two rightmost LED's will flash again, indicating the end of the CMBus address information. See Appendix C for more information.
For the following commands, the following error responses are possible:
JOB_COMPLETED - Successful completion.
MALFORMATTED_MESSAGE - Incorrectly formatted message.
UNSUPPORTED_MESSAGE - Command not available/supported.
MODULE_NOT_AVAILABLE - VA 1000 hardware not present or available.
NODE_NOT_CONFIGURED - Node's CMBus address unknown.
NODE_NOT_FOUND - Node name is invalid/unknown.
NODE_NOT_RESPONDING - Node's CMBus controller did not respond.
JOB_ERROR - Unexpected error response.
In order to manage a VA 1000 node, the VA1000 module needs to know the cluster management bus (CMBus) address of the node. The CONFIGURATION command provides the CMBus address of a node to the VA1000 module.
FORMAT: VA1000:CONFIGURATION:<name>:<cmbus_address> RESPONSES: JOB_STARTED JOB_COMPLETED or JOB_STARTED JOB_ERROR:<error message> FIELDS: <cmbus_address> - The CMBus address is typically given in decimal. |
To retrieve the configuration information for a node from the VA1000 module, use the INQUIRY command.
FORMAT: VA1000:INQUIRY:<name> RESPONSES: JOB_STARTED INQUIRY:<name>:<cmbus_address> JOB_COMPLETED or JOB_STARTED JOB_ERROR:<error message> |
A node can be powered down with the POWER_OFF command. A power-down request to the cluster controller node is ignored.
FORMAT: VA1000:POWER_OFF:<name> RESPONSES: JOB_STARTED JOB_COMPLETED or JOB_STARTED JOB_ERROR:<error message> |
A node can be powered up with the POWER_ON command. If the node is already powered, nothing happens.
FORMAT: VA1000:POWER_ON:<name> RESPONSES: JOB_STARTED JOB_COMPLETED or JOB_STARTED JOB_ERROR:<error message> |
A node can be power cycled with the POWER_CYCLE command. This is equivalent to issuing a POWER_OFF command followed by a POWER_ON command.
FORMAT: VA1000:POWER_CYCLE:<name> RESPONSES: JOB_STARTED JOB_COMPLETED or JOB_STARTED JOB_ERROR:<error message> |
FORMAT: VA1000:HARD_RESET:<name> RESPONSES: JOB_STARTED JOB_COMPLETED or JOB_STARTED JOB_ERROR:<error message> |
The current state of a node's chassis can be obtained with the CHASSIS_STATUS command. The available information is a subset of the chassis status information available on an EMP node.
FORMAT: VA1000:CHASSIS_STATUS:<name> RESPONSES: JOB_STARTED CSTATUS:<power_on>:<selected>:<reserved>:<reserved>: <reserved>:<identifying>:<reserved>:<reserved> JOB_COMPLETED or JOB_STARTED JOB_ERROR:<errno string> FIELDS: <power_on> - Power On? <selected> - Using the monitor/keyboard/mouse? <identifying> - Blinking the rightmost two LED's? <reserved> - Reserved for future use - returns "NO" |
The VA 1000's cluster management bus includes the monitor, keyboard, and mouse signals necessary to drive a console from any node in the cluster. Pressing the Power switch on a node "selects" that node to use the monitor, keyboard, and mouse as a console. The SELECT command provides the capability to select a node from software.
Only one node can be selected. Issuing a SELECT command will deselect the currently selected node, and select the new node to drive the console.
FORMAT: VA1000:SELECT:<name> RESPONSES: JOB_STARTED JOB_COMPLETED or JOB_STARTED JOB_ERROR:<error message> NOTES: If the node is off, SELECT will power it up. If the node is identifying, SELECT will cause identifying to stop. |
Issuing an IDENTIFY command makes it possible to locate a particular node in a cluster. A node identifies itself by blinking the two rightmost LED's on the front panel. Sending an IDENTIFY:..:OFF command or a SELECT command will cause the node to stop identifying. A node can identify itself even if the node is powered down.
FORMAT: VA1000:IDENTIFY:<name>:<ON|OFF> RESPONSES: JOB_STARTED JOB_COMPLETED or JOB_STARTED JOB_ERROR:<error message> |
Each VA 1000 node contains a small amount of EEPROM that is managed by the cluster management microcontrollers. The EEPROM_READ command reads one byte from the EEPROM.
FORMAT: VA1000:EEPROM_READ:<name>:<address> RESPONSES: JOB_STARTED EEPROM_READ:<value (in hex)> JOB_COMPLETED or JOB_STARTED JOB_ERROR:<error message> |
The EEPROM_READ command writes one byte to the EEPROM managed by the cluster management microcontrollers.
FORMAT: VA1000:EEPROM_WRITE:<name>:<address>:<value> RESPONSES: JOB_STARTED JOB_COMPLETED or JOB_STARTED JOB_ERROR:<error message> |
The DEBUG command allows inspection of module globals to aid in debugging problems. The DUMP subcommand dumps all the globals, while the GET subcommand dumps one global by name. The SET command, if enabled, allows global values to be altered. The typical use of SET would be to raise the debug level to generate more verbose logging output. The ability to set globals is disabled by default.
FORMAT: VA1000:DEBUG:<name>:<DUMP|GET|SET>[:<variable_name>[:<value>]] RESPONSES: JOB_STARTED DEBUG:g_local_node:10 DEBUG:g_debug_level:1 DEBUG:g_smb_fd:8 DEBUG:g_cmd_ctr:7 DEBUG:g_timeout:5 DEBUG:lw-207:10:10:i:s:d DEBUG:lw-208:2:2:i:s:d DEBUG:m:123:123:i:s:d DEBUG:missing::-1:i:s:d JOB_COMPLETED or JOB_STARTED JOB_ERROR:<errno string> |
If enabled, the RAW command makes it possible to issue a cluster management command directly to the cluster management microcontroller. This command is disabled by default. Result string depends on the command that was issued.
FORMAT: VA1000:RAW:<name>:<addr cmd result len d1 d2 d3> RESPONSES: JOB_STARTED RAW:<response bytes> JOB_COMPLETED or JOB_STARTED JOB_ERROR:<errno string> |