summaryrefslogtreecommitdiff
path: root/docker/collectd/Dockerfile.j2
blob: 60b58e8892c6f386c025843baa69c977e2ae1a00 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"

{% block collectd_header %}{% endblock %}

{% import "macros.j2" as macros with context %}

{{ macros.configure_user(name='collectd') }}

{% set collectd_packages = [
    'collectd'
] %}

{% if base_package_type == 'rpm' %}
  {% set collectd_packages = collectd_packages + [
      'collectd-amqp',
      'collectd-amqp1',
      'collectd-apache',
      'collectd-bind',
      'collectd-ceph',
      'collectd-chrony',
      'collectd-connectivity',
      'collectd-curl',
      'collectd-curl_json',
      'collectd-curl_xml',
      'collectd-dbi',
      'collectd-disk',
      'collectd-dns',
      'collectd-generic-jmx',
      'collectd-ipmi',
      'collectd-log_logstash',
      'collectd-mcelog',
      'collectd-memcachec',
      'collectd-mysql',
      'collectd-netlink',
      'collectd-openldap',
      'collectd-ovs-events',
      'collectd-ovs-stats',
      'collectd-ping',
      'collectd-procevent',
      'collectd-python',
      'collectd-sensors',
      'collectd-smart',
      'collectd-snmp',
      'collectd-snmp-agent',
      'collectd-sysevent',
      'collectd-utils',
      'collectd-virt',
      'collectd-write_http',
      'collectd-write_kafka',
      'collectd-write_prometheus',
  ] %}
  {% if distro_python_version.startswith('2') %}
  {% set collectd_packages = collectd_packages + [
      'python2-collectd-gnocchi',
      'python2-collectd-rabbitmq-monitoring',
      'python2-sqlalchemy-collectd'
  ] %}
  {% endif %}

  {% if base_arch in ['x86_64', 'ppc64le'] %}
      {% set collectd_packages = collectd_packages + [
        'collectd-iptables'
        ] %}
  {% endif %}

  {% if base_arch =='x86_64' %}
    {% set collectd_packages = collectd_packages + [
      'collectd-hugepages',
      'collectd-pmu',
      'collectd-rdt',
      'collectd-turbostat'
    ] %}
  {% endif %}

  {% if distro_package_manager == 'dnf' %}
# make sure, collectd is pulled from centos-opstools
RUN dnf config-manager --disable epel epel-modular || true
  {% elif distro_package_manager == 'yum' %}
# make sure, collectd is pulled from centos-opstools
RUN yum-config-manager --disable epel
  {% endif %}
{% endif %}

{{ macros.install_packages(collectd_packages | customizable("packages")) }}

COPY extend_start.sh /usr/local/bin/kolla_extend_start
RUN chmod 755 /usr/local/bin/kolla_extend_start \
    && chown -R collectd /var/lib/collectd \
    && chown -R collectd /etc/collectd* \
    && chown -R collectd /var/run/

{% block collectd_footer %}{% endblock %}
{% block footer %}{% endblock %}

USER collectd