This patch does a couple of things:
1) Remove the dependency of nova.rpc on nova.flags. This is a step
toward decoupling nova.rpc from the rest of nova so that it can be moved
to openstack-common.
2) Refactor nova.rpc so that a configuration object is passed around as
needed instead of depending on nova.flags.FLAGS.
This was done by avoiding changing the nova.rpc API as much as possible
so that existing usage of nova.rpc would not have to be touched. So,
instead, a config object gets registered, cached, and then passed into
the rpc implementations as needed. Getting rid of this global config
reference in nova.rpc will require changing the public API and I wanted
to avoid doing that until there was a better reason than this.
Change-Id: I9a7fa67bd12ced877c83e48e31f5ef7263be6815