Use oslo.messaging instead of RPC code from oslo-incubator

Registered by Ihar Hrachyshka

Oslo.messaging is now out of the oslo-incubator and ships its own RPC implementation inside oslo.messaging package. Neutron needs to migrate from using its own copy of RPC code copied from obsolete oslo-incubator to using oslo.messaging.

Blueprint information

Status:
Complete
Approver:
Mark McClain
Priority:
High
Drafter:
Ihar Hrachyshka
Direction:
Approved
Assignee:
Ihar Hrachyshka
Definition:
Approved
Series goal:
Accepted for juno
Implementation:
Implemented
Milestone target:
milestone icon 2014.2
Started by
Kyle Mestery
Completed by
Ihar Hrachyshka

Related branches

Sprints

Whiteboard

30-Jun (ihrachyshka): the last bits of the port arrived to neutron master, so marking the BP as implemented.

9-Jun (mestery): This will land in Juno-2.

19-Feb (markmcclain): This change was not submitted by the Icehouse-3 code proposal deadline. Deferring until Juno.

Some ideas on how to proceed with migration can be found at: https://review.openstack.org/#/c/39929/

Another (glance) migration patch is here: https://review.openstack.org/#/c/57678/

===

WARNING: this is Work-In-Progress, no final patch in the very near future.

Gerrit topic: https://review.openstack.org/#q,topic:bp/oslo-messaging,n,z

Addressed by: https://review.openstack.org/75861
    Port to oslo.messaging

Gerrit topic: https://review.openstack.org/#q,topic:oslo-messaging-split,n,z

Addressed by: https://review.openstack.org/96788
    Added oslo.messaging to requirements.txt (WIP)

Addressed by: https://review.openstack.org/96789
    Added oslo.messaging based RpcProxy class (WIP)

Addressed by: https://review.openstack.org/96790
    Introduced transition RPC exception types (WIP)

Addressed by: https://review.openstack.org/96791
    Monkey patch threading module as early as possible (WIP)

Addressed by: https://review.openstack.org/96792
    Introduce RpcCallback class (WIP)

Addressed by: https://review.openstack.org/97289
    Copy-paste RPC Service class for backwards compatibility (WIP)

Addressed by: https://review.openstack.org/97290
    Introduced rpc_compat.create_connection() (WIP)

Addressed by: https://review.openstack.org/97291
    Port to oslo.messaging (WIP)

Addressed by: https://review.openstack.org/97343
    Added .iteritems() to Context (WIP)

Addressed by: https://review.openstack.org/97505
    Configure agents using neutron.common.config.parse (WIP) Configure agents using neutron.common.config.parse

Addressed by: https://review.openstack.org/97506
    Don't instantiate RPC clients on import

Addressed by: https://review.openstack.org/97623
    Make sure we call BaseTestCase.setUp() first

Addressed by: https://review.openstack.org/98807
    Don't explicitly call .stop() on mock.patch objects

Addressed by: https://review.openstack.org/98808
    Renamed start_rpc_listener -> start_rpc_listeners

Addressed by: https://review.openstack.org/98809
    Renamed consume_in_thread -> consume_in_threads

Addressed by: https://review.openstack.org/98810
    Renamed argument for create_consumer[s]

Addressed by: https://review.openstack.org/98811
    Removed create_rpc_dispatcher methods

Addressed by: https://review.openstack.org/98812
    Removed 'rpc' and 'notifier' incubator modules

Addressed by: https://review.openstack.org/98813
    Moved rpc_compat.py code back into rpc.py

Addressed by: https://review.openstack.org/98850
    add oslo.messaging implementation

Addressed by: https://review.openstack.org/99686
    Removed local modification in incubator code

Addressed by: https://review.openstack.org/100013
    Added notifier entry points for backward compatibility

Addressed by: https://review.openstack.org/100014
    Updated neutron.conf to reflect new RPC options

Addressed by: https://review.openstack.org/101485
    Pass serializer to oslo.messaging Notifier

Addressed by: https://review.openstack.org/102044
    Synced log module and its dependencies from olso-incubator

Addressed by: https://review.openstack.org/115976
    Refresh rpc_backend values to those from oslo.messaging

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.