aboutsummaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorZuul <zuul@review.openstack.org>2017-12-14 16:19:00 +0000
committerGerrit Code Review <review@openstack.org>2017-12-14 16:19:00 +0000
commitcbbd938c1ae34977aad6339abc9cb198c56763b5 (patch)
tree185134d9a1691439cf0cfd76ff3ad15c7f464f2e /docker
parent3a5503f83c22be867f74a8d131d6ed91ea54e7b1 (diff)
parented29f8730d7602fac4522cb8d83805f8e33b7457 (diff)
downloadkolla-cbbd938c1ae34977aad6339abc9cb198c56763b5.tar.gz
kolla-cbbd938c1ae34977aad6339abc9cb198c56763b5.zip
Merge "Add sensu images"
Diffstat (limited to 'docker')
-rw-r--r--docker/base/Dockerfile.j21
-rw-r--r--docker/base/sensu.repo6
-rw-r--r--docker/sensu/sensu-api/Dockerfile.j211
-rw-r--r--docker/sensu/sensu-base/Dockerfile.j23
-rw-r--r--docker/sensu/sensu-base/extend_start.sh9
-rw-r--r--docker/sensu/sensu-client/Dockerfile.j266
-rw-r--r--docker/sensu/sensu-server/Dockerfile.j237
7 files changed, 129 insertions, 4 deletions
diff --git a/docker/base/Dockerfile.j2 b/docker/base/Dockerfile.j2
index ee5921d1d..7f1aa2aa8 100644
--- a/docker/base/Dockerfile.j2
+++ b/docker/base/Dockerfile.j2
@@ -67,6 +67,7 @@ COPY yum.conf /etc/yum.conf
'kibana.yum.repo',
'MariaDB.repo',
'opendaylight.repo',
+ 'sensu.repo',
'td.repo',
'zookeeper.repo'
] %}
diff --git a/docker/base/sensu.repo b/docker/base/sensu.repo
new file mode 100644
index 000000000..f4880f553
--- /dev/null
+++ b/docker/base/sensu.repo
@@ -0,0 +1,6 @@
+[sensu]
+name=sensu
+baseurl=https://sensu.global.ssl.fastly.net/yum/$releasever/$basearch/
+gpgcheck=1
+enabled=1
+gpgkey=https://sensu.global.ssl.fastly.net/yum/pubkey.gpg
diff --git a/docker/sensu/sensu-api/Dockerfile.j2 b/docker/sensu/sensu-api/Dockerfile.j2
new file mode 100644
index 000000000..f4cfdfdc6
--- /dev/null
+++ b/docker/sensu/sensu-api/Dockerfile.j2
@@ -0,0 +1,11 @@
+FROM {{ namespace }}/{{ image_prefix }}sensu-base:{{ tag }}
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
+
+{% block sensu_api_header %}{% endblock %}
+
+{% import "macros.j2" as macros with context %}
+
+{% block sensu_api_footer %}{% endblock %}
+{% block footer %}{% endblock %}
+
+USER sensu
diff --git a/docker/sensu/sensu-base/Dockerfile.j2 b/docker/sensu/sensu-base/Dockerfile.j2
index f12e6f12f..c816192be 100644
--- a/docker/sensu/sensu-base/Dockerfile.j2
+++ b/docker/sensu/sensu-base/Dockerfile.j2
@@ -18,4 +18,7 @@ RUN echo '{{ image_name }} not yet available for {{ base_distro }}' \
{{ macros.install_packages(sensu_base_packages | customizable("packages")) }}
+COPY extend_start.sh /usr/local/bin/kolla_extend_start
+RUN chmod 755 /usr/local/bin/kolla_extend_start
+
{% block sensu_base_footer %}{% endblock %}
diff --git a/docker/sensu/sensu-base/extend_start.sh b/docker/sensu/sensu-base/extend_start.sh
new file mode 100644
index 000000000..c67447e01
--- /dev/null
+++ b/docker/sensu/sensu-base/extend_start.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+# Create log directory, with appropriate permissions
+if [[ ! -d "/var/log/kolla/sensu" ]]; then
+ mkdir -p /var/log/kolla/sensu
+fi
+if [[ $(stat -c %a /var/log/kolla/sensu) != "755" ]]; then
+ chmod 755 /var/log/kolla/sensu
+fi
diff --git a/docker/sensu/sensu-client/Dockerfile.j2 b/docker/sensu/sensu-client/Dockerfile.j2
index 16abaa97f..855747501 100644
--- a/docker/sensu/sensu-client/Dockerfile.j2
+++ b/docker/sensu/sensu-client/Dockerfile.j2
@@ -6,9 +6,37 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% import "macros.j2" as macros with context %}
{% if base_distro in ['centos', 'oraclelinux', 'rhel'] %}
- {% set sensu_client_packages = ['docker-client', 'osops-tools-monitoring-oschecks'] %}
+ {% set sensu_client_packages = [
+ 'MariaDB-client',
+ 'ceph-common',
+ 'cyrus-sasl-devel',
+ 'docker-client',
+ 'gcc-c++',
+ 'make',
+ 'ntp',
+ 'osops-tools-monitoring-oschecks',
+ 'python-pymongo',
+ 'ruby-devel'
+ ] %}
{% elif base_distro in ['debian', 'ubuntu'] %}
- {% set sensu_client_packages = ['docker.io'] %}
+ {% 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
@@ -16,7 +44,37 @@ RUN echo '{{ image_name }} not yet available for {{ base_distro }}' \
{{ macros.install_packages(sensu_client_packages | customizable("packages")) }}
+{% block sensu_clients_install %}
+
+{% set sensu_plugins = [
+ 'ceph',
+ 'cpu-checks',
+ 'disk-checks',
+ 'dns',
+ 'docker',
+ 'elasticsearch',
+ 'filesystem-checks',
+ 'haproxy',
+ 'http',
+ 'io-checks',
+ 'load-checks',
+ 'memcached',
+ 'memory-checks',
+ 'mongodb',
+ 'mysql',
+ 'network-checks',
+ 'ntp',
+ 'openstack',
+ 'process-checks',
+ 'rabbitmq',
+ 'redis',
+ 'uptime-checks',
+ 'vmstats'
+] %}
+
+RUN /opt/sensu/embedded/bin/gem install vmstat --no-rdoc --no-ri \
+ && sensu-install --plugins {{ sensu_plugins | customizable('plugins') | join (',') }}
+{% endblock %}
+
{% block sensu_client_footer %}{% endblock %}
{% block footer %}{% endblock %}
-
-USER sensu
diff --git a/docker/sensu/sensu-server/Dockerfile.j2 b/docker/sensu/sensu-server/Dockerfile.j2
new file mode 100644
index 000000000..e64640923
--- /dev/null
+++ b/docker/sensu/sensu-server/Dockerfile.j2
@@ -0,0 +1,37 @@
+FROM {{ namespace }}/{{ image_prefix }}sensu-base:{{ tag }}
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
+
+{% block sensu_server_header %}{% endblock %}
+
+{% import "macros.j2" as macros with context %}
+
+{% if base_distro in ['centos', 'oraclelinux', 'rhel'] %}
+ {% set sensu_server_packages = [
+ 'cyrus-sasl-devel',
+ 'gcc-c++',
+ 'make',
+ 'ruby-devel'
+ ] %}
+{% elif base_distro in ['debian', 'ubuntu'] %}
+ {% set sensu_server_packages = [
+ 'build-essential',
+ 'libsasl2-dev'
+ ] %}
+{% endif %}
+
+{{ macros.install_packages(sensu_server_packages | customizable("packages")) }}
+
+{% block sensu_server_plugins_install %}
+
+{% set sensu_plugins = [
+ 'mailer',
+ 'slack'
+] %}
+
+RUN sensu-install --plugins {{ sensu_plugins | customizable('plugins') | join (',') }}
+{% endblock %}
+
+{% block sensu_server_footer %}{% endblock %}
+{% block footer %}{% endblock %}
+
+USER sensu