1812 Commits

Author SHA1 Message Date
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
Thomas Vachuska
40a398b948 Fixed a defect in app archive base class.
Change-Id: If54d65926ad4b4c346a234d6ffac75ca2797efa3
2015-04-03 22:26:30 -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
Jonathan Hart
0466293545 Remove old debugging log
Change-Id: Id33700442b739acddc96da7d02c157a32305678b
2015-04-03 11:30:11 -07:00
Thomas Vachuska
00121ed30a Javadocs cleanup.
Change-Id: Ia731178e76b29a2f00045efad759b9c0559645d7
2015-04-03 00:23:18 +00:00
Thomas Vachuska
152f9fdf30 Shutdown cleanup; hunt for exceptions continues
Change-Id: I8cbfaec0820d63f5122a82dd25ba249ba1f690a4
2015-04-03 00:01:31 +00:00
Madan Jampani
1a4eca0459 Use a low raft leader election timeout when cluster size is one
Change-Id: I0755411f0b20b8e4cd8f8f2fa58e173add4f32dc
2015-04-02 23:59:42 +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
Thomas Vachuska
8dc1a69a95 Added bootstrap code to auto-generate cluster.json, tablets.json and hazelcast.xml using local site address.
Change-Id: I3210aadc63403022b4aac3bc3591736801240b50
2015-04-01 19:13:51 +00:00
Ray Milkey
fd7931d385 ONOS-1404 - Rerouting delayed due to flows being removed out of order
ONOS-1409 - handle all links to a switch going away and coming back

Change-Id: Ib7216530fa8eef41b1088c5122a40bf9265481ca
2015-03-31 19:46:22 +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
161baf54dc ONOS-1418 Fix for intermittent issue with app store.
Change-Id: I94cb818550825984ec5e70a82a772a6f3bae5b0d
2015-03-27 16:15:39 -07:00
Brian O'Connor
9ac147662f Fixing intent reroute (ONOS-1403)
However, there is a race that can temporarily break data plane connectivity.
The problem is described in ONOS-1404

Change-Id: I3df1948180b42fc7f4c2d072bd8c2b452dd07e61
2015-03-27 01:33:33 +00: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
Jonathan Hart
4a4d18f8e2 Reduce log level of frequent benign exception
Change-Id: Ib4b7c760fa2c494a07168318b3a078cf25c1ce91
2015-03-26 20:38:33 +00:00
Madan Jampani
cd48bfd694 Make sure message handling executor references are appropriately managed when we modify the service configuration
Change-Id: I56866dd8c3359de0fcf827fc247024c65a63c5c2
2015-03-26 03:08:48 +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
Simon Hunt
9fec43fb7d Updated CoreManager version string to be 1.2.0-SNAPSHOT.
Change-Id: I3de77314b84d3bd51ca709c36e29f2c33fce816c
2015-03-25 18:48:36 +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
Jonathan Hart
b59ac4eaee Reduce log level for frequent leadership event log
Change-Id: Ie074588a516f160de92ba8ee9a51d7b9fbcfe43d
2015-03-25 17:30:57 +00:00
Thomas Vachuska
5630c61407 ONOS-1323 Upgrading environment to use Apache Karaf 3.0.3
Requires restart of any dev shell sessions that may have KARAF_VERSION=3.0.2 already set.

Developers that have their own local Karaf will have to run 'onos-setup-karaf <ip-address>' command

Change-Id: Iba234b3cd5af89de6dd249c97cac97525364cc34
2015-03-25 00:56:59 +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
Thomas Vachuska
4fcdae7c03 GossipApplicationStore fix to prevent attempt to notify delegate when there isn't one yet. Fixes an intermittent NPE.
Change-Id: I49a2f0da08949fb4f589e6e831a74e5728196a2f
2015-03-24 11:39:05 -07: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
Thomas Vachuska
0d6af8d983 Fixed a defect where remotely-induced feature install was trying to stomp over locally -induced feature install.
Change-Id: I1cb2c2dd3da03a34b80b1db312056b44cc9c1f9f
2015-03-23 15:54:47 -07: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
Brian O'Connor
023a1c72d6 Revert "Abstract ConnectivityIntentCompiler is not a @Component"
This problem needs to be fixed in a better way.

This reverts commit 8317ad56e8c5dc6b8c5fadf3d87a51f885c8dfa2.

Change-Id: Icbc4492016a0858221a3e79121db36cbb87b3b2b
2015-03-20 01:11:29 +00:00
Brian O'Connor
8317ad56e8 Abstract ConnectivityIntentCompiler is not a @Component
Change-Id: I62844f2dbc459f2b7053fbc0eb12e32f1e1293ac
2015-03-20 01:08:06 +00:00
Thomas Vachuska
d5d9bcbdce Changing location where ONOS stages its deployed apps.
Change-Id: Ia3931454067829b6331419f81a714d865dc8a1e6
2015-03-18 17:46:20 -07:00
HIGUCHI Yuta
3c994f7e8c ONOS-1329: Migrate Codec related code to onos-core-common bundle
- removed unused dependency to onos-core-trivial tests

Change-Id: I0f13cff6cc99403f7c0e0d7362f83d0ba557f10b
2015-03-19 00:42:52 +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