VA1000 Module

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:

Configuring the VA1000 Module to Manage a Node

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.

Retrieving a Configured Node's Module Configuration

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>

Powering Down the Chassis

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>

Powering Up the Chassis

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>

Power Cycling the Chassis

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>

Hard Resetting the Chassis

FORMAT:
VA1000:HARD_RESET:<name>
RESPONSES:
JOB_STARTED
JOB_COMPLETED
  or
JOB_STARTED
JOB_ERROR:<error message>

Retrieving a Node's Current Chassis Status

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"

Selecting a Node to Use the Console

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.

Identifying a Node in a Cluster

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>

Reading EEPROM

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>

Writing EEPROM

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>

Displaying VA1000 Module Global State

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>

Issuing Cluster Management Commands Directly

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>