Deprecate kombu as default rpc mechanism

Registered by Erica Windisch

Historically, it seems that the Kombu driver is default because it existed before all others, before there was an abstraction. With multiple implementations now available, it may be time for a change.

Why?
* A default skews the practical testing scenarios, ensuring maturity of one driver over others.
* The kombu driver does not work "out of the box", so it is no more reasonable as a default than impl_fake.
* The RPC code is now in openstack-common, so addressing this later will only create additional technical debt.

In Grizzly, we will allow projects to deprecate the choice of Kombu as the default so that it may be removed in a future release.

Blueprint information

Status:
Not started
Approver:
Mark McLoughlin
Priority:
Medium
Drafter:
Erica Windisch
Direction:
Approved
Assignee:
Erica Windisch
Definition:
Drafting
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

Discussion happened here: http://lists.openstack.org/pipermail/openstack-dev/2012-August/thread.html#445

By the end, I was more-or-less persuaded: http://lists.openstack.org/pipermail/openstack-dev/2012-August/000454.html

I think this becomes important as part of https://blueprints.launchpad.net/oslo/+spec/rpc-api-review as we prepare for a library release of this code - once we do a library release, it becomes much hard to change to "no default"

---

Concretely, the things we need here are:

  - An API which projects can use to set a default if they wish
  - A way for projects to warn users relying on the default of kombu, making it clear that the default is deprecated and will be removed
  - Remove the default in Oslo, mark the option as required

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.