Neutron-LBaaS v2: LB stuck in PENDING_UPDATE when adding a member to a pool with no listeners

Bug #1572342 reported by Franklin Naval
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
octavia
Fix Released
High
Lingxian Kong

Bug Description

1. Create a LB.
2. Create a Pool. (Do NOT create a listener.)
3. Add a member to the Pool.
4. Check LB status.

Result: LB is stuck in provision_status: "PENDING_UPDATE" for more than an hour.

Expected: Either throw an error to the user when adding a member to a pool that has no listener or make it such that the state transitions quickly.

note: I've tested this with a pool that has a listener. Adding a member is relatively fast (< 1 minute).

Tags: lbaasv2
description: updated
Revision history for this message
Doug Wiegley (dougwig) wrote :

Not an issue with other drivers, moving.

affects: neutron → octavia
Revision history for this message
Michael Johnson (johnsom) wrote :
Changed in octavia:
status: New → Confirmed
importance: Undecided → High
Revision history for this message
Michael Johnson (johnsom) wrote :

Reproduced this with the following steps:
1. neutron lbaas-loadbalancer-create --name act-stby-rr-1 private-subnet
2. neutron lbaas-pool-create --name pool1 --lb-algorithm ROUND_ROBIN --loadbalancer act-stby-rr-1 --protocol HTTP --session-persistence type=SOURCE_IP
3. neutron lbaas-member-create --subnet private-subnet --address 10.0.0.3 --protocol-port 80 pool1

This led to the error in the attached o-cw.log

Revision history for this message
Lingxian Kong (kong) wrote :

Hi, Michael, I volunteer to fix the bug. But first, I have a question, after walking through the code, I didn't find any place that we add port to amphora, when adding member to the shared pool. If so, how can the amphora do 'redirect_to_pool' policy?

I only found code here: https://github.com/openstack/octavia/blob/master/octavia/controller/worker/tasks/network_tasks.py#L72, only add ports related to members of default pool.

Changed in octavia:
assignee: nobody → Lingxian Kong (kong)
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/311939

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

Reviewed: https://review.openstack.org/311939
Committed: https://git.openstack.org/cgit/openstack/octavia/commit/?id=6f94a41e0686e06d73705e8c07fc1ac47f5cd0e4
Submitter: Jenkins
Branch: master

commit 6f94a41e0686e06d73705e8c07fc1ac47f5cd0e4
Author: Lingxian Kong <email address hidden>
Date: Tue May 3 18:58:13 2016 +1200

    Attach port to amphora when adding member to shared pool

    When adding member to shared pool of load balancer(in spite of this
    load balancer has listeners or not), it should plug the member port
    into the amphorae if it isn't already plugged.

    Change-Id: Ibe4c05fcb8a416caf931e55ab2233220b80613cb
    Closes-Bug: #1572342

Changed in octavia:
status: In Progress → Fix Released
Revision history for this message
Franklin Naval (franknaval) wrote :

I verified that the patch indeed fixes the issue.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/octavia 0.9.0

This issue was fixed in the openstack/octavia 0.9.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.