981 Commits

Author SHA1 Message Date
Ayaka Koshibe
fd26a3055c Create local storage for topic candidates mapping. This also includes:
- using Optional in Leadership, and some commenting.
 - using MutableBooleans + compute()

    part of: Device Mastership store on top of LeadershipService
    Reference: ONOS-76

Conflicts:
	core/api/src/main/java/org/onosproject/cluster/LeadershipService.java
	core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DistributedLeadershipManager.java

Change-Id: I7f090abb123cf23bb5126a935a6e72be00f3e3ce
2015-04-14 20:58:10 +00:00
Marc De Leenheer
171c2e863d PortNumber also backed by port name
Change-Id: Id47781be714bf1efe7d008c8e97ab172177a85f9
2015-04-14 08:33:44 +00:00
Thomas Vachuska
c40d463c27 Consolidating null providers and making them fully configurable and integrated with the ConfigProvider to allow arbitrary topologies.
Change-Id: I899e27a9771af4013a3ce6da7f683a4927ffb438
2015-04-14 01:23:24 -07:00
Madan Jampani
ec5ae341db Use the Executor interface when specifying where to handle incoming messages
This is done so that one can simply specify a direct executor.
Change-Id: I1c3ea977dd7c2d604588d587fd67f7012355eedf
2015-04-13 23:43:52 +00:00
Madan Jampani
2bfa94cf15 Revamped ClusterCommunicationService API
Change-Id: I9326369de3d2413b0882b324979d10483c093de9
2015-04-13 16:51:24 +00:00
Thomas Vachuska
facc3f5ba8 Enhancing the driver subsystem to allow retrieving originating data/handler contexts from the behaviours.
Change-Id: I973888190d569e7e147376b5ae4da9d2f2d9c620
2015-04-11 00:42:17 +00:00
Sho SHIMIZU
2c05f91d66 Refactor: Use descriptive methods when comparing Timestamps
Change-Id: I938f1db98c3d6868da73b5f3e8e01e7a787260c1
2015-04-11 00:38:59 +00:00
Sho SHIMIZU
25d843cf7c Insert a blank line after the description in Javadoc
Change-Id: Id83ef1bf434e3f99fd2aedd91f10da0d7f98e4cb
2015-04-11 00:38:04 +00:00
alshabib
a3a476d1c4 reinstating the key field in FilterObjectives
Change-Id: I25f7d105edd562785cb213f747e7d9e0650f2635
2015-04-11 00:37:36 +00:00
Sho SHIMIZU
d2e78f9804 Remove unnecessary modifiers to follow the convention
Change-Id: Ie8ff539252df6ed9df5ff827d639166a78fbf18d
2015-04-10 23:03:19 +00:00
alshabib
910aff10a7 WIP: Initial implementation of filterObjectives using driver subsystem.
Incomplete implementation

Change-Id: I3745d481027659d4ca44b72139e5461c02e8c3ef
2015-04-09 16:57:18 -07:00
sangho
538108bae8 ONOS-1440: Implements port statistics feature, which polls port statistics of all devices every 10 seconds. Also, implemented a simple portstats ONOS CLI command to show the statistics.
Change-Id: I57e046ae2c2463a58b478d3a5b523422cde71ba2
2015-04-09 22:43:41 +00:00
alshabib
975617b709 ImmutableMap.Builder does not allow for duplicate keys, causes build() to fail.
Change-Id: I235ec0f802b3befbfa3e6338e8bd28814eb868c4
2015-04-09 13:26:53 -07:00
Jonathan Hart
cc36be8bb0 Don't use exceptions for commonly-used logic
+ javadocs

Change-Id: Ib4d886e10996273855ab5784dc4a0d86f5b11103
2015-04-09 11:56:54 -07:00
Jonathan Hart
ca335e9366 Add persistence option to ECMap
Work towards ONOS-1337

Change-Id: I24e6a42e2f8856b363e79786829c51344797b81b
2015-04-09 18:17:45 +00:00
Thomas Vachuska
5c2f813575 Device driver framework enhancements and CLI.
Change-Id: I5dea67620259797eff89a985718934034a86d63e
2015-04-09 18:17:09 +00:00
alshabib
429477825c implemented a distributed default flow registration mechanism to avoid duplicate requests from other onos instances
Change-Id: Ib2abb483456538e3e08e9790c4b4b0d50db8b384

implemented a distributed default flow registration mechanism to avoid
duplicate requests from other onos instances

Change-Id: I620cc51ac29cddaffa73cdbb20e9a9acbdd9ea69
2015-04-09 18:01:02 +00:00
Ayaka Koshibe
c19b8b84fd DistributedLeadershipManager tracks topic election candidates in addition to
leaders. Includes update to leaders CLI command to list candidates.

part of: Device Mastership store on top of LeadershipService
Reference: ONOS-76

Conflicts:
	core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DistributedLeadershipManager.java

Change-Id: I587bb9e9ad16a9c8392969dde45001181053e5e6
2015-04-09 17:57:51 +00:00
HIGUCHI Yuta
5bb99a4015 Add support to decode Device, Port, Link JSON.
- Device, Port, Link can now be encoded and decoded back to Java Object,
  which will be Object#equals to the original.
- Modified DeviceServiceAdapter to be null-safe when possible
- Modified JSON assertion/matcher not to check for exact number of attributes

Change-Id: I7cf02e2254cf17f6265fb15847912519e564b14f
2015-04-09 06:08:29 +00:00
Thomas Vachuska
ca88bb7440 Cleaning up and enhancing driver subsystem and the flow objective subsystem.
Change-Id: Ica600ef1aaa46d19e764cd7a197454a4e0f85a08
2015-04-08 19:38:02 -07:00
Madan Jampani
3e033bd22d Added a LogicalClockService for ordering arbitrary events in the cluster. Updated couple of areas that are currently vulnerable to clock skew
Change-Id: I14548ecb3c783104de8d72cbb5eb21de6ece08ed
2015-04-09 01:19:29 +00:00
Madan Jampani
b5d72d59f6 Support for a distributed counter
Change-Id: I346e9baa28556fac13e53771021f5f6fbcd75ac9
2015-04-08 19:33:54 +00:00
alshabib
77b8848f51 added FlowObjectiveService to act as an objective manager between applications and drivers
Change-Id: I4dc44db8bafae8a55b7663895c87b1b08645637f
2015-04-07 15:48:36 -07:00
alshabib
faa1e36627 Initial sketch and implementaion of Objectives.
These objective will be used to provide a layer of abstraction
that isolates applications for device pipeline details.

initial objective support

Change-Id: I019302822421f0fe1f508f2f7527d91578e30116

initial implemetation of a simple pipeline behaviour

Change-Id: Id0d9167896c717d05cda90e1524fc24c76e9fc9b

initial implementation of objectives

Change-Id: I768fa2020308d5feb95eaaff355aa511b323beca
2015-04-07 15:48:36 -07:00
Ayaka Koshibe
a48f752480 Leadership construct includes List of NodeIds to describe current
leader/backups (candidates) for a topic. This includes removing the RoleInfo in
LeadershipEvent, to deduplicate information.

RoleInfo is also made a bit saner with the Optional leader field.

part of: Device Mastership store on top of LeadershipService
Reference: ONOS-76

Change-Id: I957c4d79125873d5a7280f60231d26d2806ab27f
2015-04-03 20:55:10 +00:00
Madan Jampani
bff6d8f4fc Added distributed transaction support through a two phase commit protocol
Change-Id: I85d64234a24823fee8b3c2ea830abbb6867dad38
2015-04-03 20:39:07 +00:00
Ray Milkey
77a455f4c5 Intent manager unit test enhancements
- add test to be sure that all flows are removed when intents
  are withdrawn
- add test to be sure that all flows are removed when an intent
  installation fails. Currently disabled, intent cleanup is
  not implemented
- enable installation time out test

Change-Id: I8c7a75292a97404ef89856647c67ef2f70ffcf6f
2015-04-03 19:39:56 +00:00
Thomas Vachuska
00121ed30a Javadocs cleanup.
Change-Id: Ia731178e76b29a2f00045efad759b9c0559645d7
2015-04-03 00:23:18 +00:00
alshabib
8c2a8b33c1 Initial sketch of driver based configuration api.
Change-Id: I82468aea5d698b28a4fd996142f9c88d7a56e31f
2015-04-02 22:01:35 +00:00
Madan Jampani
08706ce97f Added support for a distributed set implementation that is backed by Consistent Map
Change-Id: Ic393d305d31abcdf1dd4c9afc3b9234f8d50da2d
2015-04-02 10:57:44 -07:00
Madan Jampani
a89f8f95d4 Added support for "maps" cli command that displays meta information for various consistent maps in the system
Change-Id: I63e590a8520ac9d1238efe4ad0033dcba939e472
2015-04-02 17:48:58 +00:00
Thomas Vachuska
de563cf235 Added ability to form a cluster via REST API.
Change-Id: Ib71f6b4caed1b1c4b9db78596ee35bf5cab05184
2015-04-01 20:39:37 +00:00
Madan Jampani
f1b8e177c6 Support a inmemory p0 partition encompassing all nodes in the cluster. This will be used by leadership manager and other usecases
that need strong consistency for coordination and not durable storage

Change-Id: I8e590e46d82a3d43cae3157a04be820bb7e1b175
2015-03-30 10:23:48 -07:00
Thomas Vachuska
e586b799fb GUI -- Preliminary work for converting tabular views to use the shared web-socket rather than via REST. WIP.
Change-Id: I68de98e8df0a2bbcebe15ad9015ce6b4df43d81c
2015-03-26 21:30:45 +00:00
Brian O'Connor
b5dcc51d10 Adding device and host tracking for intents (ONOS-1356)
Also, this should fix ONOS-1184 (intents submitted before hosts detected).

Change-Id: I47a503c18dc728912132eb2e2fcc160d47e518eb
2015-03-26 00:40:34 +00:00
Jonathan Hart
4a0ba56a4d DefaultTrafficTreatment: Build all-instructions list at creation time
so that we don't have to join the two lists each time we want to see all instructions

Change-Id: I7f1ad252776abcb6768372eeaabfa661bdded36c
2015-03-25 23:02:53 +00:00
Jonathan Hart
6ec029a5d9 Implemented a Builder pattern for EventuallyConsistentMaps.
EventuallyConsistentMap has been moved to the API package so is now available outside the stores.

ONOS-1357

Change-Id: I1c892eb3dbefa72cb3f3eb3ccc74e9a02c7e2ac9
2015-03-25 22:49:46 +00:00
Brian O'Connor
a751537f21 Adding FlowRuleIntent to kryo (ONOS-1384)
Change-Id: Ica6cb24d95d7bcd3cce8d18074c96cb1c25b2f21
2015-03-25 22:01:33 +00:00
Ray Milkey
22083ae9d9 Fix Javadoc error
Change-Id: I49beec57d1e35f5500b576e1fe29da50dcc09649
2015-03-25 21:29:18 +00:00
Jonathan Hart
7061acd6da Unit tests for PartitionManager
Change-Id: I721ed6489ce19cb78ce9e2f150dfed90882f3b0e
2015-03-25 20:58:37 +00:00
Jonathan Hart
72175c2376 Moved duplicated isUpdateAcceptable method to IntentData
and wrote a unit test for it.

Change-Id: I8b38476c41fba70abbba7ed0b37364696f17966d
2015-03-25 18:39:31 +00:00
Srikanth Vavilapalli
717361f32f Distributed group store using eventual consistent map abstraction
Change-Id: I618a0f6fa80e0e25285d7a2026032f09ba90aa70
2015-03-25 00:27:54 +00:00
Sho SHIMIZU
ee2aa65a3d Merge IntentInstaller's role into IntentCompiler
It resolves naming mismatch in naming of IntentProcessPhases and states
handled in the phases. It is described in ONOS-1064.

- Define FlowRuleIntent that enables flow rule level operation
  as an intent.
- Remove IntentInstaller interface
- Existing installable intents such as PathIntent, LinkCollectionIntent,
  OpticalPathIntent and MplsPathIntent now become non installable intents.
  Only FlowRuleIntent is categorized as installable intent now.
- Implement intent compilers for PathIntent, LinkCollectionIntent,
  OpticalPathIntent and MplsPathIntent. They generates FlowRuleIntents.
- Write unit tests for the newly created intent compilers according to
  the intent installers' unit tests
- Remove all intent installers and their unit tests

Change-Id: I22d6c7acb65a4c066145de0018bd0727f44bd54a
2015-03-24 14:09:04 -07:00
Ray Milkey
e076c791a5 Implement builders for optical intents
Change-Id: Ide728a943eb0ec3d3ba995f63c016e7d52bff65c
2015-03-24 20:08:31 +00:00
Madan Jampani
6e0d147193 Fixes a javadoc warning
Change-Id: I0da1e4bd229940bbf6d64f12349f134aae326f4b
2015-03-24 20:05:52 +00:00
Ray Milkey
4250735018 Remove deprecated instructions() method in the traffic treatment class
Change-Id: I739b35bdcbf9867c639c7b6ca4006f3eeafbb055
2015-03-24 18:18:28 +00:00
Madan Jampani
7c5210069d ONOS-1362: Support async version of ConsistentMap that lets efficient chaining of operations
Change-Id: I672a15ba2a517db3e22f6ce8d739ca48307e6e63
2015-03-24 00:00:32 +00:00
Madan Jampani
7d2fab296a ONOS-1326: Added support for observing when node liveness status was last updated. Useful for detecting/debugging stability issues.
Change-Id: I8ffebcf3a09a51c6e3e7526986a0f05530ed757f
2015-03-23 21:45:52 +00:00
Ray Milkey
ebc5d22159 Refactor connectivity intent creation to use builders
- Each connectivity intent now has only one constructor
- Intent constructors are now private for leaf classes and
  protected for classes that can be derived from
- Each intent class has a Builder class that accumulates
  parameters for intent creation
- Each intent class has a public static builder() method
  to create a builder
- Each Builder class has a build() method to create the
  intent from the accumulated parameters
- Added keys to a few intent types that were missing them
- Tightened up usage of checkNotNull(), taking advantage of
  the return value to save some lines of code
- Modified callers to use the builders instead of directly
  calling the constructors

Change-Id: I713185d5ecbadbf51f87ef7f68fec41102106c78
2015-03-23 21:12:14 +00:00
Jonathan Hart
0d18df3f35 Implement copyData as copy constructor on IntentData.
Cleaned up javadocs. 

Change-Id: I90e6350244991d4f30180fe501fec9e6fd180d43
2015-03-23 21:06:35 +00:00