Pluggable Database/Message Broker/Distributed Coordination Services

Registered by Valentin Sinitsyn

OpenContrail comes with a set of external infrastructure dependencies, such as a database (Cassandra), a message broker (RabbitMQ) and a distributed coordination service (ZooKeeper). Users thus need to accept indirect costs of running these services on premises (administration, maintenance, updates etc).

Many enterprise standardize on some infrastructure stack to cut these costs down. This is especially true for public clouds where a managed database and a message queue are usually provided. Thus, it makes sense for OpenContrail to re-use these infrastructure choices rather than enforcing its own.

The work is already undergoing to let users choose between two configuration databases: Cassandra and RDBMS (MySQL). The scope of this blueprint is to:
* Amend this work so more databases can be easily added in future
* Extend it to the two remaining dependencies, namely RabbitMQ and ZooKeeper.

Analytics is out of the scope of this blueprint. Analytics comes with its own set of the external dependencies (Kafka and Redis are major ones), but we feel it's feasible to see the shape of analytics by the end of OC 5.0 release cycle before doing any changes to it.

Blueprint information

Status:
Complete
Approver:
Sachin Bansal
Priority:
Medium
Drafter:
Valentin Sinitsyn
Direction:
Approved
Assignee:
Valentin Sinitsyn
Definition:
Obsolete
Series goal:
None
Implementation:
Deferred
Milestone target:
None
Completed by
Joseph Gasparakis

Related branches

Sprints

Whiteboard

Per https://lists.tungsten.io/g/dev/message/70 Yandex has identified and alternate approach and will not be pursuing completion of this blueprint.

Milestone target: 5.1 or above
Approved by TSC

Corresponding tracking bug: https://bugs.launchpad.net/opencontrail/+bug/1730577
Spec review: https://review.opencontrail.org/#/c/39163/

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.