Sync mechanism between Neutron and Nuage VSD
This spec describes in brief the mechanism to sync state between Neutron and Nuage VSD Change-Id: I1ba823d15ef42c85165e5831e7d4b28dcd3fc6b9
This commit is contained in:
parent
9efb2b5fa9
commit
749fc1f25b
118
specs/juno/nuage-neutron-sync.rst
Normal file
118
specs/juno/nuage-neutron-sync.rst
Normal file
@ -0,0 +1,118 @@
|
||||
=====================================================================
|
||||
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
|
Loading…
x
Reference in New Issue
Block a user