This implements console driver – “ShellinaboxConsole” which supports console access for SSH driver (only for virsh virt_type).
Currently there is no support to get the console for virtual machines in dev and test environments.
Implements a console driver – “ShellinaboxConsole” – that uses ssh+shellinabox to connect to console of virtual machines:
Use existing ironic/drivers/modules/console_utils module to start/stop shellinabox.
Add ssh_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/ssh.py
- Implement the following methods in ShellinaboxConsole class.
validate()- Validate the Node console info.
param task : a task from TaskManager.
raises : InvalidParameterValue.
raises : MissingParameterValue.
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 PXEAndSSHDriver and AgentAndSSHDriver.
Data model impact¶
State Machine Impact¶
REST API impact¶
Client (CLI) impact¶
RPC API impact¶
Driver API impact¶
Nova driver impact¶
Other end user impact¶
Other deployer impact¶
- The following which is already part of driver_info field is required:
ssh_address- IP address or hostname of the node to ssh into.
ssh_username- Username to authenticate as.
ssh_virt_type- Virtualization software to use; must be virsh.
- Additionally one field need to be provided with driver_info
ssh_terminal_port- Port to connect to, only required for console access.
- Primary assignee:
ShellinaboxConsole class inherited from
Add ability to enable pty console in devstack scripts, and leave
the log console by default in order not to affect the gate logs.
Unit Testing will be added.
Upgrades and Backwards Compatibility¶