octavia api doesn't get along with haproxy

Bug #1815811 reported by Brent Eagles
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
Fix Released
High
Brent Eagles

Bug Description

The octavia api currently runs under wsgiref.simple_server. Unfortunately this doesn't work well with haproxy and produces repeated stack traces, spamming the journal. The proposed solution is to move forward to running octavia under apache immediately.

(sample stack trace)

    172.16.32.20 - - [06/Nov/2018 23:29:04] "OPTIONS / HTTP/1.0" 500 59
    Traceback (most recent call last):
      File "/usr/lib64/python2.7/SocketServer.py", line 295, in _handle_request_noblock
        self.process_request(request, client_address)
      File "/usr/lib64/python2.7/SocketServer.py", line 321, in process_request
        self.finish_request(request, client_address)
      File "/usr/lib64/python2.7/SocketServer.py", line 334, in finish_request
        self.RequestHandlerClass(request, client_address, self)
      File "/usr/lib64/python2.7/SocketServer.py", line 651, in __init__
        self.finish()
      File "/usr/lib64/python2.7/SocketServer.py", line 710, in finish
        self.wfile.close()
      File "/usr/lib64/python2.7/socket.py", line 279, in close
        self.flush()
      File "/usr/lib64/python2.7/socket.py", line 303, in flush
        self._sock.sendall(view[write_offset:write_offset+buffer_size])
    error: [Errno 32] Broken pipe
    172.16.32.16 - - [06/Nov/2018 23:29:04] "OPTIONS / HTTP/1.0" 200 0
    Traceback (most recent call last):
      File "/usr/lib64/python2.7/wsgiref/handlers.py", line 86, in run
        self.finish_response()
      File "/usr/lib64/python2.7/wsgiref/handlers.py", line 128, in finish_response
        self.write(data)
      File "/usr/lib64/python2.7/wsgiref/handlers.py", line 212, in write
        self.send_headers()
      File "/usr/lib64/python2.7/wsgiref/handlers.py", line 270, in send_headers
        self.send_preamble()
      File "/usr/lib64/python2.7/wsgiref/handlers.py", line 194, in send_preamble
        'Date: %s\r\n' % format_date_time(time.time())
      File "/usr/lib64/python2.7/socket.py", line 324, in write
        self.flush()
      File "/usr/lib64/python2.7/socket.py", line 303, in flush
        self._sock.sendall(view[write_offset:write_offset+buffer_size])
    error: [Errno 104] Connection reset by peer

Brent Eagles (beagles)
Changed in tripleo:
status: New → Triaged
milestone: none → stein-3
assignee: nobody → Brent Eagles (beagles)
importance: Undecided → High
Changed in tripleo:
milestone: stein-3 → stein-rc1
Changed in tripleo:
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-heat-templates (master)

Reviewed: https://review.openstack.org/636380
Committed: https://git.openstack.org/cgit/openstack/tripleo-heat-templates/commit/?id=f4460a580d24a709a4b2dede807b57fa9ab24f2b
Submitter: Zuul
Branch: master

commit f4460a580d24a709a4b2dede807b57fa9ab24f2b
Author: Brent Eagles <email address hidden>
Date: Wed Mar 6 14:05:59 2019 -0330

    Run octavia-api under httpd

    octavia-api's cli app doesn't behave well with haproxy so let's run
    under apache and save ourselves some grief. Also adds cleanup for the
    octavia-api tls proxy in update and upgrade tasks if it was previously
    deployed.

    Also updates zuul layout for multinode job to track changes to new
    flattened octavia service files.

    Closes-Bug: #1815811

    Change-Id: Ied7cb31fbf1222694250e4769573bcbb82ba5bea

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

This issue was fixed in the openstack/tripleo-heat-templates 10.5.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.