From 76fbf2c08b17f73dd304c1316fbabbbbe9d9468a Mon Sep 17 00:00:00 2001 From: Radosław Piliszek Date: Wed, 25 Sep 2019 09:52:38 +0200 Subject: Debian: switch fluentd to td-agent on x86_64 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch uses the newly added td-agent repo on Debian. It also makes code more robust regarding different distro handling. We now have td-agent everywhere on x86_64. Change-Id: I4d2449d7d100c68084f937ef9981596fc1625375 Signed-off-by: Radosław Piliszek --- docker/fluentd/Dockerfile.j2 | 15 ++++++++------- docker/macros.j2 | 4 ++-- 2 files changed, 10 insertions(+), 9 deletions(-) (limited to 'docker') diff --git a/docker/fluentd/Dockerfile.j2 b/docker/fluentd/Dockerfile.j2 index 79397e071..83ceb2965 100644 --- a/docker/fluentd/Dockerfile.j2 +++ b/docker/fluentd/Dockerfile.j2 @@ -3,7 +3,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build {% if base_package_type == 'rpm' and base_arch != 'x86_64' %} LABEL fluentd_version="0.12" fluentd_binary="fluentd" {% set fluentd_user = 'fluentd' %} -{% elif base_distro == 'debian' or (base_distro == 'ubuntu' and base_arch != 'x86_64') %} +{% elif base_package_type == 'deb' and base_arch != 'x86_64' %} LABEL fluentd_version="0.14" fluentd_binary="fluentd" {% set fluentd_user = 'fluentd' %} {% else %} @@ -42,7 +42,8 @@ LABEL fluentd_version="0.14" fluentd_binary="td-agent" 'g++', 'make' ] %} - {% if base_arch == 'x86_64' and base_distro == 'ubuntu' %} + + {% if base_arch == 'x86_64' %} {% set fluentd_packages = fluentd_packages + [ 'td-agent' ] %} @@ -59,8 +60,8 @@ LABEL fluentd_version="0.14" fluentd_binary="td-agent" {{ macros.install_packages(fluentd_packages | customizable("packages")) }} # Distro specific files and operations -# Fluentd on CentOS non x86_64 is installed from rpm -{% if base_distro == 'debian' or (base_distro == 'ubuntu' and base_arch != 'x86_64') %} +# Fluentd on rpm-based non-x86_64 is installed from rpm +{% if base_package_type == 'deb' and base_arch != 'x86_64' %} RUN /usr/bin/gem install fluentd --no-rdoc --no-ri {% endif %} @@ -76,7 +77,7 @@ RUN chmod 755 /usr/local/bin/kolla_extend_start {% block fluentd_plugins_install %} -{% if (base_package_type == 'rpm' and base_arch == 'x86_64') or base_package_type == 'deb' %} +{% if not (base_package_type == 'rpm' and base_arch != 'x86_64') %} {% set fluentd_plugins = [ 'fluent-plugin-elasticsearch', 'fluent-plugin-grep', @@ -86,7 +87,7 @@ RUN chmod 755 /usr/local/bin/kolla_extend_start ] %} {% endif %} -{{ macros.install_fluent_plugins(fluentd_plugins | customizable("plugins")) }} +{{ macros.install_fluent_plugins(fluentd_user, fluentd_plugins | customizable("plugins")) }} {% endblock %} @@ -103,7 +104,7 @@ RUN curl -sSL $monasca_output_plugin_url -o /tmp/fluentd-monasca.tar.gz \ {% else %} && td-agent-gem build fluentd-monasca-output.gemspec \ {% endif %} - && {{ macros.install_fluent_plugins(['fluentd-monasca-output-*.gem'], chain=True) }} \ + && {{ macros.install_fluent_plugins(fluentd_user, ['fluentd-monasca-output-*.gem'], chain=True) }} \ && rm -rf /tmp/fluentd* {% endblock %} diff --git a/docker/macros.j2 b/docker/macros.j2 index 0af3fe43c..0e4078ec9 100644 --- a/docker/macros.j2 +++ b/docker/macros.j2 @@ -105,10 +105,10 @@ RUN apt-get update \ && chmod 755 /usr/bin/kubectl {% endmacro %} -{% macro install_fluent_plugins(plugins, chain=False) -%} +{% macro install_fluent_plugins(binary, plugins, chain=False) -%} {% if plugins is defined and plugins|length > 0 -%} {% if not chain -%} RUN {% endif -%} - {%- if base_arch == 'x86_64' and base_distro in ['centos', 'rhel', 'ubuntu'] -%} + {%- if binary == 'td-agent' -%} ulimit -n 65536 && td-agent-gem install {{ plugins | join(' ') }} {%- else -%} ulimit -n 65536 && gem install --minimal-deps {{ plugins | join(' ') }} -- cgit v1.2.3