healthcheck in clustercheck container doesn't work with ipv6

Bug #1860124 reported by Damien Ciabrini
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
Fix Released
High
Damien Ciabrini

Bug Description

The healthcheck script for the clustercheck service uses curl to poll an galera-monitor service started by xinetd. The address of that HTTP service is parsed from a xinetd config.

Currently, the galera-monitor service is configured to bind to a IP address, and not a fqdn.
When the HA overcloud is deployed with IPv6, curl ends up trying to access an URI whose IPv6 is unquoted, and ends up in failure:

[root@controller-0 ~]# podman exec -u root -it clustercheck bash
()[root@controller-0 /]# grep bind /etc/xinetd.d/galera-monitor
        bind = fd00:fd00:fd00:2000::c9:9200
()[root@controller-0 /]# /openstack/healthcheck

000 :0 0.000000 seconds
curl: (3) IPv6 numerical address used in URL without brackets
()[root@controller-0 /]# echo $?
1

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (master)

Fix proposed to branch: master
Review: https://review.opendev.org/703070

Changed in tripleo:
assignee: nobody → Damien Ciabrini (dciabrin)
status: New → In Progress
Changed in tripleo:
importance: Undecided → Medium
Changed in tripleo:
importance: Medium → High
tags: added: edge queens-backport-potential
Changed in tripleo:
milestone: none → ussuri-2
tags: added: train-backport-potential
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-heat-templates (master)

Reviewed: https://review.opendev.org/703070
Committed: https://git.openstack.org/cgit/openstack/tripleo-heat-templates/commit/?id=643c4028b89e5ede856c85fbba83a8acdc39af20
Submitter: Zuul
Branch: master

commit 643c4028b89e5ede856c85fbba83a8acdc39af20
Author: Damien Ciabrini <email address hidden>
Date: Fri Jan 17 13:59:20 2020 +0100

    clustercheck: use fqdn instead of ip for bind address

    Clustercheck service is accessible via port 9200 on the Mysql network
    (e.g. internal API). The bind address specified in the config currently
    uses IP address. This breaks the OpenStack healthcheck because curl
    refuses to fetch a URI with unquoted IPv6 address.

    Use an fqdn as the bind address in the config to make sure the service
    is reachable no matter the type of network used.

    Change-Id: Ia41bf10ea65edd51cafee5416697628f972c693e
    Closes-Bug: #1860124

Changed in tripleo:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (stable/train)

Fix proposed to branch: stable/train
Review: https://review.opendev.org/703396

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (stable/stein)

Fix proposed to branch: stable/stein
Review: https://review.opendev.org/703397

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-heat-templates (stable/train)

Reviewed: https://review.opendev.org/703396
Committed: https://git.openstack.org/cgit/openstack/tripleo-heat-templates/commit/?id=82e2f9deacd999bc87369361f4e20915e35d05fd
Submitter: Zuul
Branch: stable/train

commit 82e2f9deacd999bc87369361f4e20915e35d05fd
Author: Damien Ciabrini <email address hidden>
Date: Fri Jan 17 13:59:20 2020 +0100

    clustercheck: use fqdn instead of ip for bind address

    Clustercheck service is accessible via port 9200 on the Mysql network
    (e.g. internal API). The bind address specified in the config currently
    uses IP address. This breaks the OpenStack healthcheck because curl
    refuses to fetch a URI with unquoted IPv6 address.

    Use an fqdn as the bind address in the config to make sure the service
    is reachable no matter the type of network used.

    Change-Id: Ia41bf10ea65edd51cafee5416697628f972c693e
    Closes-Bug: #1860124
    (cherry picked from commit 643c4028b89e5ede856c85fbba83a8acdc39af20)

tags: added: in-stable-train
tags: added: in-stable-stein
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-heat-templates (stable/stein)

Reviewed: https://review.opendev.org/703397
Committed: https://git.openstack.org/cgit/openstack/tripleo-heat-templates/commit/?id=190adb2b9fdad6229503d1cbd40fd6a1792271b1
Submitter: Zuul
Branch: stable/stein

commit 190adb2b9fdad6229503d1cbd40fd6a1792271b1
Author: Damien Ciabrini <email address hidden>
Date: Fri Jan 17 13:59:20 2020 +0100

    clustercheck: use fqdn instead of ip for bind address

    Clustercheck service is accessible via port 9200 on the Mysql network
    (e.g. internal API). The bind address specified in the config currently
    uses IP address. This breaks the OpenStack healthcheck because curl
    refuses to fetch a URI with unquoted IPv6 address.

    Use an fqdn as the bind address in the config to make sure the service
    is reachable no matter the type of network used.

    Change-Id: Ia41bf10ea65edd51cafee5416697628f972c693e
    Closes-Bug: #1860124
    (cherry picked from commit 643c4028b89e5ede856c85fbba83a8acdc39af20)

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/tripleo-heat-templates 12.1.0

This issue was fixed in the openstack/tripleo-heat-templates 12.1.0 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/tripleo-heat-templates 11.4.0

This issue was fixed in the openstack/tripleo-heat-templates 11.4.0 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/tripleo-heat-templates stein-eol

This issue was fixed in the openstack/tripleo-heat-templates stein-eol release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.