1170 Commits

Author SHA1 Message Date
Sho SHIMIZU
44f3761e4c Abondon the concept of resources under a link
Resources under a link are tied to resources under both ends of the link,
and resources under a port are thought to be first-class objects compared
to concept of link resources. We will deal with only device related
resources from now on.

Change-Id: I6aa418d1bf64b28374f325db0bc7e393f770dcdd
2015-12-02 17:41:04 +00:00
HIGUCHI Yuta
14e865d063 ONOS-3472 Fixing ConsistentMap key equality
- ConsistentMap's key equality is based on serialized byte[].
  2 Problems fixed by this patch:

 (1) By caching Key -> String representation,
     Cache will use Key's Object#equals for look up,
     which can possibly have different equality than byte[] equality,
     leading to wrong String to be used as a key in backend Database.

     Fixed by reversing the mapping.

 (2) Similar issues with keySet(), entrySet()
     Set based on reference equality needs to be used to avoid
     deduplication based on Object#equals

     Fixed by replacing Set implementation with MappingSet.

Change-Id: I1b727abd2614a9b72b5b1d02ecca2de26493adcc
2015-12-02 04:56:11 +00:00
Saurav Das
8a0732e8ae CORD-48 Implementation of hashing Next Objective in OF-DPA driver. Major changes to ensure multi-ONOS-instance group-chain installation.
Also includes:
     Changes to Next Objective that adds metadata field for applications to optionally send auxillary info to drivers
     Changes to Next Objective that allows more explicit modification of the next objective
     Changes to Forwarding Objective and PendingNext to include hashCode() and equals() method
     MplsBosInstruction included in kryo serializer
     GroupKey's byte[] represented as a hex string
     Bug fix in mpls flow installation to report failure in install
     Bug fix in linkUp in SR app to disallow non-masters to modify groups
     Bug fix in ordering of actions in group

Change-Id: I3e7003f55724c2de79589e43e11d05ff4815a81d
2015-11-30 19:00:42 +00:00
HIGUCHI Yuta
d9fe3a3f87 ONOS-3461 Disable LinkDiscovery on specific device/port.
- Configuration moved from "apps" -> "devices", "ports"
  in network configuration tree

Change-Id: I030bab489939ce5326a6ebea14f246726ca024f0
2015-11-25 23:13:38 +00:00
Sho SHIMIZU
549464b04e Clean up the test which is no longer used
Change-Id: Id7e4d519c82f2c18480bde6b274079db5f26711c
2015-11-25 22:42:16 +00:00
Aaron Kruglikov
dfb325a88e Cancelling timer at close to prevent attempts to commit closed DB.
Change-Id: I01d2984e69ea8329c06a6fc3610d4a419f9bd6a2
2015-11-25 03:42:36 +00:00
Sho SHIMIZU
03d4253f20 Avoid double wrap of IndexedLambda
Change-Id: I2acaa255529949e8443542904df465e6b0fbb72a
2015-11-24 20:10:39 +00:00
Aaron Kruglikov
eb0ae4e802 Adding fingerprints to avoid interference between clusters.
Change-Id: I5e5278916f8b9b900d7d403b6d08f1f66a866fb2
2015-11-24 20:04:09 +00:00
alshabib
880b6445f2 decoupling extension types from of protocol
numbers renaming extension instruction to
extension treatment

Change-Id: Ie949d6235c2a5a984f7c7867262f8336721f1ee7
2015-11-24 19:42:43 +00:00
Rimon Ashkenazy
e2410ff01c [Emu] Register ODU TributarySlots on OCH ports
Change-Id: Iff6010259485f2402f1b645de8f83af5627bee3c
2015-11-24 17:12:38 +00:00
Sho SHIMIZU
a88db496d5 Avoid double wrap of Bandwidth class
Change-Id: I6bb95beafd55364499df64429c0788153a0b1624
2015-11-23 23:57:09 +00:00
Sho SHIMIZU
60ac58efe9 Add sub-types to distinguish type of resources
Change-Id: Ia43cbf4a13937c9bd9dbc97221062ef5fa3e578f
2015-11-20 07:54:39 +00:00
Aaron Kruglikov
66cf0b9e9f Modifying eventually consistent map and tests to make use of the persistence service.
Change-Id: I44ffcabb9d765a1c70c2790366c6d7381416dac6
2015-11-20 03:58:44 +00:00
Sho SHIMIZU
c9546a3646 Refactor ResourcePath internal implementation
Change-Id: Idb3aa467b4d0e8181adf0d1766812a038b5408ac
2015-11-19 22:34:20 +00:00
Thomas Vachuska
ce0bbb3f62 ONOS-3387 Adding ability for network configurations to be validated before being accepted into the system.
Change-Id: I26a7e2adb20318cf17a35081ff753b3448105e31
2015-11-19 08:30:31 -08:00
Charles Chan
33f28a96f7 Carry previous host subject in HostEvent
This is an enhanced version of gerrit 6085 that provides not only the old location
but also the entire old host subject.
The main purpose is allowing apps to be aware of the change of IP address as well

Change-Id: I448d73b0d1e705996259cb0ec777f959f485d9c2
2015-11-18 18:17:44 +00:00
Charles Chan
e889e2d0f2 [ONOS-3370] Extract hostprovider and lldpprovider from openflow
There are three independent apps:
    - openflow-base
    - hostprovider
    - lldpprovider
And there is also one meta-application called openflow that
contains all three of them.

Also fix the dependency issue when the apps are loaded from disk

Change-Id: I6da584e03593db9094b3a57976b28291f207c3c6
2015-11-18 18:12:50 +00:00
Madan Jampani
14a38dade6 Ensure local read/write operations are causally consistent when a ConsistentMap is build with weakConsistency option
Change-Id: I1ec96048b646f5074e5e50001e08753212b98395
2015-11-16 23:08:37 +00:00
David K. Bainbridge
03c1fa9b31 ONOS-3326 allow more control over heuristics to select an IP address used for clustering
Change-Id: Ie313efe9249df7581234e7e2e5952cdf3ac43dbb
2015-11-16 23:00:17 +00:00
Jonathan Hart
d9df7bd278 Fix naming convention issues in preparation for stricter checkstyle enforcement
Change-Id: I918b7b1dcf6424a526b6b26b89acc9a57d807fec
2015-11-13 16:28:02 -08:00
Thomas Vachuska
710293f3af ONOS-3346 Fixed NPE when disallowing devices via network configuration.
Change-Id: I88986681e446f2fd298aa5c4d47e709da5be9e52
2015-11-13 21:39:03 +00:00
Phaneendra Manda
bcdb7c9c6a Tabs converted to spaces in pom files
Change-Id: Id20ba34388b1f41d0d542e773d49b221c0bfb3f7
2015-11-13 14:03:30 +00:00
Thomas Vachuska
761f0040f3 ONOS-1684 Added support for app dependencies.
Change-Id: Iae318c24c3c9bd43d84318c79ac420fc85d5d599
2015-11-12 21:37:58 +00:00
Aaron Kruglikov
a62fdbb9ca Adding an option for persistent flow storage.
Change-Id: I1dd70c9f2ea9cd99ef5a55eaa4b54968f7d3c55f
2015-11-12 18:26:06 +00:00
Charles Chan
ec0425c18c Carry previous location information in HostEvent
Change-Id: I06957d368a8a547cc3adb36bce4aaf96c432f4c8
2015-11-11 12:09:38 -08:00
Charles Chan
009c30805c Fix duplicate host event
Change-Id: I632a1482e7b1b768ce7a0243cc8b6b398b9825b7
2015-11-10 18:19:53 -08:00
Sho SHIMIZU
73130f790f Refactor: Use putIfAbsent() to show the intention more clearly
Change-Id: I2fad1709cc6f8827d382a07b55cd89d2814ede36
2015-11-10 17:46:55 +00:00
Sho SHIMIZU
93a74b301f Fix bug that exception is thrown when key doesn't exist
Change-Id: Ic107b82202f64fb81709310b5e9a705c7e66d542
2015-11-09 22:17:05 +00:00
Sho SHIMIZU
e7db6149b4 Register the root resoruce path
The root resource path must be registered before use of ResourceService

Change-Id: I9739522dd28300c27e209f2c88c937537f6a110e
2015-11-06 23:53:11 +00:00
Sho SHIMIZU
364cbacee8 Make the old resource APIs deprecated
Change-Id: Ib3158f3f363c928353f6ef82aac98a8e4e589953
2015-11-06 23:39:06 +00:00
David K. Bainbridge
34cc1025ac ONOS-3325 - enable configuration of local IP via environment variables
Change-Id: Ia8df1c126a76c8060e869554316593598dc5ec3e
2015-11-06 23:28:05 +00:00
Sho SHIMIZU
fa62b475da Implement event notification of resource event
When a resource is registered or unregistered, a resource event is notified

Change-Id: I40e66761966ef2126366424a14bb3193fc850e5a
2015-11-06 11:25:37 -08:00
HIGUCHI Yuta
ca9cc8e28e Avoid use of Objects.hash when there's only 1 params
- directly call #hashCode() when hashed Object seems non-null
- replace with Objects.hashCode(Object) when Nullable
- replace with Long.hashCode(long), etc. when primitive

Change-Id: I08c24ebbe94cf4162d1491209a14baf953163e41
2015-11-05 21:47:59 +00:00
Sho SHIMIZU
1e0a34cea7 Fix bug that true is always returned even in failure cases
Additionally, remove catch block handling TransactionException, which
doesn't have to be caught in user side any more.

Change-Id: I359b50dbe0e1074a2bc4c8850459cb4463669aa8
2015-11-03 23:10:10 +00:00
Sho SHIMIZU
d936b42182 Change the return type of commit() to indicate the result
Change-Id: I4658a89fb0a496baa929579ab7800d00e842d685
2015-11-03 18:54:28 +00:00
alshabib
dc5d8bd75d fixing bug that would not let device come back online
Change-Id: Ie2cc9c35159320d5abab0b38984baecc2928b00e
2015-11-03 00:58:25 +00:00
Jonathan Hart
3c25916dff Generic extensions to the treatment API to support protocol extensions like
OF experimenter actions.

Change-Id: I88cc5896d17fdbf89807f911f9c23e4f19f6a5ad
2015-11-02 22:02:11 +00:00
Ray Milkey
ccda0b5dc7 Enable checkstyle rule to enforce package-info.java files
Change-Id: If837601380e4950b46ad1332bd3c20ef59cc216e
2015-10-30 17:21:08 -07:00
Sho SHIMIZU
e7f4f3f1c3 Define and implement a method to query available resources
Change-Id: I49fbcdf215e402603ea15f469d41e572f1cce1c6
2015-10-29 09:01:54 -07:00
Sho SHIMIZU
9a2b82960b Enable new resource APIs and re-enable optical intent compilers
Change-Id: I8fb0b20be342e123a1bfe4cc61577dfddbbf9332
2015-10-28 21:05:22 +00:00
Yafit Hadar
5796d97985 REST API related implemetations for ODU SIGID and SIGTYPE Fields in Flow Criteria and Instruction
Change-Id: I78ddc162409d377b8c55e7f8eedd9a91939ab277
2015-10-28 18:30:28 +00:00
Simon Hunt
e2b6a2bab6 Fix for ONOS-3220 : Implement Comparable on intent Key.
Change-Id: Ibba4a972d2e3a82b5bf9256893a82501236021cb
2015-10-27 19:11:16 +00:00
Jonathan Hart
4bb4b056b8 Moved persistence tests to correct directory so they are not part of runtime bundle
Change-Id: Iae5d4d4b48c15873ff77c2fd6be9d1d2fcaea5a2
2015-10-26 18:10:56 -07:00
Aaron Kruglikov
92511f22a0 Creating persistence service.
Change-Id: Ib78b4001a24c71b4096e5a2a446dbd5009aa1090
2015-10-26 21:48:30 +00:00
Madan Jampani
ec1df02f3e In preparation for dynamic clustering support:
- Added Cluster metadata service and metadata store interfaces
- Added a static cluster metadata store implementation that is backed by a local file.
- Consolidated the existing cluster.json and tablets.json metadata files into a single cluster.json file that has all the cluster related metadata.
- Removed dependency on ONOS_NIC env variable.

Change-Id: Ia0a8bb69740caecdcdde71a9408be37c56ae2504
2015-10-23 17:51:08 +00:00
Sho SHIMIZU
ba1f83b9e3 Fix typo
Change-Id: I5cb328a3724a1960439cab2a03b2d9412754eb55
2015-10-14 22:55:27 +00:00
Thomas Vachuska
40e63e66f1 Fixed an issue where consistent map exception in distributed packet store would prevent apps/components from properly starting.
Fixed the fast and net-pingall.xml scenarios.

Change-Id: Ie5712c5c134bb81181dd2bdb307da5ec13851d45
2015-10-13 16:16:20 -07:00
Sho SHIMIZU
0d0376176d Avoid overlap of resource allocations
Change-Id: I7b1905ea694039909623fdc0bf3e505799cbdafa
2015-10-13 17:46:23 +00:00
Sho SHIMIZU
cfe707af5e Add @Beta annotation because APIs is not stabilized yet
Change-Id: Id6111180be6c21a5287e2b53abacdfb43931abd4
2015-10-13 17:46:00 +00:00
Brian O'Connor
21b028e526 ONOS-2890 Deactivating apps removes other apps' packet processors
- Reworking store commands to use compute for updates
- Trigger add/remove to devices on map events

Change-Id: I33391435945c1775a9ef0cdc83920fc1cadfd658
2015-10-09 20:50:11 +00:00