772 Commits

Author SHA1 Message Date
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
Jonathan Hart
67fc097a1e Remove "strip vlan" from our API because it is the same as "pop vlan".
"Strip vlan" is OF1.0 terminology, whereas by OF1.3 it is called "pop vlan".

Change-Id: I483526b39bf8ab6f9f96f251a8469e060b688878
2015-03-20 23:50:28 +00:00
Ray Milkey
3e3ec5f786 [Cardinal] Add builders for Intents and remove extra constructors.
Starting with PointToPoint intent to see how it looks

Change-Id: I5366a05d657ceaad18c03b95cd71f5d1107200e2
2015-03-18 22:17:54 +00:00
Sho SHIMIZU
3e7afd865a Remove unused constructors in ConnectivityIntent
We will move to use Builder pattern for intents

Change-Id: I68d5811ea16acdac9396d7eaab2dd539a4411889
2015-03-18 11:45:55 -07:00
Ray Milkey
50a9b72f2d Add priority to remaining intent types
Change-Id: I77a7c2fbdb0f6b6a9d3c08cf190ab8cf4968668d
2015-03-18 16:25:57 +00:00
Brian O'Connor
6ea48a22fe Starting snapshot 1.2.0-SNAPSHOT
Change-Id: Iffa1055c22448849353ede6581c277f4d3de78d8
2015-03-17 20:07:20 -07:00
Brian O'Connor
91d9019b24 Tagging ONOS Blackbird release: 1.1.0
Change-Id: Iee1accb8f83e03a1c4b2250d36d48aefd6383c97
2015-03-17 19:45:58 -07:00
Brian O'Connor
f2114997a3 Small fixes to IntentService and perf-installer
Change-Id: I7f1fedd96e5154254aa1db205e9427ac122bfc39
2015-03-18 01:09:42 +00:00
Ray Milkey
0bc05997de Unit test for MPLS Objects
Change-Id: Id205a8d51822a88ee237278f17122f65ab05e65d
2015-03-17 22:51:17 +00:00
Thomas Vachuska
ff9652358e Fixing the 'wrong subject' bug.
Change-Id: I6a3497057406f5fffc5cc2a46db2174b20c2ff43
2015-03-17 14:10:52 -07:00