Add the functionality to sync resources between Neutron and Nuage VSD¶
The purpose of this blueprint is to add functionality to sync resources between Neutron and Nuage VSD(Virtualized Services Directory).
If there is any inconsistency in the state of neutron and the VSD database, there is no way to sync the resources between them.
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.
Data model impact¶
REST API impact¶
Other end user impact¶
Other deployer impact¶
- Primary assignee:
Modify the nuage plugin to add sync logic
Unit tests will be provided.