openipmigui - GUI interface to an IPMI system
Contents
Channel Info
If you right click on an MC, it will show a Channel Info entry. This is used to configure the LAN and
channel information for the MC. If you select this, it will pull up a list of channels in a tree view.
Note that unlike the main tree, this information is not dynamically updated; it will not change if the
underlying data changes.
To configure individual channels, expand them. The Info settings are read only and cannot be changed.
The User Access settings can be changed by right-clicking on them. Note that the change is not
immediate, you must use the Save button at the bottom of the window to save the changes you have made.
Also, there are two versions of the User Access settings. One is volatile, and will update the current
settings for the MC, but if the MC restart the non-volatile settings will be restored. Setting the non-
volatile settings will not cause an immediate change, but those changes will be restored on the next MC
restart.
Some channels have user information; you can configure these by selecting that command in the right-click
menu of a channel.
LAN channels also have LAN configuration; you can configure these by selecting that command in the right-
click menu of a channel.
Connections
A set of connections for the domain is listed under the domain. Each connection has one or more ports.
The state of these ports may be viewed by color; if a port is yellow (warning), it is down. If a
connection is red (severe), then all its ports are down. If all connections are down, the "Connections"
tree item turns blue (critical).
Controls
Controls are available under the entity they belong to. control information is beyond the scope of this
document, as IPMI controls are very complex. See the IPMI document from OpenIPMI for information about
controls.
As expected, right-clicking on a control gives operations available on that control.
Description
openipmigui is a GUI interface using the OpenIPMI library. It provides a tree-structured view of the
IPMI domains it connected to.
By default openipmigui starts up with no connections or anything of that nature. You must open
connection to domains yourself. However, you may save your current configuration and the current domains
and some GUI settings; these will be automatically restored at startup.
The main window has a tree on the left and a log window on the right. The log window captures
informational and error logs from OpenIPMI. Note that events are not reported in the log window, you
must open an SEL window for a domain to view the events.
Domains
The domains contain various high-level information and an aggregation of all the System Event Logs (SELs)
contained within it. The SEL Rescan Time and IPMB Rescan Time are settable via right-click; these values
are remembered when saved and restored. (Note that these values in the MC-specific entries are not saved
and restore, only the domain level ones). Right clicking on the domain gives a set of operations,
including the ability to view the SEL.
Entities
The Entities element under the domain element contains a list of the entities discovered for that domain.
This is only the top-level entities (ones not contained in other entities); entities contained in other
entities are listed under their parent entity. This keeps the clutter down for very complicated systems,
like ATCA.
If the entity is hot-swappable, hot-swap activation and deactivation commands are available via right-
click on the entity. If the entity has FRU information, you can view that via a right-click command, too.
The information under an entity also contains a sensors and controls list for the entity.
Known Problems
Some of missing functionality. See the list in the swig/python/openipmigui/TODO if you want to work on
something.
Lanparms
In the channel display on a 8023_LAN channel, a LANPARM configuration command is available. This pulls
up all the parameters for the LAN and allows them to be set. Right-clicking on an item allows it to be
changed.
Management Controllers (Mcs)
An MC is the intelligent node in an IPMI system. It is not generally required to know about MCs for
normal IPMI sensor and control operations. You do need access to MCs, though, for system configuration.
An MC contains a lot of information about itself and its capabilities; this is generally automatically
interpreted by OpenIPMI, but the information is available for view. For instance, if an MC contains an
SEL device, OpenIPMI will automatically handle getting events from it, but you can also view this setting
under the MC information.
A number of operations are available under the right-click menu on the MC; most of these are self-
explanatory. The MC is generally configured via the Channel Info command under this.
Name
openipmigui - GUI interface to an IPMI system
Options
--dmsg Turn on message debugging, this will dump all messages to debug log output.
--drawmsg
Turn on raw message debugging, this will dump all low-level messages to debug log output. This
differes from normal message debugging in that all protocol messages are also dumped, not just
IPMI messages.
--dmem Turn on memory debugging, this will cause memory allocation and deallocations to be checked. When
the program terminates, it will dump all memory that was not properly freed (leaked), and
overruns, writing of freed memory, or other types of memory errors.
--logstderr
Send all logs to standard error output as well as the GUI console.
--trace
Turn on python tracing so that all python procedure calls entered and exited will be printed out.
-n Turn off reading of the preferences file at startup.
-ppreffile
Use preffile as the name of the preferences file instead of $HOME/.openipmigui.startup.
Pefparms
If an MC support PEF, it will have a "PEF Parms" menu item in the pulldown menu for the MC. This pulls
up all the parameters for the PEF and allows them to be set. Right-clicking on an item allows it to be
changed.
See Also
ipmish(1), IPMI document from OpenIPMI
Sensors
Sensors are available under the entity they belong to. Sensor information is beyond the scope of this
document, as IPMI sensors are very complex. See the IPMI document from OpenIPMI for information about
sensors.
As expected, right-clicking on a sensor gives operations available on that sensor.
Sol
On a connection, an "Open SOL" menu item is present. If the BMC on the far end of the connection has SOL
(Serial Over LAN) support, then you can establish a serial connection with the BMC, assuming it is
configured properly and you have the proper rights.
When you choose this, you will get a new connection with a VT100/ANSI terminal emulator. The connection
will not yet be opened, you must open it (under the "File") to establish the connection. When the status
at the bottom right says "connected", you are ready to type. If something goes wrong, the connection may
drop and you will have to reopen it. You can also close the connection from the file menu, or quit the
emulator.
The "Controls" menu for the SOL connection contains a large number of settings for SOL. These allow you
to manipulate various value on the remote side of the connection. These are:
AcceptInput
If disabled, this will cause data from the BMC to be refused, effectively flow-controlling the
data (assuming that the BMC actually supports this properly, some don't)
UseEncryption
Encrypt the data on the LAN using RMCP+ encryption negotiated for the connection. Only available
when the connection is closed, this cannot be changed dynamically.
UseAuthentication
Authenticate the data on the LAN using RMCP+ authentication negotiated for the connection. Only
available when the connection is closed, this cannot be changed dynamically.
DeassertCTS/DCD/DSRonconnect
Don't raise the lines when a connection is made; this allows things like baud rate to be set
before the device on the far end of the serial port knows there is a connection.
CTSAssertable
If set, the BMC has control over the CTS line. Otherwise, the CTS line is deasserted.
DCD/DSRAsserted
Set the DCD and DSR lines.
RIAsserted
Assert the Ring Indicator line, can be used for remote wakeup on some systems (though, with IPMI,
you have to wonder why you wouldn't use IPMI for this).
SetAckTimeout
Sets the timeout waiting for an ACK from the BMC.
SetAckRetries
Sets the number of times a packet is retried before the connection is closed.
SendBreak
Send a 300ms break signal to the remote serial port.
SerialRate
Sets the bitrate on the serial port. Not all systems support this. Some, in fact, completely
ignore this setting and use 19.2K. Note that this is only the volatile rate. The non-volatile
rate setting is done with SOLPARM.
SerialAlertBehavior
This sets what to do when an IPMI alert occurs and is going out the serial port somehow. If set
to "succeed", the SoL session will be disconnected when an alert comes out.
QueueFlush
Allows various queues to be flushed.
Solparms
In the channel display on a 8023_LAN channel, a LANPARM configuration command is available if the MC
supporte SOL (Serial Over LAN). This pulls up all the parameters for the LAN and allows them to be set.
Right-clicking on an item allows it to be changed.
Synopsis
openipmigui [--dmsg] [--drawmsg] [--glib12] [--trace] [--logstderr] [-n] [-ppreffile]
Tree View
The tree window has a top-level list of all the domains for which OpenIPMI has connections (or pending
connection). Each domain exapands into domain-specific information and a list of entities and Management
Controllers (MCs) for that domain.
Right click drives most of the operations in the tree window. Many tree elements have pull-down menus
driven by a right mouse button click. When in doubt, click.
Color is used in the GUI to denote error status, and shading is used to denote availability. If a sensor
has an error, the tree entry for that sensor will change colors. Black means no error, yellow means
warning, red means critical, and blue means non-recoverable. These errors propigate up, so the entity
containing that sensor will be the same color as the most critical error for the sensors underneath it.
The same goes for domain, it will be the same color as the most critical error for the entities
underneath it. This way, if you watch the domain, you can determine if a system is in trouble with just
the top-level view, and you can drill down to find the problem.
If a tree entry is shaded, it means that the entry has information identifying it but does not exist.
For instance, a domain with no connection, an entity that is not present, or an MC that is not present.
Note that all information visible in the tree is polled. Only visible information is polled, so if you
expose something via expanding a tree element or scrolling, it may be a few seconds before the data is
updated.
User Info
IPMI systems with remote access have users that can be used to log in. These users are configured by the
User Info command in the channel listing. Note that some user setting (the name and password) are global
to all channels on the MC.
Due to the IPMI spec and some unfortunate implementation bugs, some wierd issues exist with this
information. The user has an Enabled value that tells whether the user is enabled or not. When
initially displayed, this field shows as a "?" because this field is not readable. It will displayed as
the actual value when it is modified, but will not be changed otherwise.
There is also a session limit field that gives the maximum number of sessions a user is allowed to make.
This field is also not readable and displays as a "?" when first displayed. This field is marked as
optional in the IPMI spec, which means the field does not have to be supplied. Some implementations,
however, require this field to be set. If you get a DataLenInv error back from your system when setting
something, you must set the field to something for any value to be set. Generally, setting it to zero
disables the field and is the right thing to do.
