Agent Group and Pluggable Status Drivers

Registered by Robin Wang on 2015-03-30

** The refined BP has been moved to a new page **
See https://blueprints.launchpad.net/neutron/+spec/agent-group-and-tooz-driver

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
Completed by
Armando Migliaccio on 2015-11-09

Related branches

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://docs.openstack.org/developer/neutron/policies/blueprints.html

-----------------

Gerrit topic: https://review.openstack.org/#q,topic:bp/agent-group-and-status-drivers,n,z

Addressed by: https://review.openstack.org/168921
    Spec for: Agent Group and Pluggable Status Drivers

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.