New messaging API

Registered by Mark McLoughlin on 2012-08-01

Before any API can move out of "incubation" in openstack-common, we should be confident in our ability to evolve the API and implementation without breaking backwards compatibility.

To gain this confidence, we should carefully review each of the exposed public interfaces to be sure it makes long term sense.

Things to watch out for:

  * Implementation details exposed in the API
  * cfg options which may not make sense long term
  * Unused APIs
  * API design which makes future additions difficult

Blueprint information

Status:
Complete
Approver:
Mark McLoughlin
Priority:
High
Drafter:
Mark McLoughlin
Direction:
Approved
Assignee:
Mark McLoughlin
Definition:
Approved
Series goal:
Accepted for havana
Implementation:
Implemented
Milestone target:
milestone icon 2013.2
Started by
Mark McLoughlin on 2012-08-01
Completed by
Mark McLoughlin on 2013-08-13

Related branches

Sprints

Whiteboard

I think 1.2.0a3 is pretty much feature complete for Havana, but it's not well tested aside from unit tests at this stage

http://tarballs.openstack.org/oslo.messaging/oslo.messaging-1.2.0a3.tar.gz

---

Latest version here: https://github.com/markmc/oslo.messaging

---

Detailed writeup : https://wiki.openstack.org/wiki/Oslo/Messaging
etherpad: https://etherpad.openstack.org/HavanaOsloMessaging

---

First cut proposal of the API structure https://github.com/markmc/oslo-incubator/commit/1f2f7fab

Settled on targeting this to havana-2 at this meeting http://eavesdrop.openstack.org/meetings/oslo/2013/oslo.2013-05-03-14.01.html -- markmc

---

I'm filing bugs tagged with rpc-api-review - https://bugs.launchpad.net/oslo/+bugs?field.tag=rpc-api-review

---

Projects currently using the RPC API - nova, cinder, quantum, ceilometer, heat

Some notes/questions:

 * Why isn't glance importing rpc for notifiers?
 * create_worker() is only used by ceilometer - is it generic enough?

---

WIP patch to port Nova to the new API: https://review.openstack.org/#/c/39929/

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.