Simplify the interface to config listener in order to use it
in unit tests that do not have a full agent.

Change-Id: I12f72a9989012171065e490daac06dc210bd1732
Include loadbalancer from vnc schema; this is required so that the global
properties such as UuidPerms and display_name are applied to loadbalancer
types.

Change-Id: I8d5ee656fa23b92d825ab070c37b91709d3b9992
Fix flaky tests further broken by XMPP ASN change fix.

As a result of commit e383a8eedc0b3b7106ea5ed13d5f92ee2753ade0 all XMPP
connections are flapped when the ASN is changed.  Since the mock agent
used in some unit/module tests does not re-subscribe to instances if a
connection flaps, some tests got broken.

Specifically, tests that did not configure an ASN (or anything else) at
the start of the test, brought up XMPP connections to mock agents, and
only then configured the ASN (and routing-instances), were impacted.

Fix is to tweak the tests to minimally configure the ASN at the start.

Also tweak the ASNUpdate test in rtarget_peer_test to account for XMPP
connection flap.

Use XmppStateMachineTest which uses small timer values so that the XMPP
connections come back quickly after a flap. Add the class in the common
bgp_server_test_util.h file and remove duplicate definitions from other
places.

Change-Id: I67f739c8f1fcdda4ac923fa42d74e75b343180ae
Bug 1349957: Get tenant id before deleting the port

Change-Id: I4eb8a3b0692bf283befb9fb361f17d32c863bee2
Log service-instance property changes.

Change-Id: Ia669570b58a6aa9aa6e436fc82e42f9192a071e2
Initial checkin for contrail storage stats daemon [ review changes ]
1. added unit tests
2. renamed/restructured SConscript files
3. restructured setup.py
4. added stats-daemon.conf
5. added test packages in SConscript
6. modified storage_nodemgr.py based on review comments
7. added latency changes
8. added diff logic for read/write bytes/counts for gui
9. storage package added in alphabetical order
10. #common is removed from requirements.txt
11. default values are #'d in stats-daemon.conf
12. big functions are modified to sub function calls in nodemgr.py
13. argument parsing in nodemgr.py is done using argparse
14. more unit test cases added in test_storage_nodemgr.py
15. indentation done in nodemgr.py
16. storage node mgr name changed to storage stats mgr
17. entry point added in setup.py
18. removed stderr logging
19. try-except removed in storage-nodemgr.py for importing
    sandesh files
20. storage.sandesh disk name removed and uuid added similar
    to osd structure.
21. added (tags="") empty tag in storage.sandesh
Change-Id: Id78a11da6d9f89cf46da8236136d0b758f3ebf01
Add uuid to the NamespaceTask

This patch introduces an uuid to the
NamespaceTask class in order to use it
for the map between task and svc_instance.

The aim of this change is fix potential
concurrency issue.

Change-Id: I036dcd13357b4539d6d303610f5e9d44d65a2790
Merge "Bug 1349957: Get tenant id before deleting the port"
Bug 1348993: If neither subnet nor port is specified correctly, reject the request

Change-Id: Ie3cb09dd96e3949f7159cf37ee2131d05b0ab4c6
 fix typo in ipam_update

Change-Id: Ieaaf87d4608c516faf76bb8b8a083fc602bd9301
Merge "Add uuid to the NamespaceTask"
Merge "Fix flaky tests further broken by XMPP ASN change fix."
Fix concurrency issue in lifetime manager.

Some unit tests failed during TearDown when trying to access a
virtual method for a partially destroyed object.  One thread was
in the process of removing a dependent object's LifetimeRef from
the parent LifetimeActor's dependency list. This was happening
via the destructor for the dependent object.  At the same time,
the main thread was in the process of propagating Delete from the
parent LifetimeActor to it's dependents.

Fix is to perform propagation of delete from the LifetimeManager
task rather than doing it inline from the Delete method.  Notice
that this splits up delete propagation into multiple steps.  An
actor propagates delete to it's immediate children.  If a child
has a LifetimeActor it gets added to the LifetimeManager queue.
Further propagation happens when the child LifetimeActor itself
is processed from the queue.

This change broke some tests which expected that the delete is
propagated inline.  As an example, if the MemebershipManager is
stopped and has requests to process, and a routing instance is
deleted, the tables for the instance don't get marked deleted
as BgpServer::IsReadyForDeletion doesn't let the LifetimeManager
task process the queue.

Fixed this issue by adding a MayDestroy method to LifetimeManager.
Instead of not processing the LifetimeManager queue at all, we
now process the first item on the queue, invoking Shutdown and
PropagateDelete if needed, and then put the LifetimeActor back on
the queue if MayDestroy returns false.

Defined a BgpLifetimeManager class whose MayDestroy method calls
BgpServer::IsReadyForDeletion.

Change-Id: I6b5688f5362fbf5591c84c78f56e4a682cb95587
Make BGP state machine use short timers in tests.

Few tests such as rarget_peer_test used to fail occasionally because
bgp peers could not be established within the wait time of the test.

Make all such tests use the StateMachineTest class, which has short
timers. Remove duplicate definitions of StateMachineTest and move it
to bgp_server_test_util.h.

Rename StateMachineTest in state_machine_test to StateMachineUnitTest.

Remove unnecessary use of mock classes for BgpXmppChannelManager and
BgpXmppChannel in a few tests.

Change-Id: I53885053b673da1dcb0725b5d04e9ad00dd94caf
Merge "Bug 1348993: If neither subnet nor port is specified correctly, reject the request"
Schema changes to support network-policy in src/dest fields of a policy

Change-Id: I09c54a04789bd63c5ec13b529813e2e2a89cb37b
Merge "Include loadbalancer from vnc schema; this is required so that the global properties such as UuidPerms and display_name are applied to loadbalancer types."
Merge " fix typo in ipam_update"
Merge "Simplify the interface to config listener in order to use it in unit tests that do not have a full agent."
Merge "Log service-instance property changes."