neutron-lib/releasenotes/notes/rehome-common-rpc-5d84a9fe0faa71b7.yaml
Boden R a37d43018b rehome rpc and related plumbing
As shown in the history of this patch, along with the work in [1], we've
discussed rehoming neutron.common.rpc into lib a number of times before.
One of the main reasons we've decided not to rehome in the past is that
we'd hoped the neutron.common.rcp.BackingOffClient and related plumbing
could be put into oslo.messaging. However, it's 2 years later and that
still hasn't happened [2][3].

This patch proposes we just move forward with the rehome so that we can
begin to untangle the consumers [4]. There's no reason we can't
reiterate on this code in lib; it's no more difficult than in neutron.

This patch includes rehoming of:
- neutron.common.rpc, the only difference in the lib version is that
we dynamically add all neutron_lib.exceptions by default (_DFT_EXMODS).
- neutron.common.exceptions, but exceptions are broken out into their
respective exception modules rather than lumping all together in a
generic single module.
- The fake notifier and RPC fixture, without any real changes.
- A new runtime util method to dynamically load all modules for a
package.

For a sample neutron consumption patch see [5] that was tested with
PS10 herein.

[1] https://review.openstack.org/#/q/project:openstack/neutron-lib+message:rpc
[2] https://review.openstack.org/#/c/407722/
[3] https://bugs.launchpad.net/oslo.messaging/+bug/1667445
[4] http://codesearch.openstack.org/?q=from%20neutron.common%20import%20rpc
[5] https://review.openstack.org/#/c/579989/

Change-Id: I0052ba65973a993e088943056879bc6e982bd0b5
2018-07-12 13:13:21 -06:00

16 lines
785 B
YAML

---
features:
- The ``neutron.common.rpc`` module is now available as ``neutron_lib.rpc``
and automatically exposes all exception modules from
``neutron_lib.exceptions`` for RPC usage.
- Exceptions from ``neutron.common.exceptions`` are now available
in the ``neutron_lib.exceptions`` package whereupon exceptions are now
in their respective module (e.g. L3 exceptions are in
``neutron_lib.exceptions.l3``, etc.).
- The ``neutron.tests.fake_notifier`` is now available as
``neutron_lib.tests.unit.fake_notifier``.
- The ``neutron_lib.utils.runtime.list_package_modules`` function is now
available for listing all modules in a said package.
- The ``RPCFixture`` is now available in ``neutron_lib.fixtures`` for setting
up RPC based unit tests.