Wrong variable specified for rabbitmq haproxy configuration

Bug #1672356 reported by Nuriel Shem-Tov
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
Fix Released
High
Michele Baldessari

Bug Description

The 'ipaddresses' value of rabbitmq haproxy configuration is wrong and breaks deployment:
https://github.com/openstack/puppet-tripleo/blob/stable/newton/manifests/haproxy.pp#L945

Line 945 should be:

    ipaddresses => hiera('rabbitmq_node_ips', $controller_hosts_real),

Note that all other services configured in haproxy.pp are using "<service>_node_ips".

In depth:
If tripleo::haproxy::rabbitmq variable is set to 'true', the manifest will try to configure rabbitmq in haproxy.conf. However, deployment will break with:

Execution of '/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg20170313-30724-1g1twnf -c' returned 1: [ALERT] 071/094401 (35003) : parsing [/etc/haproxy/haproxy.cfg20170313-30724-1g1twnf:218] : 'server overcloud-controller-0.internalapi.localdomain' : invalid address: 'internal_api' in 'internal_api:5672'

Because 'ipaddresses' is set to 'rabbitmq_network' it will get 'internal_api' configured which is a mistake. As mentioned above, 'rabbitmq_network' has to be changed to 'rabbitmq_node_ips'

Nuriel Shem-Tov (nuri)
description: updated
Changed in tripleo:
status: New → Triaged
milestone: none → pike-1
tags: added: ocata-backport-potential
tags: added: newton-backport-potential
Changed in tripleo:
importance: Undecided → High
Changed in tripleo:
milestone: pike-1 → pike-2
Changed in tripleo:
milestone: pike-2 → pike-3
Changed in tripleo:
milestone: pike-3 → pike-rc1
Changed in tripleo:
milestone: pike-rc1 → pike-rc2
Changed in tripleo:
milestone: pike-rc2 → queens-1
Changed in tripleo:
milestone: queens-1 → queens-2
Changed in tripleo:
milestone: queens-2 → queens-3
Changed in tripleo:
milestone: queens-3 → queens-rc1
Changed in tripleo:
milestone: queens-rc1 → rocky-1
Revision history for this message
Michele Baldessari (michele) wrote :

Note that this was never really worked on because rabbitmq does not use haproxy

Changed in tripleo:
assignee: nobody → Michele Baldessari (michele)
Revision history for this message
Nuriel Shem-Tov (nuri) wrote :

Then it would make sense to remove it?
Though, we are making use of this in order to enable rabbitmq in haproxy to be used by Sensu.

We figured out that this was placed there in order to allow enabling it for exactly these kind of scenarios.

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

Fix proposed to branch: master
Review: https://review.openstack.org/552869

Changed in tripleo:
status: Triaged → In Progress
Revision history for this message
Michele Baldessari (michele) wrote :

No because we are still discussing if moving rabbitmq back under haproxy's loadbalancing on not (in the past it was removed because of linux kernel tcp bugs)

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to puppet-tripleo (master)

Reviewed: https://review.openstack.org/552869
Committed: https://git.openstack.org/cgit/openstack/puppet-tripleo/commit/?id=35daa4f7f39dcd41e06dc75b9290ee6e07e9c255
Submitter: Zuul
Branch: master

commit 35daa4f7f39dcd41e06dc75b9290ee6e07e9c255
Author: Michele Baldessari <email address hidden>
Date: Wed Mar 14 11:26:33 2018 +0100

    Fix rabbitmq haproxy configuration

    While rabbitmq currently does not use haproxy at all, the code for
    it inside haproxy is currently wrong.
    Let's get this right in case we ever want to put rabbitmq back under
    haproxy's balancing

    Change-Id: Iaf1f818bdbde000ea3eedf0fb6503f60b3dddf75
    Closes-Bug: #1672356

Changed in tripleo:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/puppet-tripleo 9.0.0

This issue was fixed in the openstack/puppet-tripleo 9.0.0 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.