- Adding cmd to delete all flows.
- Task exclusion between "Agent::PktFlowResponder" and other tasks.
- converting true/false string to bool in flow trace.
- using uint32_t instead of string for IP Address.
Issues:
1. If validate perms (validating the parent obj etc) fails, the action done by http_post_collection is not undone. In the case of instance-ip/floating ip, we may endup leaking a route.
2. Subnet allocator zookeeper is not deleted on delete of subnet or on update of virtual network
3. Retry of delete node doesn’t pass recursive flag
4. Confusing stevedore error due to parameter mismatch

Fix:
1. Move all validation before starting to make state changes. (http_post, http_put)
    2. For all state modification, append a cleanup routine and walk the clean up routine in failure path
    3. Added “Failure/Cleanup” hook for all required classes.
    4.  Fix the parameter list for stevedore extension method
    5. Fix subnet delete to pass correct subnet name(which should include virtual network fq name)

Sanity report: http://10.204.216.50/Docs/logs/0000_2014_03_25_17_23_01/test_report.html
Converting action string to bool flags.
Adding test case for DeleteAllFlowRecord cmd
-Define Object Factory for agent
-Don't link UVE UT code with agent binary (Instead link it only with UT code)
-Move UVE UT code to uve/test folder
Merge remote branch 'github/master' into ashoksr_ut
optimising flow ksync operation by removing ksync_entry find, instead store entry pointer on create
Three issues identified.
1. Crash due to state missing
    Route is matched by the match condition and state is added before adding to WorkQueue.
    Route Entry gets deleted and delete request is added to Work Queue
    Route entry gets reused and Add request is now added to WorkQueue and subsequently the route entry gets deleted.
    When the work queue is processed with above 3 events, we can delete the MatchsTate with route still present in the WorkQueue.
2. Crash due to early unregister of DBClient even with DBState pending.
    When service chain config is deleted, the Unregister of the condition is done after Walk is completed. This event can occur before all MatchSTates are removed from the route. Due to this RemoveMAtchState function can possibly get called after the client is unregistered.
3. Concurrency issue in setting/accessing “stopped” flag of service chain object. It was set in the WalkDone function(in db:DBTable task) and flag is checked in Match function(Called from Notify in db:DBTable task). Since these two can be running in parallel (From different partition task), we can enqueue requests/set-state even after stopping the service chain. Which was the root cause calling unregister with MatchState set.

Solution:
To overcome the above issues,  I have made following fixes
1. Maintain a ref count on MatchState. Refcount is taken when the route is added to the work queue. RemoveMatchSTate is only called when refcount goes to zero. IF the route entry gets reused, recycle the state by resetting the delete flag
2. Track the number of MatchSTate added on a MatchCondition. UnregisterCondition is called only after all MatchStates are deleted.
3. Removed the "stopped" flag as the fix handles entries after the service chain is stopped.
4. added test cases which recreates the crashes. (One unregister with state pending and Missing Match state while handling add request).
1. If the auth token is not specified, call to fetch auth token from keystone (_authenticate()) is done in try catch. In case of exception, give an error message “unable to authenticate”
2. If auth token is specified, and authentication fails, no attempt should be made to fetch token again. Instead return error.
3. Authentication protocol is made configurable(key stone access may be secured(https) or unsecured(http))
Validate config/command line options for control-node
   -- Host IP address
   -- List of collector IPs
Print errno if it is set during string to number conversion
python client publish to handle 5XX; continue to publish until successful
Merge pull request #517 from Juniper/dsetia-bugfix

python client publish to handle 5XX; continue to publish until successfu...
Bug 2650: Update analyzer_vn_set for all policies when the VN is deleted
Merge pull request #516 from Juniper/ananth_bugfix

Validate bgp port name and collectors IP address in control-node configuration
Merge pull request #518 from Juniper/sb

Bug 2650: Update analyzer_vn_set for all policies when the VN is deleted
Bug 2367: UVE must be sent in a separate loop because connections could be altered as a result of modifying the remote network
In failed cases the debug printing was going out of bounds
Revert "Merge pull request #508 from Juniper/rajreddy_ut2"

This reverts commit 5878780dddbb69162dbda1b36504f517c3cbedff, reversing
changes made to 0b666932fbad23d3ecd02ca5499a862431d2a18c.