Browse Source

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 c585ca5055)
changes/74/666074/1
Mark Goddard 2 years ago
parent
commit
588c1076c3
  1. 2
      docker/fluentd/Dockerfile.j2
  2. 9
      docker/macros.j2

2
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 %}

9
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 %}

Loading…
Cancel
Save