From 588c1076c3da583e9f654dcfbed5fde13788dc0d Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Thu, 23 May 2019 10:25:28 +0100 Subject: [PATCH] Use td-agent-gem to install fluentd monasca plugin on ubuntu If monasca is enabled on ubuntu, we see the following error in fluentd: [error]: config error file="/etc/td-agent/td-agent.conf" error_class=Fluent::ConfigError error="Unknown output plugin 'monasca'. Run 'gem search -rd fluent-plugin' to find plugins" This is because we use 'fluent-gem install' to install the gem, which works on CentOS but on Ubuntu it is necessary to use 'td-agent-gem install'. Change-Id: I515f9764ca93a41a871e520696193a9298856d08 Closes-Bug: #1830147 (cherry picked from commit c585ca5055c7a92fdbe5826030d3529e5c397540) --- docker/fluentd/Dockerfile.j2 | 2 +- docker/macros.j2 | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/docker/fluentd/Dockerfile.j2 b/docker/fluentd/Dockerfile.j2 index 6591388e69..1cf3821c3c 100644 --- a/docker/fluentd/Dockerfile.j2 +++ b/docker/fluentd/Dockerfile.j2 @@ -82,7 +82,7 @@ RUN tar -xvf /tmp/fluentd-monasca.tar.gz -C /tmp \ && cd /tmp/fluentd-monasca-* \ && gem build fluentd-monasca-output.gemspec \ && gem install fluentd-monasca-output-*.gem \ - && fluent-gem install fluentd-monasca-output-*.gem \ + && {{ macros.install_fluent_plugins(['fluentd-monasca-output-*.gem'], chain=True) }} \ && rm -rf /tmp/fluentd* {% endblock %} diff --git a/docker/macros.j2 b/docker/macros.j2 index 533a14aa5d..5b1c86527c 100644 --- a/docker/macros.j2 +++ b/docker/macros.j2 @@ -105,12 +105,13 @@ RUN apt-get update \ && chmod 755 /usr/bin/kubectl {% endmacro %} -{% macro install_fluent_plugins(plugins) -%} +{% macro install_fluent_plugins(plugins, chain=False) -%} {% if plugins is defined and plugins|length > 0 -%} - {% if base_distro in ['centos', 'oraclelinux', 'rhel'] -%} - RUN ulimit -n 65536 && gem install --minimal-deps {{ plugins | join(' ') }} + {% if not chain -%} RUN {% endif -%} + {%- if base_distro in ['centos', 'oraclelinux', 'rhel'] -%} + ulimit -n 65536 && gem install --minimal-deps {{ plugins | join(' ') }} {%- elif base_distro in ['debian', 'ubuntu'] -%} - RUN ulimit -n 65536 && td-agent-gem install {{ plugins | join(' ') }} + ulimit -n 65536 && td-agent-gem install {{ plugins | join(' ') }} {%- endif %} {%- endif %} {%- endmacro %}