serial_console
Table of Contents
- Module Description - What the module does and why it is useful
- Setup - The basics of getting started with serial_console
- Usage - Configuration options and additional functionality
- Limitations and Known Issues
- Development - Guide for contributing to the module
- TODO
- Contributors
Module Description
The serial_console module automates the configuration of Linux Systems to have both their Console Outputs and the ability to log on to the system via the serial port.
With such configuration in place, Management and Administration of Linux Systems through most of the Out of Band Management Platforms Console (HP ILO/vsp, ORACLE SUN ALOM/Console, DELL DRAC/Console, Virtual Machine ttySX...) is greatly simplified.
Many options are available for the customization of that configuration in order to fit your environment's needs.
Setup
From Puppet Forge,
puppet module install stivesso-serial_console
From Github,
git clone https://github.com/stivesso/serial_console
What serial_console affects
- GRUB Configuration (Kernel parameters)
Edits Grub Configuration to add or remove Console parameters to the Kernel Parameters - Init (Sysvinit, Upstart or Systemd) Configuration
Configure Init Service (Sysvinit, Upstart or Systemd) to support serial console logins
Setup Requirements
Serial_console requires:
- pluginsync = true (Puppet Configuration)
- puppetlabs/stdlib (>= 4.9.0)
- herculesteam/augeasproviders_grub (>= 2.3.0)
Usage
Parameters
There are 06 main parameters used to control the Serial Console behaviours:
serial_port
: Serial Port
String that specifies the Serial Port to use (ttySx).
- default:
-- ttyS1 for Physical Servers (except Oracle/Sun Servers where the default is set to ttyS0).
-- ttyS0 for Virtual Servers
baud_rate
: Baud Rate
Integer to set the baud rate (rate at which information is transferred) of the Serial Port.
- default: 115200 except for Oracle/Sun Servers where the default is set to 9600.
no_rhgb_quiet
: Rhgb and Quiet
Boolean to set whether we want to disable rhgb and quiet mode or not.
- default: true (disabled)
rhgb: (RedHat graphical boot) This is a GUI mode booting screen with most of the information hidden. quiet: hides the majority of boot messages before rhgb starts. These two are disabled by default (linked in the same settings)
root_login_console
: Root Login Console
Boolean to determine whether the root is allowed to login on the console directly or not.
- default: true (Root Login through Serial Console allowed)
regular_console_enabled
: Regular Console (tty0)
Boolean to determine whether the Regular Console (tty0) is needed or not,
- default: true (needed and enabled as Secondary Console, this can be switch to Primary console with the serial_primary_console described below)
Secondary Console means that the console is available for Login, but Init script messages are not being sent to that console (they are only sent to the primary console)
serial_primary_console
: Set Serial As primary Console
Boolean to determine whether the serial is the primary console or not (this setting only makes sense when the regular console is enabled)
- default: true (Serial Console set as primary console)
Again, Init script messages are sent only to the primary console, the secondary console has only the Login ability
Sample Usage
To accept default class parameters (the ones described above):
include serial_console
To modify some of the default settings,
class { 'serial_console':
serial_port => 'ttyS1',
baud_rate => '115200',
no_rhgb_quiet => true,
root_login_console => true,
regular_console_enabled => true,
serial_primary_console => true,
}
The module also supports (and encourages) configuration through hiera. Below is an example of such configuration:
---
serial_console::serial_port: "ttyS1"
serial_console::baud_rate: "115200"
serial_console::no_rhgb_quiet: true
serial_console::root_login_console: true
serial_console::regular_console_enabled: true
serial_console::serial_primary_console: true
Limitations and Known Issues
Development
I happily accept bug reports and pull requests via github,
https://github.com/stivesso/serial_console
- Fork it
- Create a feature branch
- Write a failing test
- Write the code to make that test pass
- Refactor the code
- Submit a pull request
TODO
- Add GRUB Full Control from Serial Console
Contributors
- The module is written and being maintained by: stivesso