Version information
This version is compatible with:
- Puppet Enterprise 2023.8.x, 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x
- Puppet >= 5.5.0 < 9.0.0
- , , , , ,
Start using this module
Add this module to your Puppetfile:
mod 'mindhive-serial_console', '1.4.0'
Learn more about managing modules with a PuppetfileDocumentation
Puppet module for system serial console setup
This module configures system for serial console access (boot loader and kernel), usable through Serial-over-LAN (SOL).
Requirements
Module has been tested on:
- Puppet:
- 5.5
- 6.14
- OSes:
- Ubuntu 18.04
- Debian 8 - 9
- RHEL/CentOS 7
Quick Start
Setup
include serial_console
Full configuration options:
class { serial_console:
ensure => present, # add or remove configuration
enable_kernel => true, # enable kernel config
enable_bootloader => true, # enable bootloader config
reboot => false, # reboot if kernel parameters are changed (SOL won't work until reboot)
tty => 'tty0', # text console name
ttys => 'ttyS0', # serial device name without path, defaults to last ttyS* with a UART
speed => 115200, # serial port speed
logout_timeout => undef, # interactive session timeout in seconds (sets TMOUT)
}
Facts
serialports, usbserialports
List of available serial port device names (without /dev prefix). For example:
["ttyS0","ttyS1"]
Contributors
- Steven Bakker steven.bakker@ams-ix.net
- Matthew Rásó-Barnett matthewrasobarnett@gmail.com
- Damon Maria damon@mindhive.co.nz
Reference
Table of Contents
Classes
Classes
serial_console
The serial_console class.
Parameters
The following parameters are available in the serial_console
class:
ensure
Data type: Enum[present, absent]
Default value: present
enable_kernel
Data type: Boolean
Default value: true
enable_bootloader
Data type: Boolean
Default value: true
reboot
Data type: Boolean
Default value: false
speed
Data type: Integer
Default value: 115200
tty
Data type: Optional[Pattern[/^tty(\d+)$/]]
Default value: 'tty0'
ttys
Data type: Optional[Pattern[/^ttyS(\d+)$/]]
Default value: $facts['serialports'][-1]
logout_timeout
Data type: Optional[Integer]
Default value: undef
2023-05-28 - Release 1.4.0
- Support:
- Puppet 8
- puppet/augeasproviders_grub 5.x
2023-05-28 - Release 1.3.0
- Support:
- puppetlabs/reboot 5.x
2023-01-28 - Release 1.2.1
- Puppet7 seems to prefer the direct if syntax, thanks again Pat Riehecky
2022-12-10 - Release 1.2.0
- If ttys is unset, don't crash catalog, thanks Pat Riehecky
- Switch to puppet/augeasproviders_grub
- Support:
- Puppet 7
- Ubuntu 22.04
2021-08-21 - Release 1.1.0
- Only reboot when finished
- Support:
- puppetlabs/reboot 4.x
- Puppet 6
- Ubuntu 20.04
2020-04-27 - Release 1.0.1
- Changed reboot default to false
2020-04-27 - Release 1.0.0
- Remove old OS support so only grub2 needs to be supported
- Massive simplification
- Reboot if kernel parameters changed, can be disabled with
reboot => false
- Allow removal with
ensure => absent
2019-03-28 - Release 0.10.0
- Forked from https://github.com/CERIT-SC/puppet-serial_console
- Support Ubuntu 18.04
- Convert to PDK
2017-10-31 - Release 0.9.11
- Support Debian 9
2017-08-02 - Release 0.9.10
- Fix unupdated class serial_console::kernel::grubby
2017-07-21 - Release 0.9.9
- Fix autologout script template variable reference
2017-05-31 - Release 0.9.8
- Fix typos, quoting
- Classes calls simplifications
2015-09-15 - Release 0.9.7
Summary
Debian 8 and Puppet 4.x support. Facts as lists. Cleanups.
Features
- Support for new Debian 8 and updates for Puppet 4.x
- Support for getty terminal type
Bugfixes
- Better parameters validation
- Code cleanups
2015-03-02 - Release 0.9.6
Summary
Fix unquoted substitutions in /etc/default/grub.
Bugfixes
- Fix unquoted substitutions in /etc/default/grub to prevent Augeas parse errors.
2015-03-02 - Release 0.9.5
Summary
Change GRUB2 manipulation to kernel_parameter{}, allow to specify non-serial tty console output, code refactoring. Fix device names in $::usbserialports.
Features
- Change work with GRUB2 from augeas{} to kernel_parameter{}
- New option ($tty) to specify kernel console output to tty
Bugfixes
- Fix device names in fact $::usbserialports
2014-12-08 - Release 0.9.3
Summary
Fix file/directory permissions.
Bugfixes
- Fix PF module archive file/directory permissions.
2014-10-02 - Release 0.9.2
Summary
Remove deprecation warning on ERB
Bugfixes
- Remove deprevation warning from ERB
2014-09-02 - Release 0.9.1
Summary
Fix metadata.json
Bugfixes
- Fix metadata.json module dependencies
2014-08-28 - Release 0.9.0
Summary
Initial release.
Dependencies
- puppet/augeasproviders_grub (>= 2.0.1 < 6.0.0)
- puppetlabs/reboot (>=2.0.0 < 6.0.0)
The MIT License (MIT) Copyright (c) 2014-2015 CERIT-SC, Institute of Computer Science, Masaryk University Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.