lbaas: member create shouldnt walk through all the members across all pools
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Juniper Openstack | Status tracked in Trunk | |||||
R2.20 |
Won't Fix
|
High
|
Unassigned | |||
Trunk |
New
|
High
|
Rudra Rugge |
Bug Description
Member create on a pool walks through all the members across all pools which leads to neutron haproxy timeout when there are about 400 odd members across 150 pools.
Believe this happens as part of the quota check (though i had set quota_members to -1)
> /usr/lib/
-> obj_list = obj_getter(context, filters=
(Pdb) list
319 try:
320 obj_count_getter = getattr(plugin, count_getter_name)
321 return obj_count_
322 except (NotImplemented
323 obj_getter = getattr(plugin, "get_%s" % resources)
324 -> obj_list = obj_getter(context, filters=
325 return len(obj_list) if obj_list else 0
326
327
328 def register_
329 resources = []
(Pdb) down
> /usr/lib/
-> return self._member_
(Pdb) list
237
238 pool.del_
239 self._api.
240
241 def get_members(self, context, filters=None, fields=None):
242 -> return self._member_
243
244 def get_member(self, context, id, fields=None):
245 return self._member_
246
247 def create_member(self, context, member):
(Pdb)
tags: | added: scale |