Introduce a ifmap dependency manager

This patch is a part of the SNAT
and will be leveraged by the service
instance class that is going to be introduced
in a next patch.

Change-Id: I22c61f9b1de5778285327664572a88f597470060
Authored-by: Pedro Marques <roque@juniper.net>
Co-Authored-By: Sylvain Afchain <sylvain.afchain@enovance.com>
Add a service instance and namespace manager for SNAT

Change-Id: I5dc1cab80e9988c42e5f2526ceed924bee86cafb
Fix some SNAT issues

This patch fixes some issues and
add a unit test related to the fix.

Change-Id: I4ccb65960e2d7892d2a34724df34e3f75d1385a8
bfd: schema: added IETF BFD as defined in RFC5880

Change-Id: Iffba8ee97309a5342c965c542fdf25238801db39
Signed-off-by: Mateusz Zalega <mateusz.zalega@codilime.com>
bfd: schema: added a schema for project's BFD data.

bfd-session element is linked with bgp-router via bfd-session-enabled link,
making BGP session monitoring possible.

Change-Id: I4e97403dd3a43327695b7f823902689c0cb0fcf6
Signed-off-by: Mateusz Zalega <mateusz.zalega@codilime.com>
Defer delete of peer till its reference is removed from RTGroupManager

Change-Id: I0bcfb3be20a3b01ae895badd46285fee4ee6affa
On hitting max pending updates to rabbit (via configurable knob rabbit_max_pending_updates) refuse to do stateful changes (put/post/del)
Add unit test for this.

Change-Id: Ia7965626d840adda23dc16903a8afe1556bd1f83
use right var in reporting exception in ref_update

Change-Id: I3b00a9c14c1f3993b0f1bf673cff28ae14030279
IP allocation starts from reverse

After api server is restarted, the IP allocated
to a port starts from the reverse direction.

Change-Id: Ic16894e89aafb0d4fced2e03201e3875d7f1510a
Closes-bug: #1336722
Bug fixes for 2930 ,2855

Change-Id: I68abf200d0701b619539a692981ada4b367f2dab
When api-server starts up, on connecting to rabbitmq, delete old-q which might have accumulated already handled updates (in resync step).
On temporary disconnnect + re-establish queue will remain and any updates that happened in the window will be processed.

Change-Id: Ic398486f5fba8a3b397223184d2fc14ba79c57ef
sanity fix

Change-Id: I1264290cb3b228d5febb59a8da7363814bec3f2c
return router:external as part of network dictionary

Change-Id: I0368d3da26a2c14772b33f29598550401e0bed6c
Merge "Introduce a ifmap dependency manager"
Adding UT for Stats prefix-suffix query
Adding StatWalker code for generic parsing of StatOracle structures
Address review comments

minor fix for stats prefix-suffix test
Change-Id: Ib1a821502d4858da1d5508823abd8f1a4e19c03d
BgpConfig code is too aggressive in treating nodes as deleted.

BgpPeers sometimes do not come up when repeatedly doing delete
and add in the bgp_stress_test via [DELETE|ADD]_BGP_PEER events.

Root cause is that the config code does not look at IFMap nodes
that have no neighbors in the graph i.e. it considers them to
be deleted.  This can cause a problem if a bgp-router node is
added and processed before parent link to the routing-instance
has been processed.  In this case, the BgpProtocolConfig that
corresponds to the bgp-router is not created.

Fix is to not consider IFMap nodes without neighbors as deleted.

Also fix minor issue wherein the creation of a BgpPeeringConfig
would get logged as a create and an update.

Change-Id: I44c1d6de17a7a495cc18a5ddd20a05dde8b8b3fb
Merge "When api-server starts up, on connecting to rabbitmq, delete old-q which might have accumulated already handled updates (in resync step). On temporary disconnnect + re-establish queue will remain and any updates that happened in the window will be processed."
Merge "Adding UT for Stats prefix-suffix query Adding StatWalker code for generic parsing of StatOracle structures Address review comments"
Merge "Bug fixes for 2930 ,2855"
Add basic tests for adding protobuf receiver in collector using
self describing messages.

Change-Id: Ifb5f95fa8505fc859688cc5b9db8f32e2b33b6e2