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 console.
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 in ironic/drivers/modules/seamicro.py
- 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 console.
Add self variable self.console in PXEAndSeaMicroDriver.
Data model impact¶
REST API impact¶
RPC API impact¶
Driver API impact¶
Nova driver impact¶
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:
ShellinaboxConsole class inherited from
Unit Testing will be added.
Upgrades and Backwards Compatibility¶
As part of this blueprint I would be documenting usage of this feature.