tripleo-common/healthcheck
Cédric Jeanneret 475368e9b7 Make healthchecks more strict
It was discovered that healthchecks aren't really reliable because they
aren't strict enough.

The current patch adds the "standard" options in order to ensure we
actually catch errors soon enough in order to return the actual state of
the checked element.

It also requires a small change for the healthcheck_port() function,
since the "piping" returned a 141 code instead of 0 due SIGPIPE being
sent at some point[1].

[1] https://stackoverflow.com/questions/19120263/why-exit-code-141-with-grep-q
    http://www.tldp.org/LDP/lpg/node20.html

Change-Id: If13b6ca177d47a0af29ba5e5099e040eea62876c
Closes-Bug: #1860556
Related: https://bugzilla.redhat.com/show_bug.cgi?id=1794044
2020-02-14 13:32:18 +01:00
..
releasenotes/notes IPv6 healthcheck fixes for nova-vnc-proxy 2018-12-17 08:22:23 +01:00
README.md Fix formatting options 2018-09-11 17:15:11 +02:00
aodh-api Fix formatting options 2018-09-11 17:15:11 +02:00
aodh-evaluator Fix formatting options 2018-09-11 17:15:11 +02:00
aodh-listener Fix formatting options 2018-09-11 17:15:11 +02:00
aodh-notifier Fix formatting options 2018-09-11 17:15:11 +02:00
barbican-api Fix formatting options 2018-09-11 17:15:11 +02:00
barbican-keystone-listener Fix formatting options 2018-09-11 17:15:11 +02:00
barbican-worker Fix formatting options 2018-09-11 17:15:11 +02:00
ceilometer-agent-central Fix formatting options 2018-09-11 17:15:11 +02:00
ceilometer-agent-compute Fix ceilometer_agent_compute health check 2019-11-04 12:18:26 +01:00
ceilometer-agent-ipmi Fix formatting options 2018-09-11 17:15:11 +02:00
ceilometer-agent-notification Fix formatting options 2018-09-11 17:15:11 +02:00
cinder-api Fix formatting options 2018-09-11 17:15:11 +02:00
cinder-backup Fix formatting options 2018-09-11 17:15:11 +02:00
cinder-scheduler Fix formatting options 2018-09-11 17:15:11 +02:00
cinder-volume Fix formatting options 2018-09-11 17:15:11 +02:00
collectd Activate new healthchecks 2018-03-07 10:44:59 +01:00
common.sh Make healthchecks more strict 2020-02-14 13:32:18 +01:00
cron Fix bashate and flake8 errors 2019-06-14 19:23:53 +01:00
etcd Fix etcd healthcheck 2019-10-09 10:21:05 -04:00
fluentd Fix formatting options 2018-09-11 17:15:11 +02:00
glance-api Fix formatting options 2018-09-11 17:15:11 +02:00
gnocchi-api Fix formatting options 2018-09-11 17:15:11 +02:00
gnocchi-metricd Fix formatting options 2018-09-11 17:15:11 +02:00
gnocchi-statsd Fix formatting options 2018-09-11 17:15:11 +02:00
heat-api Fix formatting options 2018-09-11 17:15:11 +02:00
heat-api-cfn Fix formatting options 2018-09-11 17:15:11 +02:00
heat-engine Fix formatting options 2018-09-11 17:15:11 +02:00
horizon Fix formatting options 2018-09-11 17:15:11 +02:00
ironic-api Fix formatting options 2018-09-11 17:15:11 +02:00
ironic-conductor Fix formatting options 2018-09-11 17:15:11 +02:00
ironic-inspector Use port 547 for dhcpv6 healthchecks when using IPv6 2019-10-21 07:14:38 +00:00
ironic-neutron-agent Add a healthcheck for ironic-neutron-agent 2019-10-18 01:46:08 +00:00
ironic-pxe Fix ironic-pxe container healthcheck 2019-12-12 08:39:40 -05:00
iscsid Activate new healthchecks 2018-03-07 10:44:59 +01:00
keystone Fix keystone healthcheck 2019-01-16 22:12:23 +01:00
manila-scheduler Fix formatting options 2018-09-11 17:15:11 +02:00
mariadb Fix formatting options 2018-09-11 17:15:11 +02:00
memcached Silent memcached healthcheck 2019-03-27 08:51:15 +01:00
mistral-api Fix formatting options 2018-09-11 17:15:11 +02:00
mistral-engine Fix formatting options 2018-09-11 17:15:11 +02:00
mistral-event-engine Fix formatting options 2018-09-11 17:15:11 +02:00
mistral-executor Fix formatting options 2018-09-11 17:15:11 +02:00
multipathd Activate new healthchecks 2018-03-07 10:44:59 +01:00
neutron-api Fix formatting options 2018-09-11 17:15:11 +02:00
neutron-dhcp Fix formatting options 2018-09-11 17:15:11 +02:00
neutron-l3 Fix formatting options 2018-09-11 17:15:11 +02:00
neutron-metadata Fix formatting options 2018-09-11 17:15:11 +02:00
neutron-ovs-agent Fix formatting options 2018-09-11 17:15:11 +02:00
neutron-sriov-agent Fix formatting options 2018-09-11 17:15:11 +02:00
nova-api Fix nova-api healthcheck 2018-11-12 09:21:45 +01:00
nova-compute Fix formatting options 2018-09-11 17:15:11 +02:00
nova-conductor Fix formatting options 2018-09-11 17:15:11 +02:00
nova-ironic Fix formatting options 2018-09-11 17:15:11 +02:00
nova-libvirt Add healthcheck for nova-virtlogd container 2019-11-21 11:17:53 +05:30
nova-metadata Fix formatting options 2018-09-11 17:15:11 +02:00
nova-scheduler Fix formatting options 2018-09-11 17:15:11 +02:00
nova-vnc-proxy IPv6 healthcheck fixes for nova-vnc-proxy 2018-12-17 08:22:23 +01:00
octavia-api Fixup octavia-api healthcheck 2019-04-24 10:14:43 -02:30
octavia-health-manager healthcheck: List udp ports with ss 2019-09-13 23:20:37 +05:30
octavia-housekeeping Fix formatting options 2018-09-11 17:15:11 +02:00
octavia-worker Fix formatting options 2018-09-11 17:15:11 +02:00
opendaylight-api Fix bashate and flake8 errors 2019-06-14 19:23:53 +01:00
ovn-controller Fix formatting options 2018-09-11 17:15:11 +02:00
ovn-dbs Correct ovn-dbs health check 2019-04-16 13:40:29 +02:00
ovn-metadata Fix formatting options 2018-09-11 17:15:11 +02:00
panko-api Fix formatting options 2018-09-11 17:15:11 +02:00
placement-api placement: Add missing healthcheck for extracted service 2019-01-21 10:13:22 +00:00
qdrouterd Add health check script for qdrouterd 2019-08-23 15:35:20 +02:00
rabbitmq Fix formatting options 2018-09-11 17:15:11 +02:00
redis Fix formatting options 2018-09-11 17:15:11 +02:00
sahara-api Add bashate in gate jobs and fix existing errors 2018-09-17 11:36:57 +02:00
sahara-engine Fix formatting options 2018-09-11 17:15:11 +02:00
sensu-client Fix formatting options 2018-09-11 17:15:11 +02:00
swift-account-replicator Revert "Revert "Improve Swift healthchecks"" 2019-11-14 06:19:22 +00:00
swift-account-server Revert "Revert "Improve Swift healthchecks"" 2019-11-14 06:19:22 +00:00
swift-container-replicator Revert "Revert "Improve Swift healthchecks"" 2019-11-14 06:19:22 +00:00
swift-container-server Revert "Revert "Improve Swift healthchecks"" 2019-11-14 06:19:22 +00:00
swift-object-replicator Revert "Revert "Improve Swift healthchecks"" 2019-11-14 06:19:22 +00:00
swift-object-server Revert "Revert "Improve Swift healthchecks"" 2019-11-14 06:19:22 +00:00
swift-proxy Revert "Revert "Improve Swift healthchecks"" 2019-11-14 06:19:22 +00:00
swift-rsync Fix formatting options 2018-09-11 17:15:11 +02:00
tacker Fix formatting options 2018-09-11 17:15:11 +02:00
zaqar-api Add new healthchecks for zaqar services 2019-04-24 18:00:30 +02:00
zaqar-socket Fix bashate and flake8 errors 2019-06-14 19:23:53 +01:00

README.md

Health check commands

The scripts in this directory are meant to implement the container-healthcheck blueprint. They are written to be compatible with the Docker HEALTHCHECK api.

The scripts expect to source /usr/share/tripleo-common/healthcheck/common.sh. If you want to run scripts without installing to that file, you can set the HEALTHCHECKS_DIR environment variable, e.g:

    $ export HEALTHCHECKS_DIR=$PWD
    $ ./heat-api
    {"versions": [{"status": "CURRENT", "id": "v1.0", "links": [{"href": "http://192.168.24.1:8004/v1/", "rel": "self"}]}]}
    300 192.168.24.1:8004 0.002 seconds