Seamicro Serial Console
This blueprint implements console driver – “ShellinaboxConsole” which
support serial console access for Seamicro Fabric Compute system.
Currently there is no support to get the serial console for physical server
configured within the Seamicro Fabric Compute system.
Implements a console driver – “ShellinaboxConsole” – that uses
telnet+shellinabox to connect to serial console of physical servers
configured within the Seamicro Fabric Compute system. SeaMicro System
provides telnet facility to connect to any of it’s physical server’s serial
console. Port to which we telnet depends on server-id. “server-id” here,
is what SeaMicro box refers to it’s server and not ironic node’s uuid.
We already have the required information (server-id) captured as part of
driver_info. Following are details,
- Use existing ironic/drivers/modules/console_utils module to start/stop
shellinabox. IPMI driver already use shellinabox to access their serial
- Add seamicro_terminal_port property to CONSOLE_PROPERTIES. This is going
to be port on which shellinabox listens locally.
- Add new class ShellinaboxConsole inherited from base.ConsoleInterface
- Implement the following methods in ShellinaboxConsole class.
- validate() - Validate the Node console info.
- param task : a task from TaskManager.
- raises : InvalidParameterValue
- start_console() - Start a remote console for the node.
- stop_console() - Stop the remote console session for the node.
- get_console() - Get the type and connection information about the
- Add self variable self.console in PXEAndSeaMicroDriver.
Other end user impact
Other deployer impact
- The following which are already part of driver_info fields are required:
- seamicro_api_endpoint - hostname or IP address of seamicro
- seamicro_username - seamicro username
- seamicro_password - seamicro password
- seamicro_server_id - seamicro server id
- Additionally one field need to be provided with driver_info
- seamicro_terminal_port - node’s UDP port to connect to. Only required
for console access.
- Primary assignee:
Implement ShellinaboxConsole class inherited from
Implement validate , start_console, stop_console, get_console.
Unit Testing will be added.
Upgrades and Backwards Compatibility
As part of this blueprint I would be documenting usage of this feature.