1
0
mirror of https://github.com/krislamo/puppet-fluentd synced 2024-09-19 20:20:35 +00:00

Upgrade to td-agent v4 on older Puppet installs

The fluentd_gem provider for installing fluentd plugins uses
Puppet's built-in gem provider. Unfortunately, that gem provider
on our Puppet version is not compatible with td-agent's new embedded
Ruby since it includes the no-rdoc and no-ri flags deprecated and
replaced by the no-document flag. This install function override
replaces the flags and might be removable after a Puppet upgrade.
This commit is contained in:
Kris Lamoureux 2022-05-18 15:24:34 -04:00
parent bbc4e06d07
commit 6620a30633
Signed by: kris
GPG Key ID: A30022791E1719A4
2 changed files with 12 additions and 3 deletions

View File

@ -8,11 +8,20 @@ Puppet::Type.type(:package).provide :fluentd_gem, :parent => :gem do
not a valid URL, it will be interpreted as the path to a local gem file. If not a valid URL, it will be interpreted as the path to a local gem file. If
source is not present at all, the gem will be installed from the default gem source is not present at all, the gem will be installed from the default gem
repositories." repositories."
confine :exists => "/opt/td-agent/embedded/bin/gem" confine :exists => "/opt/td-agent/bin/gem"
has_feature :versionable, :install_options has_feature :versionable, :install_options
commands :gemcmd => "/opt/td-agent/embedded/bin/gem" commands :gemcmd => "/opt/td-agent/bin/gem"
def install(useversion = true)
command = [command(:gemcmd), "install"]
command << "--no-document" << resource[:name]
output = execute(command)
# Apparently some stupid gem versions don't exit non-0 on failure
self.fail "Could not install: #{output.chomp}" if output.include?("ERROR")
end
def uninstall def uninstall
command = [command(:gemcmd), "uninstall"] command = [command(:gemcmd), "uninstall"]

View File

@ -19,7 +19,7 @@ class fluentd::params {
$user_group = 'td-agent' $user_group = 'td-agent'
$user_groups = ['adm'] $user_groups = ['adm']
# repo params # repo params
$repo_version = 3 $repo_version = 4
case $::osfamily { case $::osfamily {
'Debian': { 'Debian': {