tripleo-common/healthcheck
Cédric Jeanneret 52394870c0 Move away from "ss" and drop default verbose mode
This patch does three main things:
- drop the ultra-verbose output (set -x), adding a new param we can use
  when calling the healthcheck directly
- move away from the "ss" calls and the multiple pipes used to filter
  its output, using "lsof" and native filtering
- rewrite the "ps" call in order to use ps native filters instead of
  piping through grep

These changes should make the healthchecks stronger, and avoid some
weird issues due to the pipes, and lower the amount of logs while
keeping the important information visible.

In order to get verbose mode when running the healthcheck directly, you
can do as follow:

podman exec -u root -ti <container> bash
HEALTHCHECK_DEBUG=1 ./openstack/healthcheck
or
podman -u root -e "HEALTHCHECK_DEBUG=1" <container> /openstack/healthcheck

and enjoy a nice debug output.

Fixes-Bug: #1907811
Change-Id: I137fe3211043b00b553db26b2f5930f98373496d
(cherry picked from commit d03401438c)
2020-12-11 13:18:09 +00: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-12 12:42:05 +00: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 Move away from "ss" and drop default verbose mode 2020-12-11 13:18:09 +00:00
cron Fix bashate and flake8 errors 2019-06-14 19:23:53 +01:00
etcd Activate new healthchecks 2018-03-07 10:44:59 +01:00
fluentd Bracket IPv6 address in ironic_inspector healthcheck 2020-02-26 01:10:18 +00:00
glance-api Bracket IPv6 address in ironic_inspector healthcheck 2020-02-26 01:10:18 +00: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 healthcheck_port for ironic_inspector_dnsmasq healthcheck 2020-04-17 11:24:42 +00:00
ironic-neutron-agent Add a healthcheck for ironic-neutron-agent 2019-11-26 17:59:10 +00:00
ironic-pxe Bracket IPv6 address in ironic_inspector healthcheck 2020-02-26 01:10:18 +00: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 Fix memcached healthcheck regression 2020-03-04 21:15:51 +00: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 Bracket IPv6 address in ironic_inspector healthcheck 2020-02-26 01:10:18 +00: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 Fix nova-virtlogd container healthcheck 2020-05-28 14:14:04 +00:00
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 Bracket IPv6 address in ironic_inspector healthcheck 2020-02-26 01:10:18 +00: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 Bracket IPv6 address in ironic_inspector healthcheck 2020-02-26 01:10:18 +00: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 Bracket IPv6 address in ironic_inspector healthcheck 2020-02-26 01:10:18 +00: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 Improve Swift healthchecks 2019-11-15 12:55:23 +01:00
swift-account-server Bracket IPv6 address in ironic_inspector healthcheck 2020-02-26 01:10:18 +00:00
swift-container-replicator Improve Swift healthchecks 2019-11-15 12:55:23 +01:00
swift-container-server Bracket IPv6 address in ironic_inspector healthcheck 2020-02-26 01:10:18 +00:00
swift-object-replicator Improve Swift healthchecks 2019-11-15 12:55:23 +01:00
swift-object-server Bracket IPv6 address in ironic_inspector healthcheck 2020-02-26 01:10:18 +00:00
swift-proxy Bracket IPv6 address in ironic_inspector healthcheck 2020-02-26 01:10:18 +00:00
swift-rsync Fix formatting options 2018-09-11 17:15:11 +02:00
tacker Bracket IPv6 address in ironic_inspector healthcheck 2020-02-26 01:10:18 +00: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