Federation
Project type: Main
An application may need to communicate with different ODL clusters. This happens mostly in use cases where there are different ODL domains deployed, for example, in multiple PODs of a data center. Such deployments require that ODL clusters co-operate with other applications. The federation project helps form a group of different ODL clusters and enables communication between them. It also enables them to exchange their state if possible:
- Initial (full) synchronization between remote clusters
- Publishing state updates between clusters while preserving event ordering and possibly allowing data transformation and filtering
- Subscribing to state updates from remote clusters
The federation service is intended to complement other services such as Messaging4Transport and the conceptual data tree. So it refers to services that are focused on sharing states between ODL clusters (and potentially other systems) without the need for any transformation, filtering, or event ordering.
One of the first application use cases was NetVirt federation for the purpose of neutron network federation.
The following is a high-level diagram of the relationship between the federation service, other ODL services, MD-SAL, and state sharing mechanisms such as Messaging4Transport and the conceptual data tree: