kolla/docker/sensu/sensu-client/Dockerfile.j2
Alex Schultz 3e5d8e2653 Add python3 packages for RHEL systems
RDO is currently working on python3 support for the next version of
CentOS/RHEL based systems.  This package uses the distro_python3 flag
that was added as part of I4028991bad92c0e8e21066cc4173c06ce5eba393 to
use the python3 specific package names.  This change only adds python3
package names for RHEL systems.

Conflicts-With: https://review.openstack.org/#/c/636457/
Change-Id: Iad6b70b433a0dd1b0f8ae6790fd280594517661a
Related-Blueprint: python3-support
2019-03-12 17:48:18 +00:00

94 lines
2.6 KiB
Django/Jinja

FROM {{ namespace }}/{{ image_prefix }}sensu-base:{{ tag }}
LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
{% block sensu_client_header %}{% endblock %}
{% import "macros.j2" as macros with context %}
{% if base_package_type == 'rpm' %}
{% set sensu_client_packages = [
'ceph-common',
'cyrus-sasl-devel',
'docker-client',
'gcc-c++',
'make',
'mariadb',
'ntp',
'osops-tools-monitoring-oschecks',
'ruby-devel'
] %}
{% if distro_python_version.startswith('3') %}
{% set sensu_client_packages = sensu_client_packages + [
'python3-pymongo'
] %}
{% else %}
{% set sensu_client_packages = sensu_client_packages + [
'python-pymongo'
] %}
{% endif %}
{% elif base_package_type == 'deb' %}
{% set sensu_client_packages = [
'build-essential',
'ceph-common',
'inetutils-ping',
'libsasl2-dev',
'mysql-client',
'ntp',
'python-pymongo'
] %}
{% if base_distro in ['debian'] %}
{% set sensu_client_packages = sensu_client_packages + [
'docker-ce'
] %}
{% else %}
{% set sensu_client_packages = sensu_client_packages + [
'docker.io'
] %}
{% endif %}
{% else %}
RUN echo '{{ image_name }} not yet available for {{ base_distro }}' \
&& /bin/false
{% endif %}
{{ macros.install_packages(sensu_client_packages | customizable("packages")) }}
{% block sensu_clients_install %}
# Sensu plugins are all using semantic versioning.
# Let's cap them to the known major version that works with the ruby shipped on
# rhel/centos/oraclelinux (currently 2.0)
{% set sensu_plugins = [
'ceph:"~>1"',
'cpu-checks:"~>1"',
'disk-checks:"~>2"',
'dns:"~>1"',
'docker:"~>3"',
'elasticsearch:"~>1"',
'filesystem-checks:"~>1"',
'haproxy:"~>1"',
'http:"~>1"',
'io-checks:"~>1"',
'load-checks:"~>3"',
'memcached:"~>0"',
'memory-checks:"~>1"',
'mongodb:"~>0"',
'mysql:"~>2"',
'network-checks:"~>2"',
'ntp:"~>1"',
'openstack:"~>1"',
'process-checks:"~>2"',
'rabbitmq:"~>3"',
'redis:"~>2"',
'uptime-checks:"~>1"',
'vmstats:"~>1"'
] %}
# TODO(mandre) Use packaged sensu plugins from centos-opstools for binary distro
# http://cbs.centos.org/koji/search?match=glob&type=package&terms=*sensu*
RUN sensu-install --plugins {{ sensu_plugins | customizable('plugins') | join (',') }}
{% endblock %}
{% block sensu_client_footer %}{% endblock %}
{% block footer %}{% endblock %}