[Openstack] Moving nova.rpc into openstack.common

Russell Bryant rbryant at redhat.com
Mon May 7 20:08:11 UTC 2012


On 05/07/2012 03:40 PM, Doug Hellmann wrote:
> The metering project will probably want to take advantage of this work.
> How far along is it, and how can we help?

I can speak to the nova.rpc part, at least.

I've been working on it some with hopes of having it done by folsom-1.
I would be happy to have help on it, though, as I have some other things
I'm working on at the same time.

Take a look at nova/rpc/*.py.  Anywhere you see an import from nova that
isn't nova.openstack.common is a dependency on nova that must be removed
before the code can move to openstack-common.  Here is what is left:

nova.rpc.amqp
  - nova.context
  - nova.exception
  - nova.log

nova.rpc.common
  - nova.exception
  - nova.log
  - nova.utils

nova.rpc.impl_fake
  - nova.context

nova.rpc.impl_qpid
  - nova.log


1) The uses of nova.exception should be pretty easy.  Wherever rpc is
defining its own exceptions, just make it not use the base nova
exception anymore.

2) nova.utils - I removed most of the nova.utils usage already.  What's
left is some json related stuff.  We need to add the equivalent to a new
openstack.common.jsonutils that can be used here (and wherever else it
is used in nova).  This shouldn't be too hard.

The next two I don't have quite as fresh in mind, but:

3) The uses of nova.context are for nova.context.RequestContext.  I
think there is something similar in openstack-common that may be able to
be used here.

4) nova.log - the logging done in openstack-common right now is just
using the Python logging module directly.  We could do that in rpc, I
guess.  We need to see if bypassing nova.log is going to be a big
problem or not.  I'd hate for this project to be dependent on figuring
out a new logging system in openstack-common.


If anyone wants to take part of this, let me know so we don't duplicate
efforts.

Thanks,

-- 
Russell Bryant




More information about the Openstack mailing list