Add RPC based ServiceGroup driver

Registered by Russell Bryant

Once the ServiceGroup API has landed, we will first have a db based backend, which implements service discovery using the database just as before. There is also work being done to allow zookeeper as a backend (https://blueprints.launchpad.net/nova/+spec/zk-service-heartbeat). This project is to investigate and implement an rpc based driver that is somewhat of a middle ground between these two options. It would provide better performance than the db backend, but without the added zookeeper dependency.

Blueprint information

Status:
Complete
Approver:
Russell Bryant
Priority:
Low
Drafter:
Russell Bryant
Direction:
Needs approval
Assignee:
None
Definition:
Obsolete
Series goal:
None
Implementation:
Started
Milestone target:
None
Started by
Russell Bryant
Completed by
John Garbutt

Related branches

Sprints

Whiteboard

Related to: https://blueprints.launchpad.net/nova/+spec/zk-service-heartbeat

When i started looking at this it was more complex than I thought. The service related db access is not completely abstracted by the servicegroup API. Only the heartbeat part is. In that case, it's not even clear that an rpc based driver for this API is a win of any kind. --Russell

Gerrit topic: https://review.openstack.org/#q,topic:bp/rpc-based-servicegroup-driver,n,z

Addressed by: https://review.openstack.org/22774
    Add Service heartbeat driver with RPC.

Addressed by: https://review.openstack.org/25200
    Add Service heartbeat driver with RPC.

Addressed by: https://review.openstack.org/28253
    Add Service heartbeat driver with RPC.

* Brian pointed that a rpc call is slow and rpc servicegroup driver shoud have a cache.
   What do you think about that? > Russell

Unapproved - please re-submit via nova-spec --johnthetubagy (20th March 2014)Related to: https://blueprints.launchpad.net/nova/+spec/zk-service-heartbeat

When i started looking at this it was more complex than I thought. The service related db access is not completely abstracted by the servicegroup API. Only the heartbeat part is. In that case, it's not even clear that an rpc based driver for this API is a win of any kind. --Russell

Gerrit topic: https://review.openstack.org/#q,topic:bp/rpc-based-servicegroup-driver,n,z

Addressed by: https://review.openstack.org/22774
    Add Service heartbeat driver with RPC.

Addressed by: https://review.openstack.org/25200
    Add Service heartbeat driver with RPC.

Addressed by: https://review.openstack.org/28253
    Add Service heartbeat driver with RPC.

* Brian pointed that a rpc call is slow and rpc servicegroup driver shoud have a cache.
   What do you think about that? > Russell

Unapproved - please re-submit via nova-spec --johnthetubagy (20th March 2014)

This blueprint is not complete after a good year or so, marking as Obsolete to tidy up the Nova backlog. --johnthetubaguy (20th April 2014)

(?)

Work Items

Work items:
Implement the driver: DONE
Basic capability test: DONE
Implement unit tests: DONE
Rebase on base RPC API (Change Ia8838faf: Move get_backdoor_port to base rpc API.): DONE
tox -epy27: DONE
tox -ecover: DONE
tox -epep8: DONE

This blueprint contains Public information 
Everyone can see this information.