From 76a965ad8032e70cdb3286f989f21876e0af7a76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Andr=C3=A9?= Date: Wed, 30 May 2018 13:32:01 +0200 Subject: [PATCH] Install sensu from centos-opstools This should help improve stability overall, in exchange for slightly older package version. Cap all the sensu plugins to their known major version that works with the ruby interpreter shipped with the current version of rhel/centos/oraclelinux -- currently ruby 2.0. All sensu plugins use semantic versioning so we're assured they don't introduce breaking changes in the capped major version. Change-Id: Ic5ca679c40da3e466433b0e04f762d2bbffbf156 Closes-Bug: #1774123 --- docker/base/Dockerfile.j2 | 1 - docker/base/sensu.repo | 6 --- docker/sensu/sensu-client/Dockerfile.j2 | 54 ++++++++++--------- kolla/image/build.py | 3 -- ...from_centos_opstools-99d64edb91526fc7.yaml | 5 ++ 5 files changed, 34 insertions(+), 35 deletions(-) delete mode 100644 docker/base/sensu.repo create mode 100644 releasenotes/notes/install_sensu_from_centos_opstools-99d64edb91526fc7.yaml diff --git a/docker/base/Dockerfile.j2 b/docker/base/Dockerfile.j2 index 703bdfb8fd..3e27537f91 100644 --- a/docker/base/Dockerfile.j2 +++ b/docker/base/Dockerfile.j2 @@ -76,7 +76,6 @@ RUN echo {{ centos_contentdir }} >> /etc/yum/vars/contentdir 'kibana.yum.repo', 'nfs_ganesha.repo', 'opendaylight.repo', - 'sensu.repo', 'td.repo' ] %} diff --git a/docker/base/sensu.repo b/docker/base/sensu.repo deleted file mode 100644 index f4880f553c..0000000000 --- a/docker/base/sensu.repo +++ /dev/null @@ -1,6 +0,0 @@ -[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-client/Dockerfile.j2 b/docker/sensu/sensu-client/Dockerfile.j2 index 03f75c2291..718f05b0cb 100644 --- a/docker/sensu/sensu-client/Dockerfile.j2 +++ b/docker/sensu/sensu-client/Dockerfile.j2 @@ -46,34 +46,38 @@ RUN echo '{{ image_name }} not yet available for {{ base_distro }}' \ {% 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', - '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' + '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"' ] %} -RUN /opt/sensu/embedded/bin/gem install vmstat --no-rdoc --no-ri \ - && sensu-install --plugins {{ sensu_plugins | customizable('plugins') | join (',') }} +# 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 %} diff --git a/kolla/image/build.py b/kolla/image/build.py index a4a3650720..8abdad0ddb 100755 --- a/kolla/image/build.py +++ b/kolla/image/build.py @@ -99,9 +99,6 @@ SKIPPED_IMAGES = { # https://bugs.launchpad.net/kolla/+bug/1764621 "neutron-server-opendaylight", "ovsdpdk", - # TODO(mandre) remove after fixing - # https://bugs.launchpad.net/kolla/+bug/1774123 - "sensu-base", # TODO(jeffrey4l): remove tripleo-ui when following bug is fixed # https://bugs.launchpad.net/tripleo/+bug/1744215 "tripleo-ui" diff --git a/releasenotes/notes/install_sensu_from_centos_opstools-99d64edb91526fc7.yaml b/releasenotes/notes/install_sensu_from_centos_opstools-99d64edb91526fc7.yaml new file mode 100644 index 0000000000..a7c2435b65 --- /dev/null +++ b/releasenotes/notes/install_sensu_from_centos_opstools-99d64edb91526fc7.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + Install sensu from centos-opstools for rpm based distros instead of from + upstream sensu repository.