yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #19210
[Bug 1358258] Re: Should check if haproxy process alive when collecting state
We need to consider 2 things here:
1) Existing lbaas code is going through major rework, so the haproxy driver code most probably will become obsolete soon.
2) There is a blueprint on child process monitoring (agent-child-processes-status) that needs to land first so solution could be unified.
Anyway, I'd suggest to track upcoming lbaas code and make sure this
issue is fixed in the future.
Marking this as Won't fix.
** Tags added: lbaas
** Changed in: neutron
Status: New => Won't Fix
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1358258
Title:
Should check if haproxy process alive when collecting state
Status in OpenStack Neutron (virtual network service):
Won't Fix
Bug description:
Lb agent collects the states of pools in a periodical method
"collect_stats". When one haproxy process crashes, driver.get_stats
returns a dictionary like:
{ members: {}}
so self.plugin_rpc.update_pool_states will be executed without raising
an exception. As a result, the crashed haproxy process won't be
restarted.
def collect_stats(self, context):
for pool_id, driver_name in self.instance_mapping.items():
driver = self.device_drivers[driver_name]
try:
stats = driver.get_stats(pool_id)
if stats:
self.plugin_rpc.update_pool_stats(pool_id, stats)
except Exception:
LOG.exception(_('Error updating statistics on pool %s'), pool_id)
self.needs_resync = True
I think we need to check if the haproxy process is alive in
"collect_stats", and set needs_resync to false when some haproxy
processes crash to restart those processes.
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1358258/+subscriptions
References