controller.git
6 years agoMerge "Protocol framework: use pooled ByteBuf allocator"
Tony Tkacik [Thu, 3 Jul 2014 17:18:52 +0000 (17:18 +0000)]
Merge "Protocol framework: use pooled ByteBuf allocator"

6 years agoFix MD5 channel client channel not working 25/8625/1
Robert Varga [Thu, 3 Jul 2014 16:44:42 +0000 (18:44 +0200)]
Fix MD5 channel client channel not working

As it turns out, the client code needs the same fix server-side
received, which is to allow customizeBootstrap() to set channel.

Change-Id: I5efc541ad27bb3e317348c3bb08b13f3fd4110ed
Signed-off-by: Robert Varga <rovarga@cisco.com>
6 years agoMerge "Bug 1290 - Swagger Documentation is failing to load - java script exception"
Tony Tkacik [Thu, 3 Jul 2014 14:36:35 +0000 (14:36 +0000)]
Merge "Bug 1290 - Swagger Documentation is failing to load - java script exception"

6 years agoMerge "Refactor Neutron Pagination Code to support Network, Port and Subnet"
Madhu Venugopal [Thu, 3 Jul 2014 13:19:04 +0000 (13:19 +0000)]
Merge "Refactor Neutron Pagination Code to support Network, Port and Subnet"

6 years agoBUG-868: donot use deprecated call 84/8584/3
Robert Varga [Wed, 2 Jul 2014 20:32:07 +0000 (22:32 +0200)]
BUG-868: donot use deprecated call

WebSocketServerHandshakerFactory.sendUnsupportedVersionResponse() is the
replacement, so use it instead of
sendUnsupportedWebSocketVersionResponse().

Change-Id: I03116f09e757df9694ac077c9e82296eaf19de90
Signed-off-by: Robert Varga <rovarga@cisco.com>
6 years agoBUG-1281: optimize JSON codec 83/8583/3
Robert Varga [Wed, 2 Jul 2014 19:14:47 +0000 (21:14 +0200)]
BUG-1281: optimize JSON codec

Multiple optimizations made in one go:

- do not use string concatenation for LOG.debug()
- do not use string concatenation in Preconditions.checkState()
- methods which do not need state are made static
- use chars instead of strings where possible
- do not instantiate ArrayList needlessly to access first element in a set
- optimize namespace/localname parsing by not using String.split()
- use Charset constant instead of charset name

Change-Id: If1c4ea50d7d1d2aae4f52d1dc68ff79b901208b0
Signed-off-by: Robert Varga <rovarga@cisco.com>
6 years agoBUG-1281: Optimized CompositeNodeWrapper 82/8582/3
Robert Varga [Wed, 2 Jul 2014 18:28:52 +0000 (20:28 +0200)]
BUG-1281: Optimized CompositeNodeWrapper

When wrapping entries, we know how many we will need, so let the
ArrayList know that.

Change-Id: Ic2fc4ef451a5cdc11a8dfebccaf5a1c605e6e66d
Signed-off-by: Robert Varga <rovarga@cisco.com>
6 years agoBUG-1281: optimize ListenerAdapter 81/8581/3
Robert Varga [Wed, 2 Jul 2014 19:28:46 +0000 (21:28 +0200)]
BUG-1281: optimize ListenerAdapter

TransformerFactory should be reused, so that's what we're doing here.
Here we do not cache the transformer, as we are called from datastore
thread, which has essentially no business in this. Same goes for
DocumentBuilderFactory.

Also, the transformation to RFC3339 timestamp was compiling the same
regex over and over, so compile it once and reuse it.

Change-Id: Ia66f42fa123bbb4f86b396520757d9bc28f7b9d2
Signed-off-by: Robert Varga <rovarga@cisco.com>
6 years agoBUG-1281: cache TransformerFactory and Transformer 80/8580/3
Robert Varga [Wed, 2 Jul 2014 19:00:03 +0000 (21:00 +0200)]
BUG-1281: cache TransformerFactory and Transformer

The code used to instantiate a TransformerFactory for each individual
request, where a single factory can be shared between threads as long as
it is not reconfigured.

As a futher optimization, we also create a thread-local cache for
transformers, as they can be use for multiple transformations.

Change-Id: I836148208be62f66cb6b509b0746e9fb92a569f0
Signed-off-by: Robert Varga <rovarga@cisco.com>
6 years agoMerge "BUG-1281: optimize ControllerContext"
Tony Tkacik [Thu, 3 Jul 2014 10:49:32 +0000 (10:49 +0000)]
Merge "BUG-1281: optimize ControllerContext"

6 years agoMerge "BUG-1275: drop a marker for follow-up"
Tony Tkacik [Thu, 3 Jul 2014 10:49:20 +0000 (10:49 +0000)]
Merge "BUG-1275: drop a marker for follow-up"

6 years agoMerge "BUG-868: Fix a warning in EmptyNodeWrapper"
Tony Tkacik [Thu, 3 Jul 2014 10:49:05 +0000 (10:49 +0000)]
Merge "BUG-868: Fix a warning in EmptyNodeWrapper"

6 years agoMerge "Add GlobalBundleScanningSchemaServiceImpl.destroyInstance for cleanup in tests"
Tony Tkacik [Thu, 3 Jul 2014 10:27:02 +0000 (10:27 +0000)]
Merge "Add GlobalBundleScanningSchemaServiceImpl.destroyInstance for cleanup in tests"

6 years agoBug 1290 - Swagger Documentation is failing to load - java script 04/8604/2
Devin Avery [Thu, 3 Jul 2014 10:04:07 +0000 (06:04 -0400)]
Bug 1290 - Swagger Documentation is failing to load - java script
exception

Fixed how we generated the json model representing yang union types
Fixed json model naming for nested container types.

To validate:
1) deploy fix, and load http://localhost:8080/apidoc/explorer.
2) Verify the page loads and you can expand
opendaylight-inventory:nodes.
3) Search for "node-connector" and expand a node-connector definition.
Verify that the "port-number" type says "integer or string".

Change-Id: I8aae18ba4805c3ee57cbb655807af4f15ee61756
Signed-off-by: Devin Avery <devin.avery@brocade.com>
6 years agoAdd GlobalBundleScanningSchemaServiceImpl.destroyInstance for cleanup in tests 01/8601/2
Tomas Olvecky [Thu, 3 Jul 2014 09:25:04 +0000 (11:25 +0200)]
Add GlobalBundleScanningSchemaServiceImpl.destroyInstance for cleanup in tests

Change-Id: Id0f6f65f5a0a00bfb8271cd68700545d1c05e5f6
Signed-off-by: Tomas Olvecky <tolvecky@cisco.com>
6 years agoBUG-1281: optimize ControllerContext 79/8579/2
Robert Varga [Wed, 2 Jul 2014 19:57:11 +0000 (21:57 +0200)]
BUG-1281: optimize ControllerContext

- use a single instanceof of Splitter
- do not instantiate unneeded collections
- static methods should be static
- do not use string concat in LOG.error()
- do not use String.split()

Change-Id: I16d2232ab2f9ee86f64f7abc95d9b7ce073f0c22
Signed-off-by: Robert Varga <rovarga@cisco.com>
6 years agoBUG-1275: drop a marker for follow-up 78/8578/2
Robert Varga [Wed, 2 Jul 2014 20:26:33 +0000 (22:26 +0200)]
BUG-1275: drop a marker for follow-up

This class duplicates a lot of code from yangtools, so a proper middle
ground needs to be found. Drop a FIXME: so we do not forget.

Change-Id: I001c2fae9dbc1d9a13c8e91bb04ad9f3f22eaf1b
Signed-off-by: Robert Varga <rovarga@cisco.com>
6 years agoBUG-868: Fix a warning in EmptyNodeWrapper 77/8577/2
Robert Varga [Wed, 2 Jul 2014 18:29:30 +0000 (20:29 +0200)]
BUG-868: Fix a warning in EmptyNodeWrapper

Simple use of deprecated method to implement the same method. Add
@Deprecated marker to silence the warning.

Change-Id: I274e7afdecdd9ece5b0b8809ad1fee53abbafef3
Signed-off-by: Robert Varga <rovarga@cisco.com>
6 years agoMerge "BUG-692 Improve log message when negotiation fails"
Tony Tkacik [Wed, 2 Jul 2014 15:00:54 +0000 (15:00 +0000)]
Merge "BUG-692 Improve log message when negotiation fails"

6 years agoMerge "BUG-868: remove InstanceIdentifier.getPath() users"
Tony Tkacik [Wed, 2 Jul 2014 14:13:27 +0000 (14:13 +0000)]
Merge "BUG-868: remove InstanceIdentifier.getPath() users"

6 years agoMerge changes I38344133,Ib209ceed,I3f643034,I2f4ed366
Tony Tkacik [Wed, 2 Jul 2014 14:13:14 +0000 (14:13 +0000)]
Merge changes I38344133,Ib209ceed,I3f643034,I2f4ed366

* changes:
  BUG-868: getChildren() has been superseded by getValue()
  BUG-868: mark inherited methods as deprecated
  BUG-868: remove deprecated use of QName constructors
  BUG-868: do not use deprecated InstanceIdentifier methods

6 years agoRefactor Neutron Pagination Code to support Network, Port and Subnet 03/8503/4
Dave Tucker [Tue, 1 Jul 2014 13:47:13 +0000 (14:47 +0100)]
Refactor Neutron Pagination Code to support Network, Port and Subnet

- Move pagination logic to PaginatedRequestFactory
- Add INeutronObject interface to bound Generics
- Add INeutronRequest interface to enable pagination to be generic

Patchset 4:
- Fix typos in @XMLElement annotation on the 'links' attributes

Change-Id: I7fb6c800268847a36eccd2bc402580cb48c60c46
Signed-off-by: Dave Tucker <djt@redhat.com>
6 years agoMerge "Move ServiceReferenceMXBean to config-api"
Tony Tkacik [Wed, 2 Jul 2014 13:37:36 +0000 (13:37 +0000)]
Merge "Move ServiceReferenceMXBean to config-api"

6 years agoBUG-868: remove InstanceIdentifier.getPath() users 08/8508/3
Robert Varga [Tue, 1 Jul 2014 16:18:44 +0000 (18:18 +0200)]
BUG-868: remove InstanceIdentifier.getPath() users

getPath() has been deprecated. Remove the easily call sites to
getPathArguments().

Change-Id: I2058627301404e28b58851c27d8d8117f48a7b9d
Signed-off-by: Robert Varga <rovarga@cisco.com>
6 years agoBUG-868: getChildren() has been superseded by getValue() 07/8507/3
Robert Varga [Tue, 1 Jul 2014 15:42:13 +0000 (17:42 +0200)]
BUG-868: getChildren() has been superseded by getValue()

Silences two eclipse warnings.

Change-Id: I383441335d9301d73dac5627223caaffcfd30461
Signed-off-by: Robert Varga <rovarga@cisco.com>
6 years agoBUG-868: mark inherited methods as deprecated 06/8506/3
Robert Varga [Tue, 1 Jul 2014 15:41:16 +0000 (17:41 +0200)]
BUG-868: mark inherited methods as deprecated

These methods are deprecated by the specifying class and we use them
internally. Mark them as deprecated, silencing the warnings.

Change-Id: Ib209ceed988e6407e833e16fafb69c54e350bf75
Signed-off-by: Robert Varga <rovarga@cisco.com>
6 years agoBUG-868: remove deprecated use of QName constructors 05/8505/3
Robert Varga [Tue, 1 Jul 2014 15:38:34 +0000 (17:38 +0200)]
BUG-868: remove deprecated use of QName constructors

Direct instantiation of QName is deprecated, so remove references to
them.

Change-Id: I3f64303469fc655e2adfdac72377bce38439ab78
Signed-off-by: Robert Varga <rovarga@cisco.com>
6 years agoBUG-868: do not use deprecated InstanceIdentifier methods 04/8504/3
Robert Varga [Tue, 1 Jul 2014 15:21:37 +0000 (17:21 +0200)]
BUG-868: do not use deprecated InstanceIdentifier methods

This removes the use of the deprecated constructor and some of the
getPath() call sites in favor of getPathArguments() and
InstanceIdentifier.create()/.node() methods.

Change-Id: I2f4ed36645408c6f780031d848af829cbe2a40d6
Signed-off-by: Robert Varga <rovarga@cisco.com>
6 years agoMove ServiceReferenceMXBean to config-api 46/8546/1
Tomas Olvecky [Wed, 2 Jul 2014 11:56:39 +0000 (13:56 +0200)]
Move ServiceReferenceMXBean to config-api

Move ServiceReferenceMXBean to api in order to use it in config-util.
Deprecate newMBeanProxy methods in config registry and transaction client.
Make methods newMXBeanProxy aware of service references, add transaction
name silently when using transaction client's newMXBeanProxy.

Change-Id: I67daab1bcee6a1345beb80957dca91b452cfee67
Signed-off-by: Tomas Olvecky <tolvecky@cisco.com>
6 years agoMerge changes I8598d0bd,I560c2072
Devin Avery [Wed, 2 Jul 2014 11:30:34 +0000 (11:30 +0000)]
Merge changes I8598d0bd,I560c2072

* changes:
  Bug 488: Removed BundleContext usage for registering to DOM Components.
  Bug 488: Removed BundleContext from InMemoryDataBroker.

6 years agoMerge "Bug 488: Removed requirement for DOM providers to supply BundleContext."
Devin Avery [Wed, 2 Jul 2014 11:30:05 +0000 (11:30 +0000)]
Merge "Bug 488: Removed requirement for DOM providers to supply BundleContext."

6 years agoBUG-692 Improve log message when negotiation fails 32/8532/2
Maros Marsalek [Wed, 2 Jul 2014 09:05:28 +0000 (11:05 +0200)]
BUG-692 Improve log message when negotiation fails

Change-Id: I767094a86d989f9c3eb074928b890391d6e53783
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
6 years agoBug 762: Fixed bug in CsSnToXmlTest java. 10/8510/1
Tony Tkacik [Tue, 1 Jul 2014 16:49:17 +0000 (18:49 +0200)]
Bug 762: Fixed bug in CsSnToXmlTest java.

Change-Id: I5d3621a189bd5609772bf19c1130b13e0a5e53e4
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
6 years agoMerge "Bug 1081 - Deprecate non-asynchronous Data Broker API"
Devin Avery [Tue, 1 Jul 2014 15:21:14 +0000 (15:21 +0000)]
Merge "Bug 1081 - Deprecate non-asynchronous Data Broker API"

6 years agoMerge "Make dependencyResolver protected in generated code"
Tony Tkacik [Tue, 1 Jul 2014 14:47:37 +0000 (14:47 +0000)]
Merge "Make dependencyResolver protected in generated code"

6 years agoBug 1081 - Deprecate non-asynchronous Data Broker API 22/8322/6
Tony Tkacik [Wed, 25 Jun 2014 09:32:09 +0000 (11:32 +0200)]
Bug 1081 - Deprecate non-asynchronous Data Broker API

Change-Id: I8fbe63326a0e396e128b46d96142c7db86b2b83a
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
6 years agoMerge "Bug 1236 - Documented Binding-aware RPC services of MD-SAL"
Devin Avery [Tue, 1 Jul 2014 13:02:59 +0000 (13:02 +0000)]
Merge "Bug 1236 - Documented Binding-aware RPC services of MD-SAL"

6 years agoBug 488: Removed BundleContext usage for registering to DOM Components. 64/8464/7
Tony Tkacik [Mon, 30 Jun 2014 18:03:32 +0000 (20:03 +0200)]
Bug 488: Removed BundleContext usage for registering to DOM Components.

Change-Id: I8598d0bd8cd3396ea666c9e3d39ead6b155d1af4
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
6 years agoBug 488: Removed requirement for DOM providers to supply BundleContext. 63/8463/6
Tony Tkacik [Mon, 30 Jun 2014 17:57:35 +0000 (19:57 +0200)]
Bug 488: Removed requirement for DOM providers to supply BundleContext.

Change-Id: I7a3a852dbe1dc9a48398943fc89b542e663531bc
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
6 years agoBug 488: Removed BundleContext from InMemoryDataBroker. 62/8462/6
Tony Tkacik [Mon, 30 Jun 2014 13:41:54 +0000 (15:41 +0200)]
Bug 488: Removed BundleContext from InMemoryDataBroker.

Change-Id: I560c2072b67aa1752ecb4237689fb813440f4e2c
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
6 years agoMake dependencyResolver protected in generated code 93/8493/1
Tomas Olvecky [Tue, 1 Jul 2014 12:52:32 +0000 (14:52 +0200)]
Make dependencyResolver protected in generated code

Make Abstract*Module's dependencyResolver protected instead of private,
so that methods like getAttribute can be used from concrete Modules.

Change-Id: Ic02dbb59f9a9fca8138762ff476f2a5e489eb58a
Signed-off-by: Tomas Olvecky <tolvecky@cisco.com>
6 years agoMerge "Bug 1073: Added Transaction Chain support to Binding transactions."
Ed Warnicke [Tue, 1 Jul 2014 12:13:28 +0000 (12:13 +0000)]
Merge "Bug 1073: Added Transaction Chain support to Binding transactions."

6 years agoMerge "Bug 1073: Extracted Implementation of Binding Transaction"
Ed Warnicke [Tue, 1 Jul 2014 12:13:17 +0000 (12:13 +0000)]
Merge "Bug 1073: Extracted Implementation of Binding Transaction"

6 years agoMerge "Bug 1027: Sort map of instance-identifiers and data by length."
Ed Warnicke [Tue, 1 Jul 2014 12:12:33 +0000 (12:12 +0000)]
Merge "Bug 1027: Sort map of instance-identifiers and data by length."

6 years agoBug 1073: Added Transaction Chain support to Binding transactions. 70/8370/3
Tony Tkacik [Mon, 23 Jun 2014 07:29:50 +0000 (09:29 +0200)]
Bug 1073: Added Transaction Chain support to Binding transactions.

Added Binding Aware version of Transaction Chain
which only forwards all calls to DOM Transction Chain
and uses BindingForwarded transactions as wrappers
on top of real DOM Forwarded transactions.

Change-Id: Icf10cb8525a3229c0f41c6141bf198111fa4b240
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
6 years agoMerge "Implement rest of the methods for TransactionProxy"
Ed Warnicke [Tue, 1 Jul 2014 10:54:02 +0000 (10:54 +0000)]
Merge "Implement rest of the methods for TransactionProxy"

6 years agoMerge "Implement TransactionProxy#read"
Ed Warnicke [Tue, 1 Jul 2014 10:53:14 +0000 (10:53 +0000)]
Merge "Implement TransactionProxy#read"

6 years agoMerge "Implement DistributedDataStore#registerDataChangeListener"
Ed Warnicke [Tue, 1 Jul 2014 10:52:57 +0000 (10:52 +0000)]
Merge "Implement DistributedDataStore#registerDataChangeListener"

6 years agoBug 1073: Extracted Implementation of Binding Transaction 64/8364/4
Tony Tkacik [Mon, 23 Jun 2014 07:28:51 +0000 (09:28 +0200)]
Bug 1073: Extracted Implementation of Binding Transaction

Extracted implementation of Binding Transactions to
package private classes, so they could be used by
alternative implementation of Broker or TransactionChain.

Change-Id: I66825fef8217f2d55f4e987fc8e170d3c447a008
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
6 years agoMerge "BUG 1211 - deletion non existing target returns 500"
Tony Tkacik [Tue, 1 Jul 2014 09:18:26 +0000 (09:18 +0000)]
Merge "BUG 1211 - deletion non existing target returns 500"

6 years agoBug 1112, Bug 629: Migrated toaster to use BindingDataBroker 68/8168/9
Tony Tkacik [Wed, 25 Jun 2014 15:47:36 +0000 (17:47 +0200)]
Bug 1112, Bug 629: Migrated toaster to use BindingDataBroker

Migrated toaster example from using DataProviderService
(Hydrogen APIs) to use new BindingDataBroker service.
Patchset did not introduce any other changes,
only the minimal required set of changes,
in order to illustrate steps needed to migrate API.

 - toaster-provider-impl.yang - Changed dependency definition
 - controller.xml - Changed configuration in test
 - 03-toaster.xml - Changed configuration in distribution
 - ToasterProviderModule.java and OpendaylightToaster.java
 - OpendaylightToaster - updated to use BindingDataBroker

Change-Id: Iff0e2877b1061d10000a1e68c8ab5504cfb6c81c
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
6 years agoImplement rest of the methods for TransactionProxy 13/8313/5
Moiz Raja [Wed, 25 Jun 2014 00:01:25 +0000 (17:01 -0700)]
Implement rest of the methods for TransactionProxy

Implement the following methods,
  - write
  - merge
  - delete
  - getIdentifier
  - ready
  - close

Introduce the ThreePhaseCommitCohortProxy

Change-Id: I8d6d58a9965966d3fa6f1230761480b15a0abc3c
Signed-off-by: Moiz Raja <moraja@cisco.com>
6 years agoImplement TransactionProxy#read 10/8310/5
Moiz Raja [Tue, 24 Jun 2014 21:41:58 +0000 (14:41 -0700)]
Implement TransactionProxy#read

- Move utility code into ActorContext
- Create a reusable MockActorContext for tests
- Update DistributedDataStore to use the common code
- Update TransactionChainProxy to construct the appropriate TransactionProxy's

Change-Id: I30386d2370f2683020e05d8a3842c0c63708df6f
Signed-off-by: Moiz Raja <moraja@cisco.com>
6 years agoImplement DistributedDataStore#registerDataChangeListener 09/8309/5
Moiz Raja [Tue, 24 Jun 2014 03:21:26 +0000 (20:21 -0700)]
Implement DistributedDataStore#registerDataChangeListener

Change-Id: I153c76b923dff7845321699d556f30f2ecadec57
Signed-off-by: Moiz Raja <moraja@cisco.com>
6 years agoImplement commiting of data 70/8270/5
Moiz Raja [Mon, 23 Jun 2014 23:25:41 +0000 (16:25 -0700)]
Implement commiting of data

- Implement ThreePhaseCommitCohort Actor
- Implement a BasicIntegrationTest to test out using a Shard upto committing
- Make modifications in Shard, ShardTransaction, ShardTransactionChain to make the flow work

Change-Id: I4eff32833c09d89f81753db29ea38ac26b9dfbf6
Signed-off-by: Moiz Raja <moraja@cisco.com>
6 years agoMerge "Ensure that modifications are tracked by ShardTransaction"
Ed Warnicke [Mon, 30 Jun 2014 16:39:04 +0000 (16:39 +0000)]
Merge "Ensure that modifications are tracked by ShardTransaction"

6 years agoMerge "Introducing the Modification classses"
Ed Warnicke [Mon, 30 Jun 2014 16:38:29 +0000 (16:38 +0000)]
Merge "Introducing the Modification classses"

6 years agoMerge "Implement finding a primary based on the shard name and do basic wiring of...
Ed Warnicke [Mon, 30 Jun 2014 16:36:12 +0000 (16:36 +0000)]
Merge "Implement finding a primary based on the shard name and do basic wiring of DistributedDataStore and ShardManager"

6 years agoMerge "Fixing issue with failing to remove 02-clustering.xml"
Devin Avery [Mon, 30 Jun 2014 16:02:09 +0000 (16:02 +0000)]
Merge "Fixing issue with failing to remove 02-clustering.xml"

6 years agoMerge "Partial fix for Bug 1256"
Ed Warnicke [Mon, 30 Jun 2014 15:54:08 +0000 (15:54 +0000)]
Merge "Partial fix for Bug 1256"

6 years agoFixing issue with failing to remove 02-clustering.xml 60/8460/1
Ed Warnicke [Mon, 30 Jun 2014 15:35:51 +0000 (10:35 -0500)]
Fixing issue with failing to remove 02-clustering.xml

https://git.opendaylight.org/gerrit/#/c/8304/
removed the antiquated remoterpc stuff, but
failed to remove the 02-clustering.xml file.

Change-Id: I4b20ee620821ee945fd51b3d37eb7c24b491a0bd
Signed-off-by: Ed Warnicke <eaw@cisco.com>
6 years agoBug 1236 - Documented Binding-aware RPC services of MD-SAL 30/8330/6
Tony Tkacik [Wed, 25 Jun 2014 08:47:02 +0000 (10:47 +0200)]
Bug 1236 - Documented Binding-aware RPC services of MD-SAL

Documented Binding-aware RPC API contracts

Added simple example / tutorial for routed RPCs.

Change-Id: I0f3a08a392e148732dc218a8ac67bc6f90ea7b0e
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
6 years agoBug 1027: Sort map of instance-identifiers and data by length. 55/8455/1
Tony Tkacik [Mon, 30 Jun 2014 12:53:27 +0000 (14:53 +0200)]
Bug 1027: Sort map of instance-identifiers and data by length.

In order to have more reliable deserialization of Maps
of Bidning-Independented data to Binding-Aware
entries should be sorted by their length, with shorter
ones beforehand, since codecs for them have higher
probability to be known.

Parent codecs also contains references to child-classes
which may be never used in new context so this
makes deserialization more predicable and easier to debug.

Change-Id: Iad1490f893e946a2a019c88570325dcfb11c244d
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
6 years agoMerge "Remove remoterpc dead code."
Tony Tkacik [Mon, 30 Jun 2014 11:24:19 +0000 (11:24 +0000)]
Merge "Remove remoterpc dead code."

6 years agoProtocol framework: use pooled ByteBuf allocator 69/7769/6
Robert Varga [Fri, 6 Jun 2014 08:39:35 +0000 (10:39 +0200)]
Protocol framework: use pooled ByteBuf allocator

This should enhance the default performance characteristics by reusing
ByteBufs if possible. With 4.0.19, netty keeps a thread-local cache of
direct buffers, so we should see a reduction in buffer copying, if not
other effects.

Change-Id: I81fcf380f6f3b03187000dbca0dd8507975e8dd1
Signed-off-by: Robert Varga <rovarga@cisco.com>
6 years agoMerge "Bug:1252 - Fix formatting errors in config code generator"
Tony Tkacik [Mon, 30 Jun 2014 08:22:02 +0000 (08:22 +0000)]
Merge "Bug:1252 - Fix formatting errors in config code generator"

6 years agoMerge "BUG-944 Remove backwards compatibility config from sal-netconf- connector."
Tony Tkacik [Mon, 30 Jun 2014 08:15:21 +0000 (08:15 +0000)]
Merge "BUG-944 Remove backwards compatibility config from sal-netconf- connector."

6 years agoMerge "Bug:1253 - Fix NPE in config pusher"
Tony Tkacik [Mon, 30 Jun 2014 08:09:36 +0000 (08:09 +0000)]
Merge "Bug:1253 - Fix NPE in config pusher"

6 years agoBUG-874 Add none default operation to delete requests (netconf-connector) 97/8297/3
Maros Marsalek [Tue, 24 Jun 2014 11:58:30 +0000 (13:58 +0200)]
BUG-874 Add none default operation to delete requests (netconf-connector)

Delete requests now contain <default-operation>none</default-operation> tag to prevent modification of the data tree on remote device when deleting nested nodes.

Change-Id: Id5cb7945b6845d6ccea7ef71a07d914cdf5f2ed9
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
6 years agoBUG-874 Remove rolback cabaility advertised by config netconf 96/8296/4
Maros Marsalek [Tue, 24 Jun 2014 11:54:57 +0000 (13:54 +0200)]
BUG-874 Remove rolback cabaility advertised by config netconf

The rollback on error option is not supported by the netconf server endpoint for config subsystem therefore it cannot advertise rollback on error capability.
If it is present in message, the rpc will fail.

Change-Id: If32113aa77d9ef5d614b143741d1d04fbdc0d22d
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
6 years agoPartial fix for Bug 1256 39/8439/6
Colin Dixon [Sun, 29 Jun 2014 20:19:44 +0000 (15:19 -0500)]
Partial fix for Bug 1256

Patch 0e12a849d33ae3ca3d1a8e2e281e6eac2cc13373 introduced a test for data normalization
that contained comparators for two kinds of nodes (LegacyNodeData) and (Node<?>) that
provided only a partial ordering of nodes and also failed to obey the semantics of
comparators when it comes to equality.

The result is that several tests were not fully specified and while the appear to run
correctly on Windows and Linux, on recent MacOS versions the ambiguity caused the tests
to fail.

This patch fixes the problem as long as only SimpleNodes and CompositeNodes are used.

Change-Id: If5175025fb97e7b8ddb799b27ad7ae9b5026172d
Signed-off-by: Colin Dixon <colin@colindixon.com>
6 years agoMerge "ArpHandler to send ARP reply on proper vlan"
Giovanni Meo [Sat, 28 Jun 2014 14:16:36 +0000 (14:16 +0000)]
Merge "ArpHandler to send ARP reply on proper vlan"

6 years agoArpHandler to send ARP reply on proper vlan 29/8429/1
Alessandro Boch [Fri, 27 Jun 2014 17:18:13 +0000 (10:18 -0700)]
ArpHandler to send ARP reply on proper vlan

- Recently ARPHandler has been enhanced to process ARP request received on vlans.
  This further enhancement is for the respective controller generated ARP reply
  to be sent out on the proper vlan.

Change-Id: Ib8e26901f625677ad59302dfd09add4719b7b02d
Signed-off-by: Alessandro Boch <aboch@cisco.com>
6 years agoBUG-835 + BUG-1234 logical nodeConnection names 23/8423/2
Michal Rehak [Fri, 27 Jun 2014 20:35:50 +0000 (22:35 +0200)]
BUG-835 + BUG-1234 logical nodeConnection names

- fixed logical nodeConnection names
- added description property to adNode
- added error logging

Change-Id: Idfe5db5f50315f9d4cfde4b9d33e5d559a879b95
Signed-off-by: Michal Rehak <mirehak@cisco.com>
Signed-off-by: Ed Warnicke <eaw@cisco.com>
6 years agoEnhancements for hosts behing trunks 15/8415/2
Giovanni Meo [Fri, 27 Jun 2014 17:11:58 +0000 (19:11 +0200)]
Enhancements for hosts behing trunks

- Allow to skip dot1Q if present
- Allow to dispatch only to container if there is a match else pass to default

Change-Id: I58c0a11e0e499f2f531f72b803863cf8f996867f
Signed-off-by: Giovanni Meo <gmeo@cisco.com>
6 years agoMerge "Bug 1245: Dropped Binding prefix from Binding Data APIs."
Devin Avery [Fri, 27 Jun 2014 16:06:05 +0000 (16:06 +0000)]
Merge "Bug 1245: Dropped Binding prefix from Binding Data APIs."

6 years agoMerge "Bug 1227: Removed #close() from Write Transactions."
Devin Avery [Fri, 27 Jun 2014 15:52:38 +0000 (15:52 +0000)]
Merge "Bug 1227: Removed #close() from Write Transactions."

6 years agoBug 484 - Anyxml in sal-rest-connector 67/8067/6
Jozef Gloncak [Tue, 17 Jun 2014 11:22:24 +0000 (13:22 +0200)]
Bug 484 - Anyxml in sal-rest-connector

- RestconfImpl: handled AnyXmlSchemaNode

- JsonMapper: handled AnyXmlSchemaNode

- CnSnToJsonBasicDataTypesTest: added test cases for anyxml.

This commit depends (therefore is commited as draft) on commits:
- Add Anyxml normalized node to yang-data-api -
https://git.opendaylight.org/gerrit/#/c/7771/1
- Implementation of Anyxml builder -
  https://git.opendaylight.org/gerrit/#/c/8061/

Change-Id: Ib3da88cc6af96d98d139f7c1bbc94408ef9e814d
Signed-off-by: tpantelis <tpanteli@brocade.com>
Signed-off-by: Jozef Gloncak <jgloncak@cisco.com>
6 years agoBug:1252 - Fix formatting errors in config code generator 04/8404/1
Tomas Olvecky [Fri, 27 Jun 2014 11:35:33 +0000 (13:35 +0200)]
Bug:1252 - Fix formatting errors in config code generator

Fix intendation and double semicolons in yang-jmx-generator-plugin.

Change-Id: I77ad31eaa62a41d0149f57754f5ec727e07ad292
Signed-off-by: Tomas Olvecky <tolvecky@cisco.com>
6 years agoMerge "AD-SAL: Filter packet-in based on container flow"
Giovanni Meo [Fri, 27 Jun 2014 10:36:10 +0000 (10:36 +0000)]
Merge "AD-SAL: Filter packet-in based on container flow"

6 years agoBug:1253 - Fix NPE in config pusher 03/8403/1
Tomas Olvecky [Fri, 27 Jun 2014 09:38:37 +0000 (11:38 +0200)]
Bug:1253 - Fix NPE in config pusher

Add better error message when ConfigSnapshotHolder contract is voilated.
Fix
org.opendaylight.controller.config.persist.storage.file.xml.model.ConfigSnapshot
to return empty set instead of null in getCapabilities()

Change-Id: I9783cccbe53ae69e322e1d5660ad1f3b52b007fa
Signed-off-by: Tomas Olvecky <tolvecky@cisco.com>
6 years agoAD-SAL: Filter packet-in based on container flow 57/8357/4
Alessandro Boch [Tue, 24 Jun 2014 23:52:12 +0000 (16:52 -0700)]
AD-SAL: Filter packet-in based on container flow

- In AD-SAL openflow plugin incoming packets are delivered
  to listeners in respective container only based on incoming port.
- This patch enforces the container flow filtering logic as well

Change-Id: I6a23b114712e63b8ffb18c173bbbaad5fb7634bd
Signed-off-by: Alessandro Boch <aboch@cisco.com>
6 years agoBUG-835 Reserve ports should be logical ports - part2 74/8374/1
Michal Rehak [Thu, 26 Jun 2014 14:54:31 +0000 (16:54 +0200)]
BUG-835 Reserve ports should be logical ports - part2

- fixed unit tests

Change-Id: I10bd053fb70c5dfe198d171202b0a7bd7f70ef06
Signed-off-by: Michal Rehak <mirehak@cisco.com>
6 years agoMerge "Bug-835:Reserve ports should be logical ports"
Ed Warnicke [Thu, 26 Jun 2014 12:16:48 +0000 (12:16 +0000)]
Merge "Bug-835:Reserve ports should be logical ports"

6 years agoMerge "Adding tunnel ipv4 src/dst flow-base model augmentations"
Ed Warnicke [Thu, 26 Jun 2014 11:24:29 +0000 (11:24 +0000)]
Merge "Adding tunnel ipv4 src/dst flow-base model augmentations"

6 years agoBug 1227: Removed #close() from Write Transactions. 49/8249/5
Tony Tkacik [Mon, 23 Jun 2014 14:17:08 +0000 (16:17 +0200)]
Bug 1227: Removed #close() from Write Transactions.

Termination of write transactions was unclear due
to several terminal methods such as commit, cancel
and close.

Close was removed from write transactions and is only
available for read-only transactions.

Termination methods for write transactions are close
 and commit.

Introduced new interfaces for ReadOnly transactions
to clearly distinguish between read capability
of transaction and read-only semantic (which has
close method).

Change-Id: I74b3fd2066a55160da3b674156fc0dc54ba14a67
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
6 years agoBUG 1211 - deletion non existing target returns 500 98/8298/3
Jozef Gloncak [Tue, 24 Jun 2014 12:29:50 +0000 (14:29 +0200)]
BUG 1211 - deletion non existing target returns 500

It is checked whether data at specified path exists (via method
readConfigurationData). If it isn't so then HTTP response returning code
is set to 200.

Change-Id: I0c0f51c144ffc430ac5bcef118f485f84ae25207
Signed-off-by: Jozef Gloncak <jgloncak@cisco.com>
6 years agoMerge "BUG-1234 nodeType/ID in adaptors"
Ed Warnicke [Thu, 26 Jun 2014 04:51:59 +0000 (04:51 +0000)]
Merge "BUG-1234 nodeType/ID in adaptors"

6 years agoEnsure that modifications are tracked by ShardTransaction 69/8269/4
Moiz Raja [Fri, 20 Jun 2014 23:42:19 +0000 (16:42 -0700)]
Ensure that modifications are tracked by ShardTransaction

As modifications are made on a ShardTransaction they are applied to the transaction object that ShardTransaction wraps
However the modifications also need to be tracked. This tracking would be used ultimately by the Shard when persisting data.

Change-Id: I4bb76699d251dbdc786416313479f0e6b31962e1
Signed-off-by: Moiz Raja <moraja@cisco.com>
6 years agoIntroducing the Modification classses 89/8189/5
Moiz Raja [Fri, 20 Jun 2014 18:46:53 +0000 (11:46 -0700)]
Introducing the Modification classses

The purpose of these classes is to capture all modifications are done on a transaction.

The reason for capturing these modifications is so that we can persist them to the transaction journal

When a member is restarted or a shard is restarted the "Modifications" will be read from the log and replayed
on the Shard at which point the Shard can create a new transaction and apply it to the current state

Change-Id: I4a9b1c3f28eac5c4d360d743efc44286d8a1acca
Signed-off-by: Moiz Raja <moraja@cisco.com>
6 years agoImplement finding a primary based on the shard name and do basic wiring of Distribute... 63/8163/4
Moiz Raja [Fri, 20 Jun 2014 00:45:15 +0000 (17:45 -0700)]
Implement finding a primary based on the shard name and do basic wiring of DistributedDataStore and ShardManager

Change-Id: I98d22e68335a6f901e0584a1a497519e28c7d241
Signed-off-by: Moiz Raja <moraja@cisco.com>
6 years agoReverted merged changes breaking karaf distribution 02/8102/2
Mathieu Lemay [Wed, 18 Jun 2014 01:06:26 +0000 (21:06 -0400)]
Reverted merged changes breaking karaf distribution

Change-Id: I61fa5a9aa7c60fd0ac21c282ddf6b875cbd5084c
Signed-off-by: Mathieu Lemay <mlemay@inocybe.com>
Signed-off-by: Ed Warnicke <eaw@cisco.com>
6 years agoBUG-1234 nodeType/ID in adaptors 54/8354/1
Michal Rehak [Wed, 25 Jun 2014 15:06:21 +0000 (17:06 +0200)]
BUG-1234 nodeType/ID in adaptors

- node change: type MD_SAL -> OF, nodeId String->Long (=dpid)
- nodeConnector change: type MD_SAL -> OF, nodeConnectorId String->Short (=dpid)
- additional changes to statistic table conversions, topology - regarding type+id
- added unit tests

Change-Id: If7e2d6f49e558b9fe95d0a07cf86ed10eb28ff5a
Signed-off-by: Michal Rehak <mirehak@cisco.com>
6 years agoSupport for FIQL queries on REST retreive operations 10/7610/5
Prasanth Pallamreddy [Wed, 14 May 2014 17:03:37 +0000 (10:03 -0700)]
Support for FIQL queries on REST retreive operations

  - Retreive operations can be filtered based on FIQL queries.
  - Spec at http://tools.ietf.org/html/draft-nottingham-atompub-fiql-00
  - Details of the feature can be found at
    https://pad.opendaylight.org/p/rest-search

Change-Id: I3d7cc4350e890148fff5bd086f76ec51e63f2c3b
Signed-off-by: Prasanth Pallamreddy <ppallamr@cisco.com>
6 years agoMerge "Fixed concurrency bug in DOMTransactionChainTest"
Ed Warnicke [Wed, 25 Jun 2014 16:08:24 +0000 (16:08 +0000)]
Merge "Fixed concurrency bug in DOMTransactionChainTest"

6 years agoMerge "Having InMemoryDOMDatastore in its own bundle.To make it configurable using...
Tony Tkacik [Wed, 25 Jun 2014 13:06:39 +0000 (13:06 +0000)]
Merge "Having InMemoryDOMDatastore in its own bundle.To make it configurable using the config subystem. patch 5 changes: md-sal/pom.xml correction"

6 years agoMerge "Bug:1238 - Revert changes to SshClientAdapter."
Tony Tkacik [Wed, 25 Jun 2014 09:51:20 +0000 (09:51 +0000)]
Merge "Bug:1238 - Revert changes to SshClientAdapter."

6 years agoMerge "BUG 1179 - rpcResult = false but response 200"
Tony Tkacik [Wed, 25 Jun 2014 09:48:07 +0000 (09:48 +0000)]
Merge "BUG 1179 - rpcResult = false but response 200"

6 years agoHaving InMemoryDOMDatastore in its own bundle.To make it configurable 65/8165/7
Basheeruddin Ahmed [Fri, 20 Jun 2014 06:34:15 +0000 (23:34 -0700)]
Having InMemoryDOMDatastore in its own bundle.To make it configurable
using the config subystem.
patch 5 changes:
md-sal/pom.xml correction

patch 4 changes:
Moved data tree api and impl to yang-tools based on earlier comment

Patch 3 changes:
1. Included sal-inmemory-datastore dependency in TestHelper.java for PaxExam
integration test cases [Weird that it was working earlier and my local controller full build were passing]

Patch 2 changes:
1. Keeping schema service as part of opendaylight-dom-broker-impl for backward comptability scenario
2. Initializing InMemoryDOMDataStore by default if config-dom-datastore and
operation-dom-datastore are not found
3. Updated 01-md-sal.xml based on 1.
4. Regarding the comment of moving data tree in yangtools. It shall be done in
separate patch.

This is done to replace InMemoryDOMDatastore with distributed-datastore

The changes done are:
1. Created a new sal-inmemory-datastore bundle and moved the
store/impl source files from sal-dom-broker and the corresponding
InMemoryDOMDatastore test cases.

2. Created two yang config models in sal-dom-spi that represent
the configurable config-dom-datastore and operational-dom-datastore, that
are of service type DOMStore

3. In opendaylight-dom-broker-impl.yang of sal-dom-broker, in the augment of dom-inmemory-data-broker added two container config-data-store and operational-data-store that refer the service implementations of service defined in sal-dom-spi

4.In sal-inmemory-datastore bundle, created a yang model opendaylight-inmemory-datastore that provide the implementation of the sal-dom-spi service definitions mentioned in 2 -- The implementaions are augmented to have schema-service container required by InMemoryDOMDatastore for registering itself for scheam changes

5. Updated the 01-md-sal.xml with the above changes

6. Update the distribution pom.xml to include sal-inmemory-datastore.

Change-Id: Ib2f0f0556869981e7e60b3eeae9b1e5e6cc96a0f
Signed-off-by: Basheeruddin Ahmed <syedbahm@cisco.com>
6 years agoMerge "Helium: improve contract with ListenerRegistration"
Tony Tkacik [Wed, 25 Jun 2014 07:04:50 +0000 (07:04 +0000)]
Merge "Helium: improve contract with ListenerRegistration"

©2013 OpenDaylight, A Linux Foundation Collaborative Project. All Rights Reserved.
OpenDaylight is a registered trademark of The OpenDaylight Project, Inc.
Linux Foundation and OpenDaylight are registered trademarks of the Linux Foundation.
Linux is a registered trademark of Linus Torvalds.