Name: puppet-lldpd
Owner: Vox Pupuli
Description: Module to manage lldpd package, service and facts
Created: 2017-11-18 08:21:52.0
Updated: 2018-05-21 16:12:17.0
Pushed: 2018-05-22 19:50:03.0
Homepage: null
Size: 189
Language: Ruby
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
LLDP stands for Link Layer Discovery Protocol. This module manages the LLDP implementation from Vincent Bernat. puppet-strings docs are available in /docs. They are generated before each release. This module configures the upstream repo if necessary. The LLDP requires a daemon, which will be started. the command line client has support for json output. This is used to create a structured fact. It is updated automatically with a systemd timer (or a cronjob on legacy systems).
This is very easy:
ude lldpd
You can disable the repo management:
s{'lldpd':
nage_repo => false,
This module supports the installation on:
The fact is present on all Operating Systems except for FreeBSD. Docker acceptance tests work for CentOS 6 and 7. Vagrant acceptance tests work for Fedora 25. Other nodesets are currently not present. The module requires at least Puppet 4.9.4 (this is the first version with proper data-in-modules support).
The main class provides an interface that can be used. It can be configured via the upcoming parameters. All other classes are internal and can't be accessed directly.
$manage_facts
This is a boolean, it defaults to true on all systems except for the CentOS family (see limitations. If true, the module will provide a script to run lldpctl and save the output as json as structured fact. A systemd timer or a cronjob will be deployed to execute the script periodically. This decouples the fact generation from the actual facter/puppet.
$manage_service
Boolean, if true, the module will enable the service. Defaults to true.
$manage_repo
Boolean, if true, the module will setup the upstream repository. Defaults to true on Debian and CentOS family.
$manage_jq
Boolean. jq is a dependency needed for the fact generation. This module can install it. Defaults to true on all systems except for CentOS. See also limitations.
$repourl
String, part of the upstream repository URL. The module provides sane defaults for all repositories. There should be no need to set this parameter.
$gpgkeyfingerprint
String. The ID from the key that's used to sign the packages. Currently only used for the apt repo.
$ensure
String, allowed values are present, absent and latest. This sets the status of the lldpd package.
The facts require jq to work. The installation can be configured with $manage_jq. This is disabled on CentOS machines. You can install it on CentOS if you configure the EPEL repository.
This project contains tests for rspec-puppet.
Quickstart to run all linter and unit tests:
le install --path .vendor/ --without system_tests --without development --without release
le exec rake test
For acceptance tests:
le install --path .vendor/ --with system_tests --without development --without release
ER_debug=true PUPPET_INSTALL_TYPE=agent bundle exec rake beaker:fedora-25-x64
ER_debug=true PUPPET_INSTALL_TYPE=agent bundle exec rake acceptance BEAKER_set=docker/centos-7
puppet-lldpd is maintained by Vox Pupuli, it was written by Tim 'bastelfreak' Meusel.