diff options
| author | Radosław Piliszek <radoslaw.piliszek@gmail.com> | 2021-12-28 09:50:41 +0000 |
|---|---|---|
| committer | Radosław Piliszek <radoslaw.piliszek@gmail.com> | 2021-12-29 10:39:56 +0000 |
| commit | 79b74ff220aad8db98c10c124064c85d21e2d4ea (patch) | |
| tree | 20b3e53b486e782bb182f8442cf39b3d4f2a6254 | |
| parent | 4b0d8d4d478de4ad6ba697e766920a46cb7267df (diff) | |
| download | kolla-79b74ff220aad8db98c10c124064c85d21e2d4ea.tar.gz kolla-79b74ff220aad8db98c10c124064c85d21e2d4ea.zip | |
Clean up fluentd image recipe
Since Xena, there is no arch supported other than x86_64 and
aarch64.
Additionally, the conditional for x86_64 Debian does not seem to be
needed now with current td-agent.
Moreover, drop two plugins that are relevant only to fluentd 0.12,
one of which (parser) causes fluentd 0.12 (!) to be installed.
Modern fluentd has both built-in.
Finally, drop the labels as they are no longer useful.
Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/823093
Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/823094
Change-Id: I7326cd8fcfa459dedcb6404e5287f0f5aeeed6cb
| -rw-r--r-- | docker/fluentd/Dockerfile.j2 | 81 | ||||
| -rw-r--r-- | docker/macros.j2 | 8 |
2 files changed, 17 insertions, 72 deletions
diff --git a/docker/fluentd/Dockerfile.j2 b/docker/fluentd/Dockerfile.j2 index 2469ae99e..90eaa45b5 100644 --- a/docker/fluentd/Dockerfile.j2 +++ b/docker/fluentd/Dockerfile.j2 @@ -2,16 +2,8 @@ FROM {{ namespace }}/{{ infra_image_prefix }}base:{{ tag }} {% block labels %} LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" {% endblock %} -{% if base_package_type == 'rpm' and base_arch not in ['aarch64', 'x86_64'] %} -LABEL fluentd_version="0.12" fluentd_binary="fluentd" - {% set fluentd_user = 'fluentd' %} -{% elif base_package_type == 'deb' and base_arch not in ['aarch64', 'x86_64'] %} -LABEL fluentd_version="0.14" fluentd_binary="fluentd" - {% set fluentd_user = 'fluentd' %} -{% else %} -LABEL fluentd_version="0.14" fluentd_binary="td-agent" - {% set fluentd_user = 'td-agent' %} -{% endif %} + +{% set fluentd_user = 'td-agent' %} {% block fluentd_header %}{% endblock %} @@ -21,55 +13,26 @@ LABEL fluentd_version="0.14" fluentd_binary="td-agent" {% if base_package_type == 'rpm' %} + # FIXME(mgoddard): Pinning to 4.0.* to avoid bug 1930867. {% set fluentd_packages = [ 'gcc-c++', - 'make' + 'make', + 'td-agent-4.0.*', ] %} - {% if base_arch in ['aarch64', 'x86_64'] %} - # FIXME(mgoddard): Pinning to 4.0.* to avoid bug 1930867. - {% set fluentd_packages = fluentd_packages + [ - 'td-agent-4.0.*' - ] %} - {% else %} - {% set fluentd_packages = fluentd_packages + [ - 'fluentd', - 'ruby-devel', - 'rubygem-fluent-plugin-elasticsearch', - 'rubygem-fluent-plugin-grok-parser', - 'rubygem-fluent-plugin-rewrite-tag-filter' - ] %} - {% endif %} - {% elif base_package_type == 'deb' %} {% set fluentd_packages = [ 'g++', - 'make' + 'make', + 'td-agent', ] %} - {% if base_arch in ['aarch64', 'x86_64'] %} - {% set fluentd_packages = fluentd_packages + [ - 'td-agent' - ] %} - {% else %} - {% set fluentd_packages = fluentd_packages + [ - 'ruby', - 'ruby-dev' - ] %} - {% endif %} - {% endif %} {{ macros.configure_user(name=fluentd_user, groups='mysql') }} {{ macros.install_packages(fluentd_packages | customizable("packages")) }} -# Distro specific files and operations -# Fluentd on rpm-based non-x86_64 is installed from rpm -{% if base_package_type == 'deb' and fluentd_binary == 'fluentd' %} -RUN /usr/bin/gem install fluentd --no-rdoc --no-ri -{% endif %} - COPY fluentd_sudoers /etc/sudoers.d/kolla_fluentd_sudoers RUN chmod 440 /etc/sudoers.d/kolla_fluentd_sudoers \ @@ -82,24 +45,14 @@ RUN chmod 755 /usr/local/bin/kolla_extend_start {% block fluentd_plugins_install %} -{% if base_arch in ['aarch64', 'x86_64'] %} - {% set fluentd_plugins = [ - 'fluent-plugin-elasticsearch', - 'fluent-plugin-grep', - 'fluent-plugin-grok-parser', - 'fluent-plugin-parser', - 'fluent-plugin-prometheus', - 'fluent-plugin-rewrite-tag-filter', - ] %} -{% endif %} - -# NOTE(hrw): one of plugins fetches 'string-scrub' which tries to use -# /usr/bin/mkdir directly while in Debian it is in /bin -{% if base_distro == 'debian' and base_arch == 'x86_64' %} -RUN ln -s /bin/mkdir /usr/bin/mkdir -{% endif %} +{% set fluentd_plugins = [ + 'fluent-plugin-elasticsearch', + 'fluent-plugin-grok-parser', + 'fluent-plugin-prometheus', + 'fluent-plugin-rewrite-tag-filter', +] %} -{{ macros.install_fluent_plugins(fluentd_user, fluentd_plugins | customizable("plugins")) }} +{{ macros.install_fluent_plugins(fluentd_plugins | customizable("plugins")) }} {% endblock %} @@ -111,12 +64,8 @@ ARG monasca_output_plugin_url=https://github.com/monasca/fluentd-monasca/archive RUN curl $monasca_output_plugin_url -o /tmp/fluentd-monasca.tar.gz \ && tar -xvf /tmp/fluentd-monasca.tar.gz -C /tmp \ && cd /tmp/fluentd-monasca-* \ -{%- if fluentd_user == 'fluentd' %} - && gem build fluentd-monasca-output.gemspec \ -{%- else %} && td-agent-gem build fluentd-monasca-output.gemspec \ -{%- endif %} - && {{ macros.install_fluent_plugins(fluentd_user, ['fluentd-monasca-output-*.gem'], chain=True) }} \ + && {{ 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 61e3edce1..346e1dcb3 100644 --- a/docker/macros.j2 +++ b/docker/macros.j2 @@ -58,14 +58,10 @@ RUN usermod --append --home {{ homedir }} --groups kolla {{ name }} \ && chown -R {{ user.uid }}:{{ user.gid }} {{ homedir }} {% endmacro %} -{% macro install_fluent_plugins(binary, plugins, chain=False) -%} +{% macro install_fluent_plugins(plugins, chain=False) -%} {% if plugins is defined and plugins|length > 0 -%} {% if not chain -%} RUN {% endif -%} - {%- if binary == 'td-agent' -%} - ulimit -n 65536 && td-agent-gem install {{ plugins | join(' ') }} - {%- else -%} - ulimit -n 65536 && gem install --minimal-deps {{ plugins | join(' ') }} - {%- endif %} + ulimit -n 65536 && td-agent-gem install {{ plugins | join(' ') }} {%- endif %} {%- endmacro %} |
