Consume notifications via messaging API

Registered by Sandy Walsh on 2013-04-24

The RPC library in Oslo currently has no support for consuming notifications (as ceilometer needs). It's currently a hack and it ack()'s the event too early and always. This needs to change to remove the "method" structure, add versioning and not ack() until the event has been processed.

Blueprint information

Status:
Complete
Approver:
Mark McLoughlin
Priority:
Low
Drafter:
Mark McLoughlin
Direction:
Approved
Assignee:
Sandy Walsh
Definition:
Approved
Series goal:
Accepted for havana
Implementation:
Implemented
Milestone target:
milestone icon 2013.2
Started by
Sandy Walsh on 2013-08-06
Completed by
Mark McLoughlin on 2013-08-20

Related branches

Sprints

Whiteboard

targeting to havana-2, since that's what the rest of the messaging API work is being targeted to -- markmc

----
Hmm, no real api per se, just the consuming counterpart to
https://github.com/openstack/nova/blob/master/nova/openstack/common/rpc/amqp.py#L658

And perhaps another method to ack() the message. (poorman two-phase commit)

Currently the ack is done in the rpc framework
https://github.com/openstack/nova/blob/master/nova/openstack/common/rpc/impl_kombu.py#L171
This is what ceilometer's collector is using, but with some hacks to strip out the "method" stuff.

But notifications aren't rpc calls (they don't have methods or parameters, just a payload)
 -- sandy
----

We could do with an API proposal :-) -- markmc

---

I'm implementing this in a separate service within Ceilometer currently (not part of Olso). Perhaps you can use it when you get to the other refactorings? -Sandy

The "method" part was already removed from another branch. The ack() handling is here:
https://review.openstack.org/#/c/37741/4

---

This is implemented by:

https://review.openstack.org/#/c/33703/
https://review.openstack.org/#/c/41987/

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.