active/standby is broken with shared pools/L7 patches

Bug #1547233 reported by Michael Johnson
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
octavia
Fix Released
Critical
Stephen Balukoff

Bug Description

The create listener flow is broken and causes active/standby load balancers to fail to create.

The problem is in controller_worker.py:189 where we are passing listener and listeners into the flow. A peer port is created on listener, but listeners does not get updated and the incorrect data is pushed to the amphora.

See listener_flows.py:27 for the flow and the issue.

Revision history for this message
Stephen Balukoff (sbalukoff) wrote :

Yep-- looking closely at this, it appears something that broke with the shared_pools patch. The fix I create is going to be in a new patch set that I insert in the L7 chain prior to the L7 schema / database model update (since the other patches prior to that one are also shared pools bugfixes).

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

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

Changed in octavia:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to octavia (master)

Reviewed: https://review.openstack.org/282288
Committed: https://git.openstack.org/cgit/openstack/octavia/commit/?id=1b992d1e1236016f77fbea3aa4b7060251f797e0
Submitter: Jenkins
Branch: master

commit 1b992d1e1236016f77fbea3aa4b7060251f797e0
Author: Stephen Balukoff <email address hidden>
Date: Fri Feb 19 03:19:22 2016 -0800

    Assign peer_port on listener creation

    The introduction of shared_pools broke one of the flows for
    assigning the listener peer_port. This went unnoticed for a little
    while since this is presently only used in active-standby
    topologies, and we don't have any scenario tests right now which
    exercise active-standby regularly.

    In looking to fix this flow, I realized that there's no reason we
    can't assign the listener peer_port when the listener object is
    created in the database. By doing this, we eliminate the need for
    a couple controller worker database tasks and simplify the
    listener creation flow.

    This patch, therefore, updates the repository code to assign the
    peer_port on listener creation, and eliminates the now redundant
    controller worker database tasks and simplifies the create listener
    flow.

    Change-Id: I0c15dfa154c7cd57f1626945bb76c0ac0b9de071
    Closes-Bug: 1547233

Changed in octavia:
status: In Progress → Fix Released
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.