1436 Commits

Author SHA1 Message Date
Sho SHIMIZU
1f5e591196 Resource API changes as preparation for hierarchy support (ONOS-2446)
The changes:
- Introduce ResourcePath to point a resource
- Remove Resource interface
- Make ResourceAllocation concrete class and remove DefaultResourceAllocation
- Remove DefaultResource
- Changes in interfaces due to the above changes

Change-Id: I0f3f846be67b0f7917117943aac31e3099c851ec
2015-08-17 23:17:05 +00:00
Madan Jampani
a29c677596 Added RetryingFunction for simplified retry support.
Moved retry logic out of primitives (AtomicCounter) to the caller site.

Change-Id: I319d61f153f98d421baf32a1b5cd69d20dc63427
2015-08-17 23:15:19 +00:00
Madan Jampani
01e05fbed2 Removed usage of deprecated ClusterCommunicationService APIs
Change-Id: Id306dadad48d1bad7b3fbde3a40ba3e0fdac4cbc
2015-08-14 11:18:02 -07:00
Madan Jampani
d352010259 Added missing copyright and license text
Change-Id: Id14dbbdb7e95ef4b6168889c3585d00752e126e5
2015-08-14 11:06:03 -07:00
Madan Jampani
d33b07736a ONOS-2626: Make a immutable copy of multimap before iterating over it
Change-Id: I04cddc4fb9a007920783e44b62143d5d2c0553ba
2015-08-14 10:31:29 -07:00
Madan Jampani
9eb55d114a ONOS-2495: Workaround for the fact that kryo deserialization is not thread safe
Change-Id: Id1bd3334f9a5c122984d08f97dbbbf622b27cf33
2015-08-14 14:59:06 +00:00
Sho SHIMIZU
d29847f404 Refactor to avoid trivial errors in transactions
Include Fixing a bug not to commit the transaction on success

Change-Id: Ie1f823ab6d8fc6f54091d443d24ecc61336155da
2015-08-13 21:01:39 +00:00
Jonathan Hart
96c5a4ab2f ONOS-2513 Fix entire MP2SP intent failing on partial connectivity loss
* Added PartialFailureContraint to MP2SP intent to allow partial connectivity.
   This means the intent remains installed as long as at least one ingress point
   can reach the egress point.
 * Intents with this constraint are recompiled on ObjectiveTracker triggers
   even if not in FAILED state
 * MP2SP intent compiler can compute a partial tree if constraint is set
 * ObjectiveTracker recompiles intents on any link event
 * SDN-IP MP2SP intents now use PartialFailureConstraint

Ported from onos-1.2 branch.

Change-Id: I32eaa198fae1dfba021d9251c8f855573f0e1d7d
2015-08-13 17:38:55 +00:00
Madan Jampani
1151b55409 Remove usage of deprecated ClusterCommunicationService API
Change-Id: I56deac9f5b6977096a680a6eb7198d09aeb4f924
2015-08-12 16:11:55 -07:00
Madan Jampani
c156dd0418 Use mastershipService instead of replicaInfoService to determine device mastership
Change-Id: I9d07351bbd024e02b2b116dc011a8eac2f79cda1
2015-08-12 23:10:49 +00:00
Ray Milkey
24e60b3353 Unit tests for the flow objective store
Change-Id: I6223d973bba5e680396c338a3d8d0663a028d02b
2015-08-12 22:16:09 +00:00
Ray Milkey
b3c5ce2109 Unit tests for the distributed group store.
Change-Id: Ie8f00b9bbc1ba46a6f80e70f63d1fd853d64154b
2015-08-12 22:16:09 +00:00
Sho SHIMIZU
264e4b7136 Catch a specific exception, not generic Exception
Change-Id: I7e087de452e093b2d7bc3d098847d51b4dff9460
2015-08-12 12:22:14 -07:00
Madan Jampani
3d6a2f6612 ONOS-2429: Support for a relaxed read consistency mode in ConsistentMap
Change-Id: I7866d8d15de369fd23e482d66cc1c918c033f169
2015-08-12 11:24:30 -07:00
Madan Jampani
632f16bfd8 Destroy ECMap instances on deactivate
Change-Id: I2437582b8d878bbf57d8447cb7d93636c9fc0246
(cherry picked from commit 0fa172fd1bf39495b1f763bbfead6257e815027a)
2015-08-11 23:33:47 +00:00
Madan Jampani
a6d787bf41 ONOS-2440: Simplify DistributedQueue implementation by leveraging state change notification support
Change-Id: Id0a48f07535d8b7e1d0f964bd1c0623ca81d4605
2015-08-11 19:05:15 +00:00
Madan Jampani
bab51a4104 ONOS-2097: Ensure updates made via transactional map result in state change notifications
Change-Id: Iecc1b54d2c4c976278e77dbd825d3e3954c53602
2015-08-11 17:06:09 +00:00
Flavio Castro
41b1f3ab34 ONOS-2456 Added usage metrics to Atomic Counter and Distributed Queue plus refactored the code a bit
Refactored code plus instrumented AtomicValue and DistributedSet

Change-Id: I9c5f7c9f23d530131f15d3c98250ea33238dd2ec
2015-08-11 16:43:11 +00:00
Madan Jampani
15687d120a Use thread-safe multimaps
Change-Id: I4e2d1d39fff29caa90159673dd3bd7ff82682c3c
2015-08-11 07:19:35 -07:00
Madan Jampani
8566863454 Removed deprecated map change notification support
Change-Id: Ibff2e403129ee026092a24fc15b82e80ffb8dc48
2015-08-10 12:39:57 -07:00
Thomas Vachuska
b2c47a771a Adding ability to synchronize topology clusters' broadcast trees.
Proxy ARP now supports deferred ARP replies until instance learns of the subject host location.

Change-Id: Ib3ee97c0812858b5b4972d945e9e6d2bd397d4c5
2015-08-06 17:38:02 +00:00
Thomas Vachuska
320c58f38d Refactoring to eliminate duplicate DefaultTopology and DefaultTopologyGraph; eliminating a few fixmes.
Change-Id: Ie0e38dbf812bafdb7c94bba5278f0dd9af5be929
2015-08-05 10:55:11 -07:00
Thomas Vachuska
930a8ee16a Refactoring to eliminate duplicate DefaultTopology and DefaultTopologyGraph; eliminating a few fixmes.
Change-Id: I4461b6f1c8ae60d39f5da909bf6995294cbfa84d
2015-08-05 17:43:11 +00:00
Thomas Vachuska
88fd690635 Adusted log-levels in flow store and packet manager.
Change-Id: I38748bfddfe1aae66bd8a6a9086575dc2e155078
2015-08-04 17:20:42 +00:00
Madan Jampani
971b2eb7e4 Reenable consistent notification support
Change-Id: I08b50858344d5ea6dd8e2852d45fb31dcbab4660
2015-08-02 14:47:52 +05:30
Madan Jampani
565a66afbb Bug fixes/improvements:
1. DeviceManager must not have a dependency on DeviceClockService. Clocks and Timestamps are purely distribution concerns.
2. Eliminated DeviceClockProviderService which merely served as a cache for mastership terms thereby introducing a source of staleness. Now we directly query mastership service which is already optimized for high volume reads.
3. DistributedLeadershipManager fix to ensure election won by local node immediately reflects in the local leaderboard. This is to ensure a subsequent read does not return a stale value.

Change-Id: I774b64923e382b788df5f8bde2a9fafc0294bad0
2015-08-01 16:44:57 +05:30
Thomas Vachuska
c0e2013d5f Eliminated the hang when shutting down a single-instance. Root cause remains in the leadership topic withdrawal.
Change-Id: Iad740929b683a253a7eec0282b52e8f6f31ebcfe
2015-07-31 19:25:01 +00:00
Thomas Vachuska
d894b5d5f7 Fixing javadoc warnings, provided missing package javadocs and corrected group structure.
Change-Id: I2637afe49b81e8e6d10ef3bb0f2a1cf50b2564cc
2015-07-30 20:27:44 +00:00
Thomas Vachuska
42e8ccead4 Adding some base-classes to eliminate event and listener boiler-plate code throughout a number of subsystems.
Refactored all core components to take advantage of this; apps remain to be done.

Change-Id: Ib0935ba07ff81b0fa032534004ec9ac6187cbf22
2015-07-30 17:30:43 +00:00
Ray Milkey
3595823739 Unit test for the gossip intent store
This change also implements a unit test harness for the
EventuallyConsistentMap that is intended to be reusable
to test other stores.

Change-Id: I2257da9b19412b97a3aa0f127be7263a7732b852
2015-07-30 16:29:50 +00:00
Brian O'Connor
ce2d8b5680 Initial implementation of the intent domain manager
Change-Id: I9721449599a4a67bfad7469173c3b47a681873f6
2015-07-29 16:24:13 -07:00
Sho SHIMIZU
08ec48fa8b Add unit tests to check serialization of resource API constructs
Change-Id: Id8291cac684994c4b87b1ceb3b62a8a84f426001
2015-07-27 11:27:26 -07:00
Sho SHIMIZU
78ee25ce77 ONOS-2387: Initial implement ResourceService
The current limitation are
- Lack of unit tests for ResourceManager and ConsistentResourceStore
- No means to declare the resource space (range) of a resource type
- Not taking care of resource hierarchy (dependency)
- Lack of automatic resource registration mechanism

Change-Id: Ib2d6734de1e498827d6cc11b9d3e224b157a27aa
2015-07-24 16:45:21 +00:00
Sho SHIMIZU
200a7394a2 Simplify statements to define serializer just for KryoNamespaces.API
Change-Id: Iac8c6233ab142bc382f35fbd070d4386a7baf64c
2015-07-24 15:53:38 +00:00
Madan Jampani
879ed7c6ae Disable the new change notification support as it seems to have caused a regression
Change-Id: I30486ac18b014a0a8a8f393201bb91cf85550669
2015-07-23 20:33:08 -07:00
Flavio Castro
5e1f129175 ONOS-2315 Adding new metrics to ConsistentMaps
Change-Id: Iba9a70f5eb268834564be26e42776b9caa4ea547
2015-07-24 00:35:44 +00:00
Madan Jampani
92c64ebea2 More Unit tests
Change-Id: I32dd3851e490979621c4a5205c6e041dee900244
2015-07-23 23:17:58 +00:00
Madan Jampani
8098405e79 Added unit test for Match and UpdateResult + Javadoc fixes
Change-Id: I8dae6c9568d33d580d60a72fdcc1be45b7308727
2015-07-23 13:45:44 -07:00
Ray Milkey
d083bc41d1 Improve test coverage for ConsistentMapEvent and WallClockTimestamp
Change-Id: Id8276966c227e2a66d40fca9ac43145b8a419982
2015-07-23 18:36:41 +00:00
Madan Jampani
cab114c7c9 Misc improvements. Primarily Javadoc.
Change-Id: I083bbf559d53fa25f79d4e1e53eb15c6b96290f2
2015-07-23 17:13:13 +00:00
Madan Jampani
619453ba65 Added missing copyright and license text
Change-Id: Iae317a5677eb9dd8c842208f72c9c7640e25b911
2015-07-22 23:47:09 -07:00
Madan Jampani
34fec84146 Turning on consistent and ordered notification support for multi-partition usecase
Change-Id: I450737bcfd4f1480c60223a84785f35325bf21d2
2015-07-22 23:40:46 -07:00
Madan Jampani
648451f391 Consistently ordered notification support for single partition scenario.
Change-Id: I6d959fafb879aa89885c2fb758aa73efd4b47cb0
2015-07-22 20:49:18 +00:00
Sho SHIMIZU
960bd8ce48 Register DefaultResource/DefaultResourceAllocation to Kryo
Change-Id: I5065c414089d1ad5ab843e8ec59614dd1e91c6d5
2015-07-22 13:07:53 -07:00
Madan Jampani
7c4e09aba2 Bug fix: Removing an non-existing key from map should be a noop
Change-Id: I1a89327ab6b0a498fe403f17cbdb8783c41954a6
2015-07-22 18:55:36 +00:00
Madan Jampani
762246d50e Added a AtomicValue distributed primitive.
Change-Id: I00ff165cbd9c6e4f2610af9877ff262527b7b048
2015-07-22 02:55:09 +00:00
Madan Jampani
ae2d0d7604 Fix ConsistentMap.putIfAbsent logic
Change-Id: Id3dcd6558a2c0a3db2055966a8610cc9f2d1cf7f
2015-07-21 23:51:55 +00:00
Madan Jampani
3ca9cb6dcb Minor fixes in DatabaseProxy
Change-Id: I2e1ac92a80f652acc324337383dba526e510f353
2015-07-21 18:52:23 +00:00
Madan Jampani
7804c99703 Refactored code to consolidate functionality in Database* classes.
Renamed few methods and variables to align with local convention and also to match the description of functionality.

Change-Id: Ib17e73079534c76f76bcb01f14b6496e62275dbd
2015-07-21 18:26:24 +00:00
Hyunsun Moon
c8bd97c5e1 ONOS-2403 Support setting TCP/UDP port action in flow rule for OpenFlow13
Change-Id: I4ce84aba9db03a66ebcfb34959c11cc4acadb07b
2015-07-20 18:45:41 +00:00