===================================================================== Add the functionality to sync resources between Neutron and Nuage VSD ===================================================================== https://blueprints.launchpad.net/neutron/+spec/nuage-neutron-sync The purpose of this blueprint is to add functionality to sync resources between Neutron and Nuage VSD(Virtualized Services Directory). Problem description =================== If there is any inconsistency in the state of neutron and the VSD database, there is no way to sync the resources between them. Proposed change =============== The proposed change is to introduce support for state synchronization between neutron and VSD in the Nuage plugin In case Nuage VSD loses its database or the database is restored using a backup copy, there is a possibility that the resources in Neutron and VSD are not in sync and this can lead to unexpected behavior. The sync will run as part of Nuage plugin at regular intervals. Neutron is considered as the master. The sync logic will get the state from Neutron and will send it to VSD. VSD will compare this state with its own state and if there are less resources in VSD as compared to Neutron, the resources will be created in VSD. In case there are more resources in VSD, they will be deleted from VSD. Sync will be controlled by two config parameters "enable_sync" and "sync_interval". If the "enable_sync" parameter is set to true, the sync will start when Neutron server starts and will try to sync resources. The sync will run periodically at an interval specified for the "sync_interval" parameter. Assumption: 1. If the resource exists in VSD, all of its attributes are in sync with the corresponding Neutron resource. Alternatives ------------ None Data model impact ----------------- None REST API impact --------------- None Security impact --------------- None Notifications impact -------------------- None Other end user impact --------------------- None Performance Impact ------------------ None Other deployer impact --------------------- None Developer impact ---------------- None Implementation ============== Assignee(s) ----------- Primary assignee: sayaji15 Work Items ---------- * Modify the nuage plugin to add sync logic Dependencies ============ None Testing ======= Unit tests will be provided. Documentation Impact ==================== None References ========== None