9 years agoBug 509: Improve logging in InMemoryDataStore. 24/6224/1
Tony Tkacik [Wed, 16 Apr 2014 07:14:34 +0000 (09:14 +0200)]
Bug 509: Improve logging in InMemoryDataStore.

Change-Id: Ia83fd9f68fde9cf082f5571f42b265a323638fb2
Signed-off-by: Tony Tkacik <>
9 years agoBug 509: Fixed incorrect merging of Data Store Writes / Events 17/6217/2
Tony Tkacik [Tue, 15 Apr 2014 15:48:56 +0000 (17:48 +0200)]
Bug 509: Fixed incorrect merging of Data Store Writes / Events


In old Data API only way to replace element was to use
remove/put combination, which changed with new Async DOM Broker
APIs where put is actually add/replace so previous delete is not

BackwardsCompatibleTransaction keeps track of such remove/put
operations and propagates put-only to new Async Data Transaction.


Builder for DOMImmutableDataChange event used ImmutableMap builder
which throws IllegalArgumentException when same key/value combo
is overriden, which made impossible to merge some events. Switched
Builder implementation to use combination of HashMap and
ImmutableMap.copyOf() in order to prevent this
IllegalArgumentException to fail commit process.

Change-Id: I935bd4f5499c26190c52adcaee1df6335640bfaf
Signed-off-by: Tony Tkacik <>
9 years agoBug 509: Fixed small discrepancies in Binding Data Change Events. 60/6160/6
Robert Varga [Mon, 14 Apr 2014 15:46:07 +0000 (17:46 +0200)]
Bug 509: Fixed small discrepancies in Binding Data Change Events.

DataNormalizer which was responsible to render representation
of Instance Identifier in original format was introducing
additional node, when translation happened from normalized
to legacy, which is only triggered by Data Change Events.

Implementation of responsible algorithm was changed to
use schema in order to derive legacy InstanceIdentifier.

Data Change Events

 - Translated Data Change events were deserialized from
   DOM format on each access to fields, which may introduced
   CPU time overhead.

   Immutability of backing Data Change Events allows to
   add lazy caching of translated TOs, since event and data
   contained in Event Object are immutable.

 - getUpdated*Data in original Binding APIs returned
   both created and modified, so backwards-compatible fix
   was introduced.

Change-Id: Idab3dffb8651d50cca79a22ddcd43af29561b80e
Signed-off-by: Tony Tkacik <>
Signed-off-by: Robert Varga <>
9 years agoBug 509: Added In-memory datastore support for wildcarded change listeners 43/6143/6
Tony Tkacik [Thu, 10 Apr 2014 13:39:31 +0000 (15:39 +0200)]
Bug 509: Added In-memory datastore support for wildcarded change listeners

Added support for wildcarded data change listeners,
which may register to updates of list entries (and their
subentries) without specifying key for list items.

Support for Wildcarded Data Change Listneners is done by
refactoring DataChangeEventResolver into Map/Reduce processing.

Map phase:
When visiting each modified node (with key) we also
looks for listener listening on same level without key.
This actually may trigger creation (mapping) of multiple events
for same listeners (eg. two flows we're added at the same time).

Reduce phase:
We walked thru all listeners to be notified and if they have
multiple events assigned, we merge them into one even to be

Change-Id: Ic05ddae10bd0b316009cc5bafdeca76350f00390
Signed-off-by: Tony Tkacik <>
9 years agoBUG-509: improve normalization error reporting 66/6166/3
Robert Varga [Mon, 14 Apr 2014 16:13:00 +0000 (18:13 +0200)]
BUG-509: improve normalization error reporting

This patch introduces an explicit checked exception for reporting
normalization errors, declares it at strategic places and makes use of
it for generating better error reports than:

Caused by: java.lang.IllegalArgumentException: Supplied QName (urn:opendaylight:params:xml:ns:yang:pcep:crabbe:initiated:00?revision=2014-01-13)initiation is not valid according to schema container stateful

Change-Id: I2020c9e6ef85035259558a32f141a132b6321e0e
Signed-off-by: Robert Varga <>
9 years agoBUG-509: Fail forwarning write if read fails. 65/6165/2
Robert Varga [Mon, 14 Apr 2014 13:12:45 +0000 (15:12 +0200)]
BUG-509: Fail forwarning write if read fails.

This primarily gets rid of e.printStackTrace(), but as part of that it
defines an important thing: if a read fails while we're building up the
path, we should not try to continue with the operation.

Change-Id: I48cb6cd304a98684a6984d26b6fc8dd5d14963c5
Signed-off-by: Robert Varga <>
9 years agoBug 651 - Added back IDE profile and changed target for yang sources 14/5914/5
jameshall03885 [Wed, 9 Apr 2014 14:30:03 +0000 (10:30 -0400)]
Bug 651 - Added back IDE profile and changed target for yang sources

- The IDE maven profile was added back based on feedback from Giovanni Meo

- To avoid devs from having to run the IDE profile so eclipse can see the yang
generated source files, the yang source files are now generated under src/main/yang-gen-sals
or src/main/yang-gen-config instead of target/target-ide.

- The maven-clean-plugin was moved to the commons base pom and removed from
all child poms where it was specified. Thus, it will be automatically run for all
projects. The plugin's execution will clean all xtend and yang generated source dirs.

- The build-helper-maven-plugin was also moved to the commons base pom and removed from
all child poms. It will automatically run for all projects and no longer needs to be
specified in child poms. The plugin's execution will created eclipse source folders
for all xtend and yang generated source.

Tom P and Devin A really did all this work, Greg just gets credit unfairly.


Change-Id: I8d9e403629cab2e48d03d5c7a417a02f1d878ca7
Signed-off-by: tpantelis <>
Signed-off-by: jameshall03885 <>
Signed-off-by: dbavery <>
Signed-off-by: jameshall03885 <>
9 years agoFix run script always emitting a warning 46/6146/1
Robert Varga [Fri, 11 Apr 2014 16:21:26 +0000 (18:21 +0200)]
Fix run script always emitting a warning

This fixes a typo which resulted in the "memory not set" warning always
being omitted.

Change-Id: I7a9479adc6dde9be3d09e10d6e05e22004a876e6
Signed-off-by: Robert Varga <>
9 years agoMerge "Remove unused code"
Tony Tkacik [Fri, 11 Apr 2014 14:49:47 +0000 (14:49 +0000)]
Merge "Remove unused code"

9 years agoMerge "BUG-592: Fix InstanceIdentifier instantiation"
Tony Tkacik [Fri, 11 Apr 2014 14:45:56 +0000 (14:45 +0000)]
Merge "BUG-592: Fix InstanceIdentifier instantiation"

9 years agoAdd async addStaticFlow api to FRM 86/5886/3
Alessandro Boch [Thu, 3 Apr 2014 06:22:47 +0000 (23:22 -0700)]
Add async addStaticFlow api to FRM

Change-Id: I6189ab2f617895a780bd14b9a620250476058da5
Signed-off-by: Alessandro Boch <>
9 years agoRemove unused code 44/6144/1
Giovanni Meo [Fri, 11 Apr 2014 13:19:12 +0000 (15:19 +0200)]
Remove unused code

- Cleanup some unused code from opendaylight/sal directory

Change-Id: I2a1197f9221c68bbd742584c1bd13ee3adf23af3
Signed-off-by: Giovanni Meo <>
9 years agoMerge "BUG-509: improve memory efficiency of ListenerTree"
Tony Tkacik [Fri, 11 Apr 2014 08:52:59 +0000 (08:52 +0000)]
Merge "BUG-509: improve memory efficiency of ListenerTree"

9 years agoMerge "BUG-509: Encapsulate ListenerTree"
Tony Tkacik [Fri, 11 Apr 2014 08:52:42 +0000 (08:52 +0000)]
Merge "BUG-509: Encapsulate ListenerTree"

9 years agoBUG-592: Fix InstanceIdentifier instantiation 87/5987/3
Robert Varga [Wed, 26 Mar 2014 23:54:48 +0000 (00:54 +0100)]
BUG-592: Fix InstanceIdentifier instantiation

This is a follow-up patch for and gets rid of using
direct constructor use.

Change-Id: I09310b71c595a99bb09038f129b47b5b28aaaa33
Signed-off-by: Robert Varga <>
Signed-off-by: Tony Tkacik <>
9 years agoreadAllNodeTable() API in queries for wrong OFStatisticsType 42/6042/1
Pramila Singh [Fri, 11 Apr 2014 00:42:52 +0000 (17:42 -0700)]
readAllNodeTable() API in queries for wrong OFStatisticsType

Change-Id: I5551970f89587cbc6adae931d65c164aad8b0ca1
Signed-off-by: Pramila Singh <>
9 years agoBUG-509: improve memory efficiency of ListenerTree 32/6032/1
Robert Varga [Thu, 10 Apr 2014 16:59:45 +0000 (18:59 +0200)]
BUG-509: improve memory efficiency of ListenerTree

As it turns out, we do not need a Set<>, but rather a collection. We do
not expect major modifications of listeners, but memory efficiency and
iteration speed are required. Thus turn the HashSet into an ArrayList.

Also rename DataChangeListenerRegistration to
DataChangeListenerRegistrationImpl, so that the interface itself can be
imported and used as a shortname. This has the nice effect of rendering
a nasty SuppressWarnings completely unneeded.

Change-Id: I100337651c3b42c715978708bc98cf24ce5bf703
Signed-off-by: Robert Varga <>
9 years agoBUG-509: Encapsulate ListenerTree 30/6030/1
Robert Varga [Thu, 10 Apr 2014 10:28:24 +0000 (12:28 +0200)]
BUG-509: Encapsulate ListenerTree

This patch encapsulates the ListenerTree. This provides the
infrastructure needed to make listener registration/unregistration scale
and work in face of asynchronous commits.

Whenever a listener is about to be registered, the tree is write-locked,
the apropriate structure is created and the registration is enqueued.
When a registration is closed, the removeListener() callback re-takes
the appropriate lock and removes the listener.

When the last listener is removed from a node, and that node is unused,
it is cascaded up to its parent for removal, which recursively does the
same. This means that the tree is of unused nodes as soon as they are
freed. The backreference to parent is kept weak, which makes sure we are
able to finalize as much as we can in case of funky references lying

Write locks are never leaked outside of the ListenerTree class, e.g.
they are always released before we return to the caller.

When a transaction is being committed, the ListenerTree is asked for a
Walker, which is an AutoCloseable resource. A Walker is the only way how
foreign code can get hold of a listener tree root node. Each walker is
backed by a reference to a read-lock, e.g. listener
registration/unregistration cannot occur while such a lock is held. This
makes sure the commit process sees a point-in-time view of the listener
tree. When a Walker is closed, the tree lock is read-unlocked. The
close() method is idempotent.

Change-Id: I6ea9b2e00f8ab21a5d8bd3b8c82c193c2069d683
Signed-off-by: Robert Varga <>
9 years agoMerge "Upgrading clustermanager to use infinispan 6.0.2Final."
Giovanni Meo [Thu, 10 Apr 2014 16:18:31 +0000 (16:18 +0000)]
Merge "Upgrading clustermanager to use infinispan 6.0.2Final."

9 years agoMerge "BUG-694: Disable DataReader registration for BA Broker"
Tony Tkacik [Thu, 10 Apr 2014 12:10:24 +0000 (12:10 +0000)]
Merge "BUG-694: Disable DataReader registration for BA Broker"

9 years agoBUG-694: Disable DataReader registration for BA Broker 07/6007/3
Robert Varga [Wed, 9 Apr 2014 16:23:19 +0000 (18:23 +0200)]
BUG-694: Disable DataReader registration for BA Broker

The DataReader's semantic contract with its users, data merge,
when working with Binding-Aware DTOs.

The existing DataReaders implementations need to be rewritten as
datastores, which deal with the same problem in Binding Independent
format, such as the BI Data Broker.

Change-Id: I91b4516bb04a570acb6bf2b381860e9ae3fbbd43
Signed-off-by: Robert Varga <>
9 years agoMerge "Bug 664 Update security.xml in web bundle"
Andrew Kim [Wed, 9 Apr 2014 16:27:28 +0000 (16:27 +0000)]
Merge "Bug 664 Update security.xml in web bundle"

9 years agoMerge "Document why we are using Virgo ExtensionsHookConfigurator"
Giovanni Meo [Wed, 9 Apr 2014 15:11:28 +0000 (15:11 +0000)]
Merge "Document why we are using Virgo ExtensionsHookConfigurator"

9 years agoMerge "Bug 698 - Confingured controller script to set max memory to 1 GB if not defined"
Giovanni Meo [Wed, 9 Apr 2014 14:38:39 +0000 (14:38 +0000)]
Merge "Bug 698 - Confingured controller script to set max memory to 1 GB if not defined"

9 years agoDocument why we are using Virgo ExtensionsHookConfigurator 03/6003/1
Robert Varga [Wed, 9 Apr 2014 14:26:39 +0000 (16:26 +0200)]
Document why we are using Virgo ExtensionsHookConfigurator

Change-Id: I289f091262c238985a83ea69df1b6b57fb29c2e1
Signed-off-by: Robert Varga <>
9 years agoUpgrading clustermanager to use infinispan 6.0.2Final. 57/5957/4
Ravikumar Chiguruvada [Tue, 8 Apr 2014 10:34:56 +0000 (16:04 +0530)]
Upgrading clustermanager to use infinispan 6.0.2Final.

- Removed unnecessary BaseInterceptor clone which was needed for 5.3.0
- Bumped services_implementation implementation version to indicate
this is actually different.
- Modified the parent pom version so version propagate in other places

Signed-off-by: Ravikumar Chiguruvada <>
Signed-off-by: Giovanni Meo <>
Change-Id: I062c72153a2ffe6949f3a3c8d2f0cdaa826bb65c

9 years agoBug 698 - Confingured controller script to set max memory to 1 GB if not defined 80/5980/3
dbavery [Tue, 8 Apr 2014 18:45:14 +0000 (14:45 -0400)]
Bug 698 - Confingured controller script to set max memory to 1 GB if not defined

Modified the and run.bat scripts to configure the java max memory to be
 1 GB if it is not defined on the command line.

NOTE: Java generally sets the memory to be 1/4th the total memory of your system
so it is possible that this will result in LESS memory being allocate (change of
behavior). Once this work item is committed we should encourage a best practice
of defining max memory.

A message will be printed out notifying the users that the max memory was not

Change-Id: I39225f28c4aed3636a1db0cdb41fbe802f5b5b54
Signed-off-by: dbavery <>
9 years agoBUG-509: improve safety of MutableDataTree 95/5995/2
Robert Varga [Wed, 9 Apr 2014 04:37:06 +0000 (06:37 +0200)]
BUG-509: improve safety of MutableDataTree

This limits field visibility and improves seal operation with respect to
other operations. Also make sure to check for multiple seals.

Change-Id: I2c91e59e3308010f8c95a3fb3898bace97b2db97
Signed-off-by: Robert Varga <>
9 years agoBUG-509: limit visibility of updateModificationType() 94/5994/2
Robert Varga [Wed, 9 Apr 2014 04:20:17 +0000 (06:20 +0200)]
BUG-509: limit visibility of updateModificationType()

Limits updateModificationType() to private. Also add GuardedBy
annotations to explain that seal and this method require

Change-Id: Iff49e15c890bac38cb5ff19c347551dcee5bb4b8
Signed-off-by: Robert Varga <>
9 years agoBUG-509: explain the use of SuppressWarnings 93/5993/2
Robert Varga [Wed, 9 Apr 2014 04:02:11 +0000 (06:02 +0200)]
BUG-509: explain the use of SuppressWarnings

This adds an explanation why we opted to suppress warnings instead of
doing the type-safe thing.

Also speeds up string building very slightly by compacting two append()
calls and using append(char) instead append(String).

Change-Id: Ifed1005bb118de101476063790b5c8aee73888bb
Signed-off-by: Robert Varga <>
9 years agoBUG-509: clean up comment 92/5992/2
Robert Varga [Wed, 9 Apr 2014 03:48:36 +0000 (05:48 +0200)]
BUG-509: clean up comment

This cleans up a comment why subtracting 1 from nesting is safe. It also
adds a Preconditions.checkState() to explicitly guard on the

Change-Id: Ia0b755d723d399b99fec98398afabba1222b97b3
Signed-off-by: Robert Varga <>
9 years agoBUG-509: Fix a constructor typo/thinko 91/5991/2
Robert Varga [Wed, 9 Apr 2014 03:39:58 +0000 (05:39 +0200)]
BUG-509: Fix a constructor typo/thinko

The 'nested' array should be initialized as empty, but sized for
the size of path.getPath(), as we fill it continuously as we traverse
the tree.

The original initialization also copied path.getPath(), resulting in the
path reported in full and then correctly.

Change-Id: I9a918ced62a845b985459699e23f1f2f1d55cf35
Signed-off-by: Robert Varga <>
9 years agoMerge "BUG-704 Fix failing integration test in netconf-it"
Tony Tkacik [Wed, 9 Apr 2014 08:19:07 +0000 (08:19 +0000)]
Merge "BUG-704 Fix failing integration test in netconf-it"

9 years agoBUG-704 Fix failing integration test in netconf-it 96/5996/1
Maros Marsalek [Wed, 9 Apr 2014 06:49:35 +0000 (08:49 +0200)]
BUG-704 Fix failing integration test in netconf-it

Ignore for now, proper fix will follow

Change-Id: Iee9bfc3bedf6daca7afd5d57ae37f758c1acd871
Signed-off-by: Maros Marsalek <>
9 years agoBUG-509: Rename StoreMetadataNode.createRecursivelly 90/5990/1
Robert Varga [Wed, 9 Apr 2014 03:29:00 +0000 (05:29 +0200)]
BUG-509: Rename StoreMetadataNode.createRecursivelly

This is a rename of StoreMetadataNode.createRecursivelly() to
StoreMetadataNode.createRecursively(), fixing an obvious typo.

Change-Id: I3891459ebae561b89c27438f2e0f187bd7b7c503
Signed-off-by: Robert Varga <>
9 years agoBUG-509: Fix thread safety of listener registration 72/5972/2
Robert Varga [Tue, 8 Apr 2014 16:07:32 +0000 (18:07 +0200)]
BUG-509: Fix thread safety of listener registration

This commit fixes the race condition where a listener is registered
after preCommit() and before commit(). This is done by moving the
collection into the commit() where it is protected by the
commit/listener synchronized block.

The unregistration safety is handled by wrapping the returned
registration and invoking the equivalent synchronized block.

Change-Id: Ie9abc81b2a773418b34c3051f7665b0dcf047f76
Signed-off-by: Robert Varga <>
9 years agoBUG-509: Improve InMemoryDOMDataStore structure 63/5963/4
Robert Varga [Thu, 27 Mar 2014 02:52:42 +0000 (03:52 +0100)]
BUG-509: Improve InMemoryDOMDataStore structure

Introduce AbstractDOMStoreTransaction, which holds common code. Also use
ToStringHelper to get consistent toString().

Change-Id: I246c891fa4a9a4c12b21eeb2743a00097dd95fbe
Signed-off-by: Robert Varga <>
9 years agoBug 664 Update security.xml in web bundle 85/5985/3
Andrew Kim [Tue, 8 Apr 2014 22:44:58 +0000 (17:44 -0500)]
Bug 664 Update security.xml in web bundle

Update security.xml in web bundle to point to correct img directory

Change-Id: I4cd8dda2641bed3e284f3dc5039490e378042c66
Signed-off-by: Andrew Kim <>
9 years agoMerge "Bug 509: Fixed order of invoking Schema listeners."
Ed Warnicke [Tue, 8 Apr 2014 16:12:31 +0000 (16:12 +0000)]
Merge "Bug 509: Fixed order of invoking Schema listeners."

9 years agoMerge "BUG-509: Fix thread safety of DOMDataBrokerImpl.ready()"
Tony Tkacik [Tue, 8 Apr 2014 16:11:43 +0000 (16:11 +0000)]
Merge "BUG-509: Fix thread safety of DOMDataBrokerImpl.ready()"

9 years agoMerge "BUG-579: Remove ImmutableMap in favor of LinkedHashMap"
Tony Tkacik [Tue, 8 Apr 2014 16:11:26 +0000 (16:11 +0000)]
Merge "BUG-579: Remove ImmutableMap in favor of LinkedHashMap"

9 years agoMerge "Fixed potential class pool override in integration tests."
Ed Warnicke [Tue, 8 Apr 2014 16:11:16 +0000 (16:11 +0000)]
Merge "Fixed potential class pool override in integration tests."

9 years agoBUG-509: Fix thread safety of DOMDataBrokerImpl.ready() 62/5962/1
Robert Varga [Thu, 27 Mar 2014 02:51:34 +0000 (03:51 +0100)]
BUG-509: Fix thread safety of DOMDataBrokerImpl.ready()

Transition to ready has to occur precisely once, so the process of
taking cohorts has to be synchronized.

Change-Id: I8ba8fe7437dd59547d04fec73f5cd9ed43232161
Signed-off-by: Robert Varga <>
9 years agoBUG-579: Remove ImmutableMap in favor of LinkedHashMap 61/5961/1
Robert Varga [Thu, 27 Mar 2014 03:55:56 +0000 (04:55 +0100)]
BUG-579: Remove ImmutableMap in favor of LinkedHashMap

This prevents a single round og as a
trade-off for not leaking a mutable reference to the map.

Change-Id: Idb97a5f4ece1d2f27af728310d9b0807ae305926
Signed-off-by: Robert Varga <>
9 years agoMerge "Update config-module-archetype."
Tony Tkacik [Tue, 8 Apr 2014 11:58:16 +0000 (11:58 +0000)]
Merge "Update config-module-archetype."

9 years agoMerge "Add filtering capability to config.ini in order to reference logging bridge...
Tony Tkacik [Tue, 8 Apr 2014 11:54:24 +0000 (11:54 +0000)]
Merge "Add filtering capability to config.ini in order to reference logging bridge version."

9 years agoMerge "Resolve Bug:522"
Tony Tkacik [Tue, 8 Apr 2014 11:53:15 +0000 (11:53 +0000)]
Merge "Resolve Bug:522"

9 years agoMerge "BUG-633: allow bootstrap customization"
Tony Tkacik [Tue, 8 Apr 2014 10:13:03 +0000 (10:13 +0000)]
Merge "BUG-633: allow bootstrap customization"

9 years agoMerge "Resolve Bug:623 : Generate private key using bouncycastle."
Tony Tkacik [Tue, 8 Apr 2014 09:59:15 +0000 (09:59 +0000)]
Merge "Resolve Bug:623 : Generate private key using bouncycastle."

9 years agoMerge "Bug 639, Bug 641, Bug 642: This is MD-SAL based sample implementation of a...
Tony Tkacik [Tue, 8 Apr 2014 09:55:33 +0000 (09:55 +0000)]
Merge "Bug 639, Bug 641, Bug 642: This is MD-SAL based sample implementation of a learning switch with optimizations in how packet is forwarded. Link to detail documetation:"

9 years agoMerge "524 bug - %2F slashes translation behind mount point (unit test)"
Tony Tkacik [Tue, 8 Apr 2014 09:44:35 +0000 (09:44 +0000)]
Merge "524 bug - %2F slashes translation behind mount point (unit test)"

9 years agoMerge "BUG-672 Make Xml directory adapter skip initial config files with invalid...
Tony Tkacik [Tue, 8 Apr 2014 09:39:35 +0000 (09:39 +0000)]
Merge "BUG-672 Make Xml directory adapter skip initial config files with invalid xml."

9 years agoMerge changes I6029bd48,Ie8eb4152
Tony Tkacik [Tue, 8 Apr 2014 09:39:15 +0000 (09:39 +0000)]
Merge changes I6029bd48,Ie8eb4152

* changes:
  BUG-672 Add includeExtensions property to Xml directory persister adapter.
  BUG-672 Remove deprecated plaintext/autodetect persister adapters.

9 years agoMerge "bug - missing excaping of % character in String.format() method"
Tony Tkacik [Tue, 8 Apr 2014 09:38:45 +0000 (09:38 +0000)]
Merge "bug - missing excaping of % character in String.format() method"

9 years agoMerge "Fix bug 666 - Neutron Subnet Creation Error"
Madhu Venugopal [Mon, 7 Apr 2014 22:38:36 +0000 (22:38 +0000)]
Merge "Fix bug 666 - Neutron Subnet Creation Error"

9 years agoFixed potential class pool override in integration tests. 46/5946/1
Tony Tkacik [Mon, 7 Apr 2014 15:34:04 +0000 (17:34 +0200)]
Fixed potential class pool override in integration tests.

Classloader in JUnit test is shared resource and in order
to integrate well with Javassist we are required to share
also classpool in order to compile generated code
using previously existing generated code in same Classloader.

If we introduce new ClassPool for same classloader,
compilation may fail, because new ClassPool is unable
to fetch bytecode for already generated classes.

Change-Id: Idd933670fe0a1c06d40aeed182f46997a843ab91
Signed-off-by: Tony Tkacik <>
9 years agoBUG-672 Make Xml directory adapter skip initial config files with invalid xml. 44/5944/1
Maros Marsalek [Mon, 7 Apr 2014 15:28:36 +0000 (17:28 +0200)]
BUG-672 Make Xml directory adapter skip initial config files with invalid xml.

Issue a warning and continue to next file.

Change-Id: I1950eddc80b958f5887458ebeaa53b590506c31c
Signed-off-by: Maros Marsalek <>
9 years agoBUG-672 Add includeExtensions property to Xml directory persister adapter. 42/5942/1
Maros Marsalek [Mon, 7 Apr 2014 12:48:15 +0000 (14:48 +0200)]
BUG-672 Add includeExtensions property to Xml directory persister adapter.

This property allows to filter initial config files by extension.
Property supports multiple extensions separated by ','.
This property is optional, and if not present, all files are picked up regardless of their extension.

Change-Id: I6029bd48fa3b576006a4409d8f19e0c4956de036
Signed-off-by: Maros Marsalek <>
9 years agoBUG-672 Remove deprecated plaintext/autodetect persister adapters. 41/5941/1
Maros Marsalek [Mon, 7 Apr 2014 11:04:39 +0000 (13:04 +0200)]
BUG-672 Remove deprecated plaintext/autodetect persister adapters.

Xml adapters are the default adapters now for configuration persister.

Change-Id: Ie8eb41520671bb00503a340f6b4b55ebe1ef7bf1
Signed-off-by: Maros Marsalek <>
9 years agoBug 509: Fixed order of invoking Schema listeners. 37/5937/1
Tony Tkacik [Mon, 7 Apr 2014 10:31:55 +0000 (12:31 +0200)]
Bug 509: Fixed order of invoking Schema listeners.

Explicitly registered SchemaServiceListeners
are invoked before listeners picked-up by whiteboard
pattern, which by default are not aware
of the service.

Change-Id: Id41b89a1ba2ccb5323d5ab5ad8a95d2048776679
Signed-off-by: Tony Tkacik <>
9 years agoResolve Bug:623 : Generate private key using bouncycastle. 34/5934/3
Tomas Olvecky [Mon, 7 Apr 2014 07:44:31 +0000 (09:44 +0200)]
Resolve Bug:623 : Generate private key using bouncycastle.

Add dependency on bouncycastle and use it to generate private key in PEM
format when key file is not present on the filesystem.

Change-Id: I07290e0f361151743a50559c26255eab23cababb
Signed-off-by: Tomas Olvecky <>
9 years agoMerge "BUG-509: make sure datastore commits are visible"
Tony Tkacik [Mon, 7 Apr 2014 09:04:13 +0000 (09:04 +0000)]
Merge "BUG-509: make sure datastore commits are visible"

9 years agoMerge "Edges are left in TopologyManager database when nodes disconnect"
Giovanni Meo [Mon, 7 Apr 2014 08:06:17 +0000 (08:06 +0000)]
Merge "Edges are left in TopologyManager database when nodes disconnect"

9 years agobug - missing excaping of % character in String.format() method 32/5932/1
Jozef Gloncak [Mon, 7 Apr 2014 06:27:19 +0000 (08:27 +0200)]
bug - missing excaping of % character in String.format() method

Change-Id: Ic44ff0cf558efbba9c465ac760da13fcf3add2cb
Signed-off-by: Jozef Gloncak <>
9 years agoFix bug 666 - Neutron Subnet Creation Error 30/5930/1
Dave Tucker [Sun, 6 Apr 2014 16:48:33 +0000 (17:48 +0100)]
Fix bug 666 - Neutron Subnet Creation Error

When a neutron subnet is created on the Northbound API, containing the
new "ipv6_address_mode" or "ipv6_ra_mode" fields with "null" values
Jersey will fail to deserialise the object correctly and throw an HTTP
500 error with a NullPointerException.

This commit adds the above fields to the NeutronSubnet object and
permits these fields to be nillable.

Change-Id: I225581b57a1698a5e5c17f91b117fba556b70976
Signed-off-by: Dave Tucker <>
9 years agoBUG-509: internal cleanup 12/5912/2
Robert Varga [Fri, 4 Apr 2014 17:14:57 +0000 (19:14 +0200)]
BUG-509: internal cleanup

Spell-check internal class and make it static
Make sure we don't have null name in contructor
Make sure we don't have null executor in constructor
getIdentifier() should be final

Change-Id: Ib8ebe82106d953581738bccbe1d4b878f9520b5b
Signed-off-by: Robert Varga <>
9 years agoBUG-509: make sure datastore commits are visible 13/5913/2
Robert Varga [Fri, 4 Apr 2014 17:50:57 +0000 (19:50 +0200)]
BUG-509: make sure datastore commits are visible

This wraps the datastore root in an AtomicReference, which makes sure
started transactions see the latest published commit. This will make
the datastore handling more robust under tight conditions.

Also uncovers the fact that we are invoking user code under lock, which
we fix by reusing the executor used by the commit machinery.

Finally it uncovers thread-unsafe listener list manipuation. This will
need to be addressed in a follow-up patch.

Change-Id: Ic7efd266ef680701c1f0944ee675122d8527568b
Signed-off-by: Robert Varga <>
9 years agoBUG-633: allow bootstrap customization 29/5929/1
Robert Varga [Sun, 6 Apr 2014 16:20:58 +0000 (18:20 +0200)]
BUG-633: allow bootstrap customization

Downstream projects may need to customize Bootstrap/ServerBootstrap
instances before they are used. Create two protected methods which
can be overridden to gain access to the instances before they are used.

Change-Id: Ibb45c7b99847cbe2fe8b90e8d1bf125c66a18e0d
Signed-off-by: Robert Varga <>
9 years agoEdges are left in TopologyManager database when nodes disconnect 19/5919/1
Maurice Qureshi [Sat, 5 Apr 2014 03:17:22 +0000 (20:17 -0700)]
Edges are left in TopologyManager database when nodes disconnect

When nodes are disconnected from ODL Controller, some edges are left
in TopologyManager's database. As a result GUI (and possibly REST APIs0
still shows some switches to be connected even when there are no
switches connected to the controller.

Change-Id: Ia4a5ae0160b07ba0207bf763dbc234e34dcf5816
Signed-off-by: Maurice Qureshi <>
9 years agoBug 639, Bug 641, Bug 642: This is MD-SAL based sample implementation of a learning... 18/5918/2
Amit Mandke [Sat, 5 Apr 2014 00:59:52 +0000 (17:59 -0700)]
Bug 639, Bug 641, Bug 642: This is MD-SAL based sample implementation of a learning switch with optimizations in how packet is forwarded.
Link to detail documetation:

It has following components:
PacketHandler examines Ethernet packets to find information about Mac-Port pairings.
 -informs AddressTracker about new Mac-Port pairings.
 -informs FlowWriterService about new flows, when the source & destination of a packet are known.
 -uses InventoryService to determine external ports and only send packets to those ports when flooding packets in the network.

AddressTracker stores the Mac-Port pairings in the MD-SAL data tree.

InventoryService provides information about the nodes and node connectors in the network.

FlowWriterService adds packet forwarding (mac-to-mac) flows to the MD-SAL data tree.
 -uses NetworkGraphDijkstra to determine all the intermediate nodes along a path.

TopologyLinkDataChangeHandler listens to topology updates and informs NetworkGraphDijkstra of these updates.

NetworkGraphDijkstra maintains the network graph and computes the shortest path between each node.

Change-Id: I33497a9e2136316de1db16e1c7f916cbc13f437f
Signed-off-by: Amit Mandke <>
9 years agoBug 510: Updated initial configuration to easily enable new datastore 79/5879/11
Robert Varga [Fri, 4 Apr 2014 13:25:41 +0000 (15:25 +0200)]
Bug 510: Updated initial configuration to easily enable new datastore

In order to enable new in-memory datastore (and to wire it with clients)
initial configuration of md-sal (01-md-sal.xml) needs to be updated
to unwire old services and wire new one to the actual MD-SAL brokers.

This could be done by commenting out all DATA-BROKER sections
and uncommenting NEW-DATA-BROKER sections.

Change-Id: I072a65785593b82ec4b1ff6e3dae4c0af7497659
Signed-off-by: Tony Tkacik <>
Signed-off-by: Martin Sunal <>
Signed-off-by: Robert Varga <>
9 years agoMerge "Bug 510: Implementation of Forwarded Binding Data Broker"
Ed Warnicke [Fri, 4 Apr 2014 17:05:09 +0000 (17:05 +0000)]
Merge "Bug 510: Implementation of Forwarded Binding Data Broker"

9 years agoMerge "Resolve Bug:654 - Fix config-persister exception handling."
Ed Warnicke [Fri, 4 Apr 2014 16:41:22 +0000 (16:41 +0000)]
Merge "Resolve Bug:654 - Fix config-persister exception handling."

9 years agoBug 510: Implementation of Forwarded Binding Data Broker 24/5624/23
Robert Varga [Fri, 28 Mar 2014 21:23:07 +0000 (22:23 +0100)]
Bug 510: Implementation of Forwarded Binding Data Broker

Initial implementation of Forwarded Binding Data Broker
and Forwarded Backwards Compatible Data Broker,
which provides access to new data broker via original

Added sample configuration which enables new
DOM Data Broker, In-memory Data Broker and

Change-Id: I3569da20a9873edf352a54622be7a01fd329aa9b
Signed-off-by: Moiz Raja <>
Signed-off-by: Tony Tkacik <>
Signed-off-by: Robert Varga <>
9 years agoResolve Bug:654 - Fix config-persister exception handling. 05/5905/3
Tomas Olvecky [Fri, 4 Apr 2014 10:29:19 +0000 (12:29 +0200)]
Resolve Bug:654 - Fix config-persister exception handling.

Modify NetconfUtil to fail on any <rpc-error>, not detecting transaction conflicts. Move
exception handling to ConfigPusher.
Also fix bug when config-netconf-connector detects discrepancy between yang store and
config manager factories: persister will retry as if some capabilities were not found.

Change-Id: Ibd80fd3859031ae41301481dad9b50f74207e64c
Signed-off-by: Tomas Olvecky <>
9 years agoBug 499: Fixed normalization of InstanceIdentifier for backwards compatibility 49/5849/4
Robert Varga [Wed, 26 Mar 2014 18:29:13 +0000 (19:29 +0100)]
Bug 499: Fixed normalization of InstanceIdentifier for backwards compatibility

Change-Id: I633eb004729c6013df49c3f82420adf6d2417ea9
Signed-off-by: Tony Tkacik <>
Signed-off-by: Robert Varga <>
9 years agoBug 499: Improved data change listener tree management 48/5848/3
Robert Varga [Fri, 21 Mar 2014 12:30:45 +0000 (13:30 +0100)]
Bug 499: Improved data change listener tree management

Change-Id: I62843c3c4df32dd5a5849511d41352fa6822550b
Signed-off-by: Tony Tkacik <>
Signed-off-by: Robert Varga <>
9 years agofix for BUG 663 - causing derived IT to fail 04/5904/1
Michal Rehak [Fri, 4 Apr 2014 10:44:38 +0000 (12:44 +0200)]
fix for BUG 663 - causing derived IT to fail

- added version to netty-config-api test dependency

Change-Id: I6653522e447283f28d5d89884427473973eb508b
Signed-off-by: Michal Rehak <>
9 years agoAdd Flood and FloodAll supported actions 98/5898/1
Andrew Kim [Thu, 3 Apr 2014 22:42:35 +0000 (17:42 -0500)]
Add Flood and FloodAll supported actions

This patch will return Flood and FloodAll as supported actions when a switch is queried for its supported flow actions

Change-Id: I8c4b8821bd773e3eb654f35a60a9f41e08deadb6
Signed-off-by: Andrew Kim <>
9 years agoMerge changes I6bc37e88,I0514b26e
Ed Warnicke [Wed, 2 Apr 2014 23:28:41 +0000 (23:28 +0000)]
Merge changes I6bc37e88,I0514b26e

* changes:
  Fixed missing keys in sal-compatibility flows.
  Bug 508: Fixed concurrent conflicting commits by InventoryManager.

9 years agoAdded a comment that briefly describes the ArpHander service and explains some design... 62/5862/2
Michael Bredel [Wed, 2 Apr 2014 09:26:59 +0000 (11:26 +0200)]
Added a comment that briefly describes the ArpHander service and explains some design decisions.

Change-Id: I2dd3877e5a12ad59f4c5057de09ecab2b4e9f768
Signed-off-by: Michael Bredel <>
9 years ago524 bug - %2F slashes translation behind mount point (unit test) 63/5863/1
Jozef Gloncak [Wed, 2 Apr 2014 09:43:31 +0000 (11:43 +0200)]
524 bug - %2F slashes translation behind mount point (unit test)

New test getDataWithSlashesBehindMountPoint() tests whether URI identifier
which contains slashes encoded as %2F (e.g. in key part of URI) is translated to identifier with simple slash
characters (/).

It is checked whether InstanceIdentifier instance is created with simple
slashes. The instance is then used as input parameter of method
BrokerFacade.readOperationalDataBehindMountPoint() to get data from

If %2F are correctly replaced with / test is succesful.

Change-Id: I131bda42fb568af23d6a1b0bbb72c505db8748e3
Signed-off-by: Jozef Gloncak <>
9 years agoMerge "BUG-467: reconnect-strategy configuration moved into controller/commons/protoc...
Tony Tkacik [Wed, 2 Apr 2014 08:59:58 +0000 (08:59 +0000)]
Merge "BUG-467: reconnect-strategy configuration moved into controller/commons/protocol-framework -changed reconnect-strategy service and modules to reconnect-strategy-factory - configuration of ReconnectStrategyFactory."

9 years agoFixed missing keys in sal-compatibility flows. 47/5847/1
Tony Tkacik [Tue, 1 Apr 2014 06:59:49 +0000 (08:59 +0200)]
Fixed missing keys in sal-compatibility flows.

Change-Id: I6bc37e88b6191701369e2b6c0e821c1433ca122d
Signed-off-by: Tony Tkacik <>
9 years agoBug 508: Fixed concurrent conflicting commits by InventoryManager. 46/5846/1
Tony Tkacik [Tue, 1 Apr 2014 15:23:37 +0000 (17:23 +0200)]
Bug 508: Fixed concurrent conflicting commits by InventoryManager.

Change-Id: I0514b26e6ccdf456ec8ffb570056db43cebc89d0
Signed-off-by: Tony Tkacik <>
9 years agoMerge "Bug 499: Added support for old DOM Broker APIs."
Ed Warnicke [Tue, 1 Apr 2014 15:22:45 +0000 (15:22 +0000)]
Merge "Bug 499: Added support for old DOM Broker APIs."

9 years agoMerge "Bug 499: Added support for change listeners."
Ed Warnicke [Tue, 1 Apr 2014 15:22:27 +0000 (15:22 +0000)]
Merge "Bug 499: Added support for change listeners."

9 years agoMerge "Bug 499: Initial draft of in-memory datastore and data broker"
Ed Warnicke [Tue, 1 Apr 2014 15:21:25 +0000 (15:21 +0000)]
Merge "Bug 499: Initial draft of in-memory datastore and data broker"

9 years agoMerge "Updater toaster to use datastore"
Tony Tkacik [Tue, 1 Apr 2014 11:07:44 +0000 (11:07 +0000)]
Merge "Updater toaster to use datastore"

9 years agoMerge "Initial commit for new Match classes"
Giovanni Meo [Tue, 1 Apr 2014 09:02:40 +0000 (09:02 +0000)]
Merge "Initial commit for new Match classes"

9 years agoMerge "Bug 499: Initial implementation of data tree modifications"
Ed Warnicke [Mon, 31 Mar 2014 20:13:53 +0000 (20:13 +0000)]
Merge "Bug 499: Initial implementation of data tree modifications"

9 years agoMerge "Bug 499: Initial implementation of supporting tree structures"
Ed Warnicke [Mon, 31 Mar 2014 20:09:54 +0000 (20:09 +0000)]
Merge "Bug 499: Initial implementation of supporting tree structures"

9 years agoUpdater toaster to use datastore 23/5823/1
Robert Varga [Mon, 31 Mar 2014 16:06:20 +0000 (18:06 +0200)]
Updater toaster to use datastore

This patch adds the ability to expose the toaster status into MD-SAL, as
expected by the module. It further tweaks a thinko: dark toasts take
longer to make!

Change-Id: I3054ec52f53272c3fb08494517c6c86524403949
Signed-off-by: Robert Varga <>
9 years agoBUG-467: reconnect-strategy configuration moved into controller/commons/protocol... 09/5609/11
Milos Fabian [Mon, 17 Mar 2014 06:40:14 +0000 (07:40 +0100)]
BUG-467: reconnect-strategy configuration moved into controller/commons/protocol-framework
-changed reconnect-strategy service and modules to reconnect-strategy-factory - configuration of ReconnectStrategyFactory.

Change-Id: I863cf4f7cf559504d05e14293af9d2c5e9373ca7
Signed-off-by: Milos Fabian <>
9 years agoMerge "Fix small resource leak in config-manager."
Tony Tkacik [Mon, 31 Mar 2014 07:31:16 +0000 (07:31 +0000)]
Merge "Fix small resource leak in config-manager."

9 years agoMerge "Update toaster example to emit lifecycle logs"
Tony Tkacik [Mon, 31 Mar 2014 07:26:27 +0000 (07:26 +0000)]
Merge "Update toaster example to emit lifecycle logs"

9 years agoMerge changes I28d517fe,Ia6f0b6ce
Tony Tkacik [Mon, 31 Mar 2014 07:25:44 +0000 (07:25 +0000)]
Merge changes I28d517fe,Ia6f0b6ce

* changes:
  Remove getPort API from sal-port.yang
  Avoid nullpointer exception on starting up the TopologyProvider and the InventorReadAdapter

9 years agoMerge "Do not use InstanceIdentifier.builder()"
Tony Tkacik [Mon, 31 Mar 2014 07:23:02 +0000 (07:23 +0000)]
Merge "Do not use InstanceIdentifier.builder()"

9 years agoMerge "Bug 564 - add missing sal-remote dependency."
Tony Tkacik [Mon, 31 Mar 2014 07:20:57 +0000 (07:20 +0000)]
Merge "Bug 564 - add missing sal-remote dependency."

9 years agoFix yang-parser-impl not being pulled 15/5815/1
Robert Varga [Sun, 30 Mar 2014 21:17:32 +0000 (23:17 +0200)]
Fix yang-parser-impl not being pulled

sal-netconf-connect depends on it, but relies on in transiently via
yang-data-impl. That transient dependency is going away, so introduce a
proper dependency.

Change-Id: I9efbec70e5630c98d19cd113a7d7096739f90dac
Signed-off-by: Robert Varga <>