Improve scalability by eliminating agent DB polling

Registered by Robert Kukura on 2012-05-01

The current openvswitch and linuxbridge plugins have agents on each compute node that periodically poll their DBs looking for relevant state changes. This requires a DB connection from each compute node, and polling results in significant average latency in responding to state changes. Nova's RPC mechanism, which is being moved to openstack-common and supports various messaging mechanisms (rabbitmq, qpid, zeromq), should be used for Quantum server<->agent communications in place of DB polling.

Blueprint information

Status:
Complete
Approver:
dan wendlandt
Priority:
High
Drafter:
Robert Kukura
Direction:
Approved
Assignee:
Gary Kotton
Definition:
New
Series goal:
Accepted for folsom
Implementation:
Implemented
Milestone target:
milestone icon 2012.2
Started by
Gary Kotton on 2012-05-17
Completed by
dan wendlandt on 2012-08-13

Related branches

Sprints

Whiteboard

Following everones comments we have:
https://docs.google.com/document/d/1MbcBA2Os4b98ybdgAw2qe_68R1NG6KMh8zdZKgOlpvg/edit

This task is based on common configuration and rpc code in openstack common. It is too risky for folsom 2

Gerrit topic: https://review.openstack.org/#q,topic:bp/scalable-agent-comms,n,z

Addressed by: https://review.openstack.org/9591
    RPC support for Linux Bridge Plugin and Agent

Addressed by: https://review.openstack.org/9487
    Enable quantum agents to work with global cfg.CONF

[Debo]: Awesome work. A few comments/questions:
* Do you think it might be good to have a publish mechanism from the agent to the controller (in which case you need a publish semantics)
* Might want to make the publish semantics flexible (maybe via extensions) for richer info exchange. Say we use lldp to discover uplinks and publish that to the controller.

Addressed by: https://review.openstack.org/10879
    RPC support for OVS Plugin and Agent

Gerrit topic: https://review.openstack.org/#q,topic:lb_scalable,n,z

Gerrit topic: https://review.openstack.org/#q,topic:bug/1035669,n,z

Gerrit topic: https://review.openstack.org/#q,topic:bp/non-polling-dhcp-impl,n,z

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.