[Bug 2067441] Re: Loadbalancer is stuck with PENDING_UPDATE state on member update API
Edward Hope-Morley
2067441 at bugs.launchpad.net
Tue Jul 2 10:14:59 UTC 2024
** Also affects: cloud-archive
Importance: Undecided
Status: New
** Also affects: cloud-archive/yoga
Importance: Undecided
Status: New
** Also affects: cloud-archive/caracal
Importance: Undecided
Status: New
** Also affects: cloud-archive/zed
Importance: Undecided
Status: New
** Also affects: cloud-archive/bobcat
Importance: Undecided
Status: New
** Also affects: cloud-archive/antelope
Importance: Undecided
Status: New
** Also affects: octavia (Ubuntu)
Importance: Undecided
Status: New
** Also affects: octavia (Ubuntu Noble)
Importance: Undecided
Status: New
** Also affects: octavia (Ubuntu Oracular)
Importance: Undecided
Status: New
** Also affects: octavia (Ubuntu Mantic)
Importance: Undecided
Status: New
** Also affects: octavia (Ubuntu Jammy)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to Ubuntu Cloud Archive.
https://bugs.launchpad.net/bugs/2067441
Title:
Loadbalancer is stuck with PENDING_UPDATE state on member update API
Status in Ubuntu Cloud Archive:
New
Status in Ubuntu Cloud Archive antelope series:
New
Status in Ubuntu Cloud Archive bobcat series:
New
Status in Ubuntu Cloud Archive caracal series:
New
Status in Ubuntu Cloud Archive yoga series:
New
Status in Ubuntu Cloud Archive zed series:
New
Status in octavia:
In Progress
Status in octavia package in Ubuntu:
New
Status in octavia source package in Jammy:
New
Status in octavia source package in Mantic:
New
Status in octavia source package in Noble:
New
Status in octavia source package in Oracular:
New
Bug description:
By mistake, I sent wrong request with duplicated ip, port compbination through the Batch Update Members API(ver 2023.1).
https://docs.openstack.org/api-ref/load-balancer/v2/#batch-update-members
For example :
192.0.2.16:80 Member already exists, and request data like follows
{
"members": [
{
"subnet_id": "xxxxxxx",
"address": "192.0.2.16",
"protocol_port": 80
}, {
"subnet_id": "xxxxxxx",
"address": "192.0.2.16",
"protocol_port": 80
}
]
}
After the request, the status of Loadbalancer does not change from
PENDING_UPDATE.
When checking the source code, there is no logic to check for
duplicates.
In the controller logic(member.py), members are classified into
new_members/updated_members/deleted_member, but the updated_members
data is being passed as is with duplicates, so this is suspected to be
the cause of the problem.
## log : 33fe25ab-5477-4787-a8e1-f657376b0ead is duplicated
May 29 04:14:32 ubuntu octavia-worker[123317]: INFO octavia.controller.queue.v2.endpoints [-] Batch updating members: old='[]', new='[]', updated='['825dbebc-da79-4f88-bf48-0e3e63a09d90', '33fe25ab-5477-4787-a8e1-f657376b0ead', '33fe25ab-5477-4787-a8e1-f657376b0ead']'...
May 29 04:14:32 ubuntu octavia-worker[123317]: ERROR oslo_messaging.rpc.server [-] Exception during message handling: taskflow.exceptions.Duplicate: Atoms with duplicate names found: ['octavia-mark-member-active-indb-33fe25ab-5477-4787-a8e1-f657376b0ead']
FYI, There is validation logic for new_members.
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/2067441/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list