Bug 1636893

Summary: Neutron/vNES and Neutron/networking-ovn Metadata sidecar containers is broken with haproxy 1.8
Product: Red Hat OpenStack Reporter: Daniel Alvarez Sanchez <dalvarez>
Component: puppet-tripleoAssignee: Brent Eagles <beagles>
Status: CLOSED ERRATA QA Contact: Ofer Blaut <oblaut>
Severity: medium Docs Contact:
Priority: medium    
Version: 15.0 (Stein)CC: aschultz, augol, beagles, bhaley, bperkins, emacchi, jjoyce, jschluet, majopela, michele, slinaber, tvignaud
Target Milestone: Upstream M2Keywords: Triaged
Target Release: 15.0 (Stein)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: puppet-tripleo-10.4.2-0.20190623230404.53b3156.el8ost Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-09-21 11:19:11 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Daniel Alvarez Sanchez 2018-10-08 08:18:38 UTC
haproxy 1.8 has removed the '-Ds' (daemon) option and the way we're spawning the sidecar container for serving metadata in Neutron/OVN is with this option [0].


This makes the sidecar container to not spawn and instances can't fetch metadata.
As discussed in this review [1], the '-Ws' option works for haproxy 1.8 but it has to be conditionally used as for earlier versions we can't use '-Ws'.

[0] https://github.com/openstack/puppet-tripleo/blob/9.3.0/templates/neutron/haproxy.epp#L30
[1] https://review.openstack.org/#/c/607916/

Comment 2 Daniel Alvarez Sanchez 2018-10-17 11:58:48 UTC
From my comment in gerrit:

Patch Set 1:

Hi Michele.

I've created an image with haproxy 1.8 installed and modified the wrapper to use that image with '-Ws'. I can confirm that it works:

1. Side-car container spawns correctly
2. Instances can fetch metadata
3. Stopping all instances results in side-car container being killed correctly.

As you said, we need to conditionally use one flag or another but this seems like the right path forward.
Thanks a lot!

Comment 3 Miguel Angel Ajo 2018-10-23 13:26:52 UTC
On meeting @dalvarez confirm it works, and we could conditionally spawn haproxy with -Ws or the old flags based on haproxy version (runtime detection).

@beagles, do you have cycles to handle this?

(In reply to Daniel Alvarez Sanchez from comment #2)
> From my comment in gerrit:
> 
> Patch Set 1:
> 
> Hi Michele.
> 
> I've created an image with haproxy 1.8 installed and modified the wrapper to
> use that image with '-Ws'. I can confirm that it works:
> 
> 1. Side-car container spawns correctly
> 2. Instances can fetch metadata
> 3. Stopping all instances results in side-car container being killed
> correctly.
> 
> As you said, we need to conditionally use one flag or another but this seems
> like the right path forward.
> Thanks a lot!

Comment 4 Brent Eagles 2018-10-23 14:02:46 UTC
Yes I'll add it to my tasks and either myself or Kamil will take care of it.

Comment 11 errata-xmlrpc 2019-09-21 11:19:11 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2019:2811