666 Commits

Author SHA1 Message Date
Thomas Vachuska
36002e6f81 Made time limit for event processing configurable; cleaned-up duplicate code.
Change-Id: I08e7f1c9f4cdbd6404f1eb5e3544989e7a728d92
2015-05-19 23:58:12 +00:00
Madan Jampani
afeebbd578 ONOS-1982: MessagingService is now a OSGi service. Has implementations based on Netty and IOLoop
Change-Id: Ia4c99de18e91be1b49bd1fddd86fe89fb83e859c
2015-05-19 23:34:44 +00:00
Thomas Vachuska
b17c41f588 Added a detection mechanism for long-running or dead-locked event sinks and listeners.
Change-Id: I21308b058902a94c31c34c2ec2878cd13213874e
2015-05-19 18:25:34 +00:00
Marc De Leenheer
1afa2a0350 Rewrote optical connectivity intent compiler
Change-Id: I5acece3c14bed8a23f7bbe0c5a9bc0932a2a0881
2015-05-19 18:18:28 +00:00
Thomas Vachuska
fc52fecc3b Fixed a slew of shutdown exceptions that arose due to improper or out-of-order resource clean-up, e.g. listeners, timers, executors.
Change-Id: I37c351c4202b32e92c076d9d566b96d7ff8d313a
2015-05-19 17:56:49 +00:00
Srikanth Vavilapalli
23181915e1 ONOS-1823 and ONOS-1838:Segment Routing Multi-instance Support-1
Change-Id: I3cc848415a609a9c4001d135e51104c62fb2830d
2015-05-14 20:26:09 -07:00
Madan Jampani
de003d9763 LeadershipService and MastershipService/Store APIs return CompletableFutures so that callers can (optionally) chain together dependent operations
Change-Id: Ia00fcb7d98fbfce897527f67ea9690abf6fe846a
2015-05-14 23:31:27 +00:00
Brian O'Connor
ba1c7fb168 Refactoring LabelResourceManager to use ListenerRegistry
Change-Id: I65b6225b3b6f06c76ccb65d29da93ec11c179d1b
2015-05-14 15:47:59 -07:00
jcc
de3e92eb78 【ONOS-1223】【ONOS-1870】the implements of label resource APIs.it include
commands
used to test
if there is any bug,LabelResourceManager,LabelResourceStore using
copycat,and junit test code.
the distribution strategy is that the master of devices handle all the
requests if applied label belongs to it.except for query request.
label store uses copycat instead of hazelcast to keep strong consistency

Change-Id: I77bde6a96f33098063573d37ed1ba787ae21973f
2015-05-14 22:11:30 +00:00
Simon Hunt
ff66374c6a Renamed AbstractListenerRegistry to ListenerRegistry (since it is not abstract).
- added checkForNonRegistrant() predicate and augmented unit tests.

Change-Id: I7ecc618f01fdc4cead6f143a1e5e0ddd03268efc
2015-05-14 13:33:05 -07:00
Changhoon Yoon
bdeb88a77a ONOS-1896 Modify Application Subsystem to support Security-Mode ONOS
Change-Id: Ie3686e0d5071f9f6e946bc48ed7562bb2f5ec413
2015-05-14 16:54:55 +00:00
Sho SHIMIZU
3310a34163 Remove "public" to follow our convention
Change-Id: Ic5fa8744cbcb4c704780c8467ae0f31fce3327ce
2015-05-13 23:44:57 +00:00
Thomas Vachuska
9ff88a9bc8 Added protection against redundant feature repo & feature operations.
Change-Id: Idca031e811a659a68ac55080acdef074fcfa80e1
2015-05-13 23:44:06 +00:00
Madan Jampani
7cdf3f1ba9 ONOS-1802: Added a null check for the returned term
Change-Id: Iacdd8d8f6ef15560bc81162dfefde431271b1204
2015-05-13 17:18:08 +00:00
Sho SHIMIZU
98ffca81bf Save memory consumption by avoding unnecessary instantiation
Change-Id: I7ce66c11136653fabc490aa7f33fdadf4454d2cc
2015-05-11 16:14:19 +00:00
Thomas Vachuska
635c2d7ed1 Adding device driver inheritance mechanism.
Change-Id: I9c883d32ce0c39f961eddd5c4624dc23f794fe4d
2015-05-11 15:49:23 +00:00
Sho SHIMIZU
6d01d3df91 Inline static factory methods in BandwidthResource
Change-Id: I8ac7fbaea5c81c9558f88f6ac88bcf581466d073
2015-05-08 16:10:55 -07:00
Sho SHIMIZU
63feca7d26 Rename Bandwidth to BandwidthResource
To distinguish unit of bandwidth and resource of bandwidth

Change-Id: Ice52538f0c00f6d7743ca247d0f9bab3febdc94b
2015-05-08 23:08:36 +00:00
Madan Jampani
f7536ab2ee ONOS-1883: Fix for lost flow rules on CLI directed mastership changes.
- Made all mastership role change operations asynchronous, which they are.
- In flowrule store we now check to see if any new backups need to be made when a device backup location (standby) changes
- In device mastership store we now wait briefly before we step down from mastership after promoting a new candidate as highest standy

Change-Id: Icb76cf4d0d23403053a3fd5a458a940b847da49f
2015-05-08 20:46:19 +00:00
Sho SHIMIZU
94b7ff4f7f Rename Lambda in org.onosproject.net.resource to LambdaResource
To avoid naming conflict with Lambda in org.onosproject.net

Change-Id: Ic8a670e7e2fb022f44f5a83cf4805f3ce0f29694
2015-05-07 17:11:42 +00:00
Saurav Das
100e3b809d First shot at Broadcom OFDPA 1.0 pipeline
Requires changes to the group description to accept groupId from callers.

Change-Id: Ic21dfe8ae7c246b7d3a6b00e8e5c986e1dc21fa0
2015-05-07 17:00:02 +00:00
Sho SHIMIZU
24a00d9b0b Catch Exceptions, not Throwable to remove blockers found in SonarQube
Change-Id: I49ab731ce0c9950b55063e2afa4ce9226a7b6b4a
2015-05-05 18:51:25 +00:00
Sho SHIMIZU
3fa9e8d8d5 Add break explicitly to avoid future unexpected fall-through
Change-Id: I58cfe8b0997b3ec94c2913e93575aa6770eee71f
2015-05-05 11:40:53 -07:00
Brian O'Connor
eba4e3407f Adding tests for IntentCleaner
Also, two small bug fixes for SimpleIntentStore
and one for IntentCleanup

Change-Id: I19c8246dd669d894ba258e04f4f963a97b9a7626
2015-05-01 12:48:16 -07:00
Brian O'Connor
cdec493d80 Fixing logger for IntentCleanup
Change-Id: Id51fe14b87aaa14da5d5097aca83b8ed397b902c
2015-05-01 12:48:16 -07:00
Brian O'Connor
6d8e317182 Added error count for IntentData (ONOS-1060)
Change-Id: Ida6313603c15fb6c1c1793c298206587b370a13e
2015-05-01 12:48:15 -07:00
Brian O'Connor
a6c9b5cff2 Updating IntentCleanup to check for stalled *_REQ and *ING intents.
Change-Id: Ibe06ee99463bb8230acf9751da4fb1012859b0ea
2015-05-01 12:48:15 -07:00
Madan Jampani
1af8e137e3 Fix balance-masters functionality in the new LeadershipService based device mastership store
Change-Id: I9f64d514cee7d5a5383fd4c2fa30a8616c97785c
2015-05-01 00:34:45 +00:00
Madan Jampani
2096b93208 Fixes a NPE that occurs when device mastership is not immediately decided
Change-Id: I170974bf9e70cef5d7e73ecf31901879d858ddf7
2015-04-30 21:38:15 +00:00
Brian O'Connor
a27ada7826 NPE protection for purge requests (ONOS-1463)
Change-Id: I02732ed83aaaf5c760fdb96899696177415ebd23
2015-04-30 18:35:13 +00:00
Thomas Vachuska
866b46a5be Reworked the dependency on default drivers. Driver manager must NOT depend on these.
Instead, it is ok for the flow manager to have a dependency on the drivers and go fully active/dormant when the default drivers arrive/depart.
Removed inclusion of the onos-drivers bundle as part of the onos-openflow app as this caused an unwanted dependency.

Change-Id: I614290277d1621c8243c0c19e5d79273f2168016
2015-04-30 17:47:18 +00:00
Brian O'Connor
3c58e96920 Adding IntentCleanup as a component.
Listens for CORRUPT intent events and periodically polls for CORRUPT intents.

Change-Id: I29d8dbe14b46522815dc13e969f259f68b690855
2015-04-30 03:44:11 +00:00
Sho SHIMIZU
fbc80e5348 Pull out inner-classes from Criteria to be independent classes
Make constructors of sub-types of Criterion package private for
limiting instantiation only from static factory methods in Criteria

Change-Id: I1fb1e9d003288a778a49e758549a92b66bf3cfdf
2015-04-29 00:44:59 +00:00
sangho
864a9db291 Pushes the flow rules also when devices are available (with DEVICE_AVAILABLLITY_CHANGED event).
Change-Id: Ia92df8c5da5828a9db2492e93a42bfd9a5136d25
2015-04-28 23:25:21 +00:00
Brian O'Connor
f0c5a052a5 Initial implementation of CORRUPT state (ONOS-1060)
- Added CORRUPT state to state machine and event type
- Simplified phases using new request field
- Improved null-safety by using Optionals

Change-Id: I1d576b719765b5664aef73477ee04593e8acc4fd
2015-04-28 20:17:42 +00:00
Sho SHIMIZU
0c3c076b52 Inherit resources from a high level intent when creating a FlowRuleIntent
Make constructor without resources argument deprecated

Change-Id: I400cedfb2ec5f8ec3217e4729d95b075ceb0b025
2015-04-28 19:55:52 +00:00
Marc De Leenheer
de47caab1f Configurable extraneous flow rules
Change-Id: I216605743d5a8814a366a030290614d840657444
2015-04-28 17:59:01 +00:00
Sho SHIMIZU
2de9449f07 Inherit network resource information from a high level intent
This patch fixes ONOS-1677

Change-Id: I37d8742eb1a03b56d1e47d30d9342546ab42d23b
2015-04-28 17:49:38 +00:00
Saurav Das
bd7f742d85 Adding Device Listiner to BgpRouter so that filtering rules are sent to the
driver only after the device is available.

Change-Id: I377402b87cee6c02c087efbcc4f0cff4f19e1ca3
2015-04-24 01:59:11 +00:00
Thomas Vachuska
62f04a47f6 ONOS-1731 Fixed app gossip store & manager to deal with staggered app load on startup.
Change-Id: Ie88f5659646c11b906a63204f97083b6deb64adb
2015-04-24 01:09:13 +00:00
Saurav Das
3d03826578 Fixes bug where driver gets initialized only when device is available.
More explict handling of versatile forwarding flows in corsa driver.
Moving TunnelConnectivityManager to use flowObjectives instead of flowRules.

Change-Id: If43023f30a6e7a028dfdefbe1ffbcc710a1c7be3
2015-04-23 21:50:42 +00:00
jcc
3d4e14a72b FlowRule private extension refactor.
1.merge private flow into regular flowrule subsystem.no mirror code any
more.no change flowrule api.
2.define a rich-data-type to carry private flow.
3.modify OpenFlowRuleProvider.class to support for 3rd party private
flow.i don't know whether is suitable.because this class name is
relative with open flow protocal.
4.fix some junit test bug caused by modification of FlowRule interface.

Change-Id: I6c54d1e97f231a75bd1b416f0893e0379613d7ce
2015-04-23 04:11:34 +00:00
Jonathan Hart
17d0045c99 Upgrade packet requests to use flow objectives API.
Addressed a few issues found while using the flow objectives across a cluster:
 * Flow objectives should be installable from any node, not just the master.
   Therefore we need to ensure all nodes initialize a driver for each switch.
 * We no longer store a list of objectives that are waiting for the switch
   to arrive. If the we don't know about the switch yet we'll try a few times
   over a few seconds to find it, but after that we'll give up and report an
   error to the client.
 * Default drivers need to be available when the FlowObjectiveManager starts
   up, otherwise it is common to get flow objective requests before any
   drivers have been loaded.

Change-Id: I1c2ea6a223232402c31e8139729e4b6251ab8b0f
2015-04-23 00:16:29 +00:00
Saurav Das
3ea46622c8 Removing dependency on lower level drivers for the BGPRouter application.
Also a couple of bug fixes

Change-Id: I8f2ec58ed3403ae03cf7c068dabb30ae4272ff85
2015-04-22 14:08:43 -07:00
Thomas Vachuska
6cba495a6f ONOS-1736 - Modified PacketManager to register packet request flows using the core app id, instead of the requesting app id. This is to prevent packet request flows from vanishing when app removes all its flows. This is a provisional fix until packet requests allow removal via reference counting or a similar tracking strategy.
Change-Id: Ib0e53ae8c6b5ae030a9c17a34407a5897027127b
2015-04-22 12:38:22 -07:00
Thomas Vachuska
db320abb9b ONOS-1736 - Moved log.warn for property reset to be emitted only when the property itself is not known; it will not be emitted when the component is not known.
Change-Id: Ib0ae105336c2fb2bcddfcf2c8a69ff6a2c501a59
2015-04-22 09:03:33 -07:00
alshabib
f6ea9e624b Implemented a globally unique next id generator in FlowObjectStore
Change-Id: Ib98b2996e1ebcca56ad816ea94f25d838c5f4d44
2015-04-21 17:08:26 -07:00
Sho SHIMIZU
1b46a97482 Inherits the constraints of the higher level intent
Fix ONOS-1247

Change-Id: I8a110bd3cee296f726a63fd1034b5a8f7dc7f0b3
2015-04-21 17:12:45 +00:00
wei wei
89ddc320e9 Generic Tunnel Subsystem (ONOS-1276) and L1/L0 (OTN/ROADM)extensions (ONOS-676):
1)Initial Work for ONOS-676: OTN/ROADM (L1/L0 NE) support in ONOS by extending the device/port modeling;
  - extending device type to include L1 OTN NEs;
  - extending port type to include ODUCLT port(T-port), OCH-port(L-port), OMS-port (WDM-port);
  - more standard annotations related to OTN/ROADMs support will come from PCEP provider as well as TL1 providers;
2)Intial Work for ONOS-1276: generic Tunnel subsystem in ONOS for both packet (L3/L2) networks and optical (L1/L0) networks
  - supporting PCEP framework, which is capable of interacting with the PCEP provider;
  - supporting any other kind of tunnel provider;
  - each Tunnel is associated with at least two Labels (abstracted logical entity/Id for virtualization of physical port);
  - same type of Tunnels can be formed as a reachablity graph for other services and NB applications use;

Change-Id: I29af495f90e179e2c5d8753b76e02889a3b4355b
2015-04-21 17:11:34 +00:00
Ray Milkey
6e0fb30289 ONOS-1334 - Allow multi to single intent across a single switch
Change-Id: I8be3dbc403ea1202fd496e666955402247f71bf1
2015-04-20 10:28:56 -07:00