OpenStack Block Storage (Cinder)
Go to file
Flavio Percoco bcd9f363ff Port to oslo.messaging
The oslo.messaging library takes the existing RPC code from oslo and
wraps it in a sane API with well defined semantics around which we can
make a commitment to retain compatibility in future.

The patch is large, but the changes can be summarized as:

    * oslo.messaging>=1.3.0a4 is required; a proper 1.3.0 release will be
    pushed before the icehouse release candidates.

    * The new rpc module has init() and cleanup() methods which manage the
    global oslo.messaging transport state. The TRANSPORT and NOTIFIER
    globals are conceptually similar to the current RPCIMPL global,
    except we're free to create and use alternate Transport objects
    in e.g. the cells code.

    * The rpc.get_{client,server,notifier}() methods are just helpers
    which wrap the global messaging state, specifiy serializers and
    specify the use of the eventlet executor.

    * In oslo.messaging, a request context is expected to be a dict so
    we add a RequestContextSerializer which can serialize to and from
    dicts using RequestContext.{to,from}_dict()

    * The allowed_rpc_exception_modules configuration option is replaced
    by an allowed_remote_exmods get_transport() parameter. This is not
    something that users ever need to configure, but it is something
    each project using oslo.messaging needs to be able to customize.

    * We maintain a global NOTIFIER object and create specializations of
    it with specific publisher IDs in order to avoid notification driver
    loading overhead.

    * rpc.py contains transport aliases for backwards compatibility
    purposes. setup.cfg also contains notification driver aliases for
    backwards compat.

    * The messaging options are moved about in cinder.conf.sample because
    the options are advertised via a oslo.config.opts entry point and
    picked up by the generator.

    * We use messaging.ConfFixture in tests to override oslo.messaging
    config options, rather than making assumptions about the options
    registered by the library.

Implements blueprint: oslo-messaging

Change-Id: Ib912809428d92e788558439e2d85b51272ebefdd
2014-03-10 17:03:03 +01:00
bin Port to oslo.messaging 2014-03-10 17:03:03 +01:00
cinder Port to oslo.messaging 2014-03-10 17:03:03 +01:00
doc Drop Chance/SimpleScheduler Implementation 2014-01-09 18:29:27 +08:00
etc/cinder Port to oslo.messaging 2014-03-10 17:03:03 +01:00
tools Sync latest Oslo config code for i18n 2014-03-06 10:07:22 -06:00
.coveragerc Add .coveragerc to show proper coverage statistics. As in other openstack projects. 2013-05-15 03:40:07 -07:00
.gitignore Updates .gitignore 2013-11-28 09:52:23 +00:00
.gitreview Initial fork out of Nova. 2012-05-03 10:48:26 -07:00
.mailmap Update my mailmap 2013-10-25 16:29:14 +08:00
.testr.conf Fix up the test framework 2013-06-14 14:02:17 +00:00
babel.cfg Initial fork out of Nova. 2012-05-03 10:48:26 -07:00
CONTRIBUTING.md Add CONTRIBUTING file. 2012-11-22 12:47:49 -07:00
HACKING.rst Update HACKING.rst with regard to mock usage 2014-01-21 18:01:02 +02:00
LICENSE Initial fork out of Nova. 2012-05-03 10:48:26 -07:00
MANIFEST.in Use setuptools-git. 2012-08-10 11:56:00 -04:00
openstack-common.conf Port to oslo.messaging 2014-03-10 17:03:03 +01:00
pylintrc Initial fork out of Nova. 2012-05-03 10:48:26 -07:00
README.rst Adding helpful URL links to README.rst and HACKING.rst 2013-12-27 19:29:17 -06:00
requirements.txt Port to oslo.messaging 2014-03-10 17:03:03 +01:00
run_tests.sh Sync latest Oslo config code for i18n 2014-03-06 10:07:22 -06:00
setup.cfg Port to oslo.messaging 2014-03-10 17:03:03 +01:00
setup.py Updated from global requirements 2013-10-10 20:24:27 +00:00
test-requirements.txt Updated from global requirements 2014-02-28 17:34:53 +00:00
tox.ini Sync latest Oslo config code for i18n 2014-03-06 10:07:22 -06:00

The Choose Your Own Adventure README for Cinder

You have come across a storage service for an open cloud computing service. It has identified itself as "Cinder." It was abstracted from the Nova project.

To monitor it from a distance: follow @openstack on twitter.

To tame it for use in your own cloud: read http://docs.openstack.org

To study its anatomy: read http://cinder.openstack.org

To dissect it in detail: visit http://github.com/openstack/cinder

To taunt it with its weaknesses: use http://bugs.launchpad.net/cinder

To watch it: http://jenkins.openstack.org

To hack at it: read HACKING.rst