Agent Group and Pluggable Status Drivers
** The refined BP has been moved to a new page **
See https:/
Neutron needs to maintain up-to-date information of its variant agents,
especially the health status of each agent, to apply proper operations on
them and provide stable services to end users. For example, schedulers
always make sure the agent is alive before assign tasks. HA periodically
checks agent failure to decide whether trigger a recovery operation.
Currently, this is done by agent heartbeat message, and DB persistence
of heartbeat information. Agent periodically sends heartbeat message to
neutron-server(by default every 30 seconds). Heartbeat timestamp and agent
configuration information is parsed on server side and written into DB.
When scheduler or HA needs to get agent status, those records should be
retrieved from DB and compared with agent_down_time. Neutron server cost
is not trivial and the cost increases when scale gets bigger. This mechanism
is extremely inefficient and not scalable.
A much more lightweight, scalable and reliable agent status monitoring
and querying mechanism is desired for neutron. We would like to see a
membership framework in neutron, to aggregate variant agents by type,
provide internal services such as membership registration/health status
check/group member querying, etc. And, it should come with pluggable
backend drivers, such as DB, zookeeper, memcached.
Please see spec for more details.
Blueprint information
- Status:
- Complete
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- Robin Wang
- Direction:
- Needs approval
- Assignee:
- Robin Wang
- Definition:
- Obsolete
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
- Armando Migliaccio
Related branches
Related bugs
Sprints
Whiteboard
Nov-09-2015(armax): If someone is interested in pursuing it, this must be re-submitted according to guidelines defined in [1]
[1] http://
-----------------
Gerrit topic: https:/
Addressed by: https:/
Spec for: Agent Group and Pluggable Status Drivers