telstra / open-kilda

OpenKilda is an open-source OpenFlow controller initially designed for use in a global network with high control-plane latency and a heavy emphasis on latency-centric data path optimisation.
Apache License 2.0
78 stars 53 forks source link

Hub & Spoke - Flow CRUD #472

Open carmine opened 6 years ago

carmine commented 6 years ago

The primary objective of this feature is to implement a hub and spoke version of Flow CRUD - ie a central workflow that issues commands to each component involved in setting up a Flow, maintaining a history of steps taken in the database. Additionally: deprecate sending messages to flow cache and to topology engine. Instead, save flow topology state directly in the db.

High Level Plan:

Arch/Design Work

Implement H&S Flow Create: The task order also represents the algorithm as well

Implement H&S Flow Delete: The task order also represents the algorithm as well

Implement H&S Flow PATH Update: The task order also represents the algorithm as well

Implement H&S Flow PATH Reroute:

Implement H&S Swap Flow PATHs

Implement H&S Swap Flow Endpoints

Implement H&S Partial Update (PATCH)

Implement H&S Sync Flow (Reinstall)

Implement H&S Delete multiple flows

Implement H&S Push/Unpush flow

FINALLY:

surabujin commented 6 years ago

Can we make a decision on https://github.com/telstra/open-kilda/issues/688 first? This is big chunk of new functionality. It will be extremely pity to implement it using old/existing way of communication.

carmine commented 6 years ago

Looking for initial design artifacts on July 11

sergii-iakovenko commented 5 years ago

Removing the following from the description as pre-h&s is completed:

Blocked by:

1127 Create java based DAO layer in front of Neo

561 Eliminate Cache topology

1128 Refactor out TPE for Flow stuff