tripleo-common/healthcheck
Nozomi Kawamoto f15417d662 Support IPv6 for HTTP request
This http-healthcheck always fails in the case the request is against to
IPv6 address.

Usually, the socket in IPv6 return a tuple that contains four values but
only two values in IPv4.

Currently, only two variables are defined to store return values.
Therefore when extract the return value of socket.getpeername() in IPv6,
an ValueError exception is raised and then healthcheck fails.

This change restrict the return value of the socket.getpeername() to
return only first two elements regardless of IPv4/IPv6.

Closes-Bug: #2004268
Change-Id: I57ae54518a86f93ec92f0e74efadf1fa4da29f0f
2023-02-01 00:13:58 +09:00
..
releasenotes/notes Revert "Revert "Fix a couple of Swift healthchecks"" 2021-01-08 10:19:38 -07: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 By default, unset everything proxy related for healthcheck 2022-10-17 11:25:36 +02: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
frr Frr image support 2021-02-03 08:42:00 +01:00
glance-api Bracket IPv6 address in ironic_inspector healthcheck 2020-02-12 13:28:54 -05: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 Switch gnocchi-statsd HC to healthcheck_port 2020-12-17 12:27:05 +01: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
http-healthcheck.py Support IPv6 for HTTP request 2023-02-01 00:13:58 +09: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 Remove ironic-inspector dnsmasq healthcheck 2021-07-02 15:38:58 +12:00
ironic-neutron-agent Add a healthcheck for ironic-neutron-agent 2019-10-18 01:46:08 +00:00
ironic-pxe Remove tftp healthcheck from ironic-pxe image 2022-03-01 14:15:29 +13: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-api Fix missing healthcheck script for manila-api/share 2022-07-11 21:57:38 +09:00
manila-scheduler Fix formatting options 2018-09-11 17:15:11 +02:00
manila-share Fix missing healthcheck script for manila-api/share 2022-07-11 21:57:38 +09:00
mariadb MariaDB: Remove logic for xinetd 2022-11-21 15:23:39 +09:00
memcached Fix config parsing in memcached healthcheck 2021-05-28 00:25:25 +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-12 13:28:54 -05: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 19:00:10 +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 Bracket IPv6 address in ironic_inspector healthcheck 2020-02-12 13:28:54 -05: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
ovn-bgp-agent ovn-bgp-agent image support 2022-02-14 15:27:38 +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
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 Move rabbitmq healthcheck to something more modern 2021-06-08 20:52:41 +02:00
README.md Document healthcheck and container build issues 2021-01-08 10:31:12 -07:00
redis Fix config file path in redis healtcheck script 2022-09-15 07:27:00 +02:00
swift-account-server Revert "Revert "Fix a couple of Swift healthchecks"" 2021-01-08 10:19:38 -07:00
swift-container-server Revert "Revert "Fix a couple of Swift healthchecks"" 2021-01-08 10:19:38 -07:00
swift-object-server Revert "Revert "Fix a couple of Swift healthchecks"" 2021-01-08 10:19:38 -07:00
swift-proxy Revert "Revert "Fix a couple of Swift healthchecks"" 2021-01-08 10:19:38 -07:00
swift-rsync Fix formatting options 2018-09-11 17:15:11 +02:00

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

Notes about changing healthchecks

Because healthchecks are provided via a package when building containers, you cannot rename or remove a health check in combination with a change to a, file in tripleo-common/container-images/. Changes need to be backwards and forwards compatible when updating healthchecks. You may also need to land a new healthcheck first and update the container build process in a subsequent change that lands later.