Alternative RPC layer implementation

Registered by Renat Akhmerov

We need to be able not to use oslo.messaging all the time, if needed, for RPC communications. Basically, we can just implement interface from mistral/engine1/rpc.py without using oslo.messaging, for example using RabbitMQ or ZeroMQ directly.

The main thing here is to make it convenient and flexible so that we could switch between them using configuration option(s).

Blueprint information

Status:
Complete
Approver:
Renat Akhmerov
Priority:
High
Drafter:
Renat Akhmerov
Direction:
Approved
Assignee:
Dawid Deja
Definition:
Approved
Series goal:
Accepted for newton
Implementation:
Implemented
Milestone target:
milestone icon newton-2
Started by
Nikolay Makhotkin
Completed by
Renat Akhmerov

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/mistral-alternative-rpc,n,z

Addressed by: https://review.openstack.org/194117
    New RPC layer implementation

Addressed by: https://review.openstack.org/197561
    Adding OsloRPC server and client

Addressed by: https://review.openstack.org/197562
    Make RPC implementation configurable

Addressed by: https://review.openstack.org/197563
    Integrating new RPC layer with Mistral

Addressed by: https://review.openstack.org/330483
    Add tests for Kombu driver

Addressed by: https://review.openstack.org/336548
    Enable 'at-least-once' and 'at-most-once' delivery modes in RPC layer

Addressed by: https://review.openstack.org/339113
    Enable 'at-least-once' and 'at-most-once' delivery modes in Engine

Addressed by: https://review.openstack.org/340450
    Enable end user to use both delivery modes

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.