mdsal.git
10 years agoFix to allow RESTCONF PUTing of Flows
Tony Tkacik [Sun, 1 Dec 2013 16:53:21 +0000 (17:53 +0100)]
Fix to allow RESTCONF PUTing of Flows

- Due to a bug in the JAXB spec, which is propogated to
JAXRS, which forbids '/', even escaped, in path segments
in URLs... we can't use the nesting by refs under /flows.

- Therefore I've moved flow config to
nodes -> node -> table -> flow

- Making that change in the existing FlowConsumerImpl proved extremely
hard.  Due to the press of time I've introduced a very simple set of
FlowProvider, FlowCommitHandler, FlowTransaction, FlowTransactionValidator,
to cleanly separate the logic.  We can migrate over the validation rules as
need be.

PatchSet 11: Abstract the Transaction.  Add Groups.
PatchSet 12: Fixes for Meters

PatchSet 13: Yet another rebase

PatchSet 14: Squashing https://git.opendaylight.org/gerrit/#/c/3304/8

Must proceed: http://git.opendaylight.org/gerrit/3596/1
in openflowplugin

Change-Id: I1f1cd04a04f7a30630062725e63112cda4b049f1
Signed-off-by: Ed Warnicke <eaw@cisco.com>
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoMerge "Implementation for enabling remote rpc calls between 2 instances of md-sal"
Ed Warnicke [Mon, 9 Dec 2013 17:39:39 +0000 (17:39 +0000)]
Merge "Implementation for enabling remote rpc calls between 2 instances of md-sal"

10 years agoMerge "Fix for bug 211, where direct write and read of augmentation was not processed...
Ed Warnicke [Mon, 9 Dec 2013 17:10:49 +0000 (17:10 +0000)]
Merge "Fix for bug 211, where direct write and read of augmentation was not processed correctly"

10 years agoFix for bug 211, where direct write and read of augmentation was not processed correctly
Tony Tkacik [Fri, 6 Dec 2013 15:40:56 +0000 (16:40 +0100)]
Fix for bug 211, where direct write and read of augmentation was not processed correctly

  - Fixed TypeNotAvailable issue with end-to-end Openflow

Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Change-Id: I9797fb4a1b71d456cc9126f98e4f3043e49b5666

10 years agoImplementation for enabling remote rpc calls between 2 instances of md-sal
Tony Tkacik [Thu, 5 Dec 2013 20:51:46 +0000 (21:51 +0100)]
Implementation for enabling remote rpc calls between 2 instances of md-sal

 - This provides implementation for enabling remote rpc calls between 2 instances of md-sal.
   The current implementation enables remote execution of globally unique services in the
   cluster. For details, please refer to this wiki page
   (https://wiki.opendaylight.org/view/Zeromq_connector). This wiki page is a draft.
 - Added relativePath in pom so that parent pom can be found.
 - Removed dependency to sal-infinispan-routingtable
 - Exported "impl" as well from zeromq-routingtable. Fixed dependencies in RouterTest.
 - Removed oss.sonatype release repo from md-sal pom. ODL nexus repo mirrors it.
 - Updated server code to handle exception
 - Server code now uses WB pattern instead of listerner pattern.
 - Fixed pom so that parent can be resolved
 - Rebased due to changed in unmerged dependency
 - Added state machine to RpcSocket.
 - Added unit tests to RpcSocketTest and SocketManagerTest.
 - Added CompositeNode methods to ExampleConsumer & XML files for creation of CompositeNodes
 - Added CompositeNode testcases to RouterTest
 - Translated scala code to java
 - Added code to convert CompositeNode to xml and back to help
 - with serialization.
 - Added more unit and integration tests.

This is squash for:

https://git.opendaylight.org/gerrit/2882
https://git.opendaylight.org/gerrit/3022
https://git.opendaylight.org/gerrit/3028
https://git.opendaylight.org/gerrit/3159

Change-Id: I44739fd8ad61043c2e786875bb7787e3fa68e435
Signed-off-by: Abhishek Kumar <abhishk2@cisco.com>
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Signed-off-by: Alex Fan <railor33@gmail.com>
10 years agoMerge "Added transactions statistics for BI Broker."
Ed Warnicke [Sat, 7 Dec 2013 23:03:29 +0000 (23:03 +0000)]
Merge "Added transactions statistics for BI Broker."

10 years agoAdded transactions statistics for BI Broker.
Lukas Sedlak [Fri, 6 Dec 2013 13:35:50 +0000 (14:35 +0100)]
Added transactions statistics for BI Broker.

Added implementation of gathering transaction statistics when binding independent broker is used.

Signed-off-by: Lukas Sedlak <lsedlak@cisco.com>
Change-Id: Ia7fb9374575be62bb6bd6b2ace3112d28524bde5

10 years agoMoved IT code to separate project, Fix for Bug 184, created test-jar
Tony Tkacik [Wed, 4 Dec 2013 16:18:11 +0000 (17:18 +0100)]
Moved IT code to separate project, Fix for Bug 184, created test-jar

Change-Id: I9ed91016c93aba64548498b48de6ff1995cee021
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoAdded documentation generator to yang-maven-plugin.
Milos Fabian [Tue, 3 Dec 2013 18:11:43 +0000 (19:11 +0100)]
Added documentation generator to yang-maven-plugin.

Generated html files are located in target/site/models.

Change-Id: I6cc8a8a3a2a7b6c420efaa211ed48c5ad34c0105
Signed-off-by: Milos Fabian <milfabia@cisco.com>
10 years agoMerge "Exposed binding-rpc-registry to config subsystem."
Ed Warnicke [Tue, 3 Dec 2013 12:20:46 +0000 (12:20 +0000)]
Merge "Exposed binding-rpc-registry to config subsystem."

10 years agoExposed binding-rpc-registry to config subsystem.
Tony Tkacik [Tue, 3 Dec 2013 09:26:38 +0000 (10:26 +0100)]
Exposed binding-rpc-registry to config subsystem.

Change-Id: I68920fd7547bab5dd868140322db03366e0d15a3
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoMerge "Fixed serialization of InstanceIdentifier's which contains Augmentation in...
Ed Warnicke [Mon, 2 Dec 2013 20:38:38 +0000 (20:38 +0000)]
Merge "Fixed serialization of InstanceIdentifier's which contains Augmentation in path."

10 years agoFixed serialization of InstanceIdentifier's which contains Augmentation in path.
Tony Tkacik [Mon, 2 Dec 2013 11:46:22 +0000 (12:46 +0100)]
Fixed serialization of InstanceIdentifier's which contains Augmentation in path.

Change-Id: I0ef71ec04eaa14f95fc0f4857254eef506d78bb4
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoAdded transactions statistics support.
Lukas Sedlak [Mon, 2 Dec 2013 11:38:03 +0000 (12:38 +0100)]
Added transactions statistics support.

Added implementation of DataBrokerImplRuntimeMXBean as DataBrokerRuntimeMXBeanImpl;
Modified DataBrokerImplModule with DataBrokerRuntimeMXBeanImpl;
Added "submitted" leaf into opendaylight-md-sal-common.yang;

Signed-off-by: Lukas Sedlak <lsedlak@cisco.com>
Change-Id: I5494c7175b37c14e39d6b2b3d87fccd3358f1a57

10 years agoMerge "Wired ClusteredDataStore with Configuration Subsytem"
Ed Warnicke [Sun, 1 Dec 2013 18:13:32 +0000 (18:13 +0000)]
Merge "Wired ClusteredDataStore with Configuration Subsytem"

10 years agoWired ClusteredDataStore with Configuration Subsytem
Tony Tkacik [Wed, 27 Nov 2013 16:48:30 +0000 (17:48 +0100)]
Wired ClusteredDataStore with Configuration Subsytem

MD-SAL clustered Data Store is available as separete
configurable modules.

Change-Id: I15a98f19dd2eb851e8dfb73a9c4df461e6860db5
Signed-off-by: Moiz Raja <moraja@cisco.com>
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoMerge "Fixed major sonar warnings in Binding Aware Broker"
Ed Warnicke [Sun, 1 Dec 2013 14:34:41 +0000 (14:34 +0000)]
Merge "Fixed major sonar warnings in Binding Aware Broker"

10 years agoFixed major sonar warnings in Binding Aware Broker
Tony Tkacik [Sun, 1 Dec 2013 13:30:02 +0000 (14:30 +0100)]
Fixed major sonar warnings in Binding Aware Broker

Change-Id: I3c5721372778bc963d4fb1d5ff38585a7aa133af
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoMerge "Fixed bug in Data store where multiple readers could overwrite other augmentat...
Ed Warnicke [Sun, 1 Dec 2013 12:25:12 +0000 (12:25 +0000)]
Merge "Fixed bug in Data store where multiple readers could overwrite other augmentations"

10 years agoFixed bug in Data store where multiple readers could overwrite
Tony Tkacik [Sun, 1 Dec 2013 01:39:43 +0000 (02:39 +0100)]
Fixed bug in Data store where multiple readers could overwrite
other augmentations

  - Added configuration / operational data validation - Commit
    with operational data stored in configuration store will fail.
  - Added initial data change event.

Change-Id: I5383cc28286bff98b95b11b63c56cd175ea2c7e9
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoMerge "Fixed Group and Meter RPC model to use MD-SAL routing correctly"
Ed Warnicke [Thu, 28 Nov 2013 10:49:40 +0000 (10:49 +0000)]
Merge "Fixed Group and Meter RPC model to use MD-SAL routing correctly"

10 years agoMerge changes I178e467a,Ia8720c2c
Ed Warnicke [Thu, 28 Nov 2013 10:28:01 +0000 (10:28 +0000)]
Merge changes I178e467a,Ia8720c2c

* changes:
  Mark deprecated methods in DataModification as such
  Remove executable permissions from pom.xml

10 years agoFixed Group and Meter RPC model to use MD-SAL routing correctly
Tony Tkacik [Thu, 28 Nov 2013 08:36:49 +0000 (09:36 +0100)]
Fixed Group and Meter RPC model to use MD-SAL routing correctly

  - Changed RPCs in Group and Meter to use node-context-ref
    instead of node for routing information (same pattern as
    in flow-services).

  - Updated statistics manager to use updated code.

Change-Id: I7e6b156665008fea5814f6cdb16ed8de2511759a
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoMark deprecated methods in DataModification as such
Robert Varga [Thu, 28 Nov 2013 07:30:23 +0000 (08:30 +0100)]
Mark deprecated methods in DataModification as such

Change-Id: I178e467a3885841175755e3e9ff8f977a4276e85
Signed-off-by: Robert Varga <robert.varga@pantheon.sk>
10 years agoMerge "Moved Schema Aware logic from DataStore to SchemaAwareDataStore adapter"
Ed Warnicke [Wed, 27 Nov 2013 21:34:49 +0000 (21:34 +0000)]
Merge "Moved Schema Aware logic from DataStore to SchemaAwareDataStore adapter"

10 years agoMoved Schema Aware logic from DataStore to SchemaAwareDataStore adapter
Tony Tkacik [Wed, 27 Nov 2013 14:45:51 +0000 (15:45 +0100)]
Moved Schema Aware logic from DataStore to SchemaAwareDataStore adapter

    All YANG schema logic necessary for proper function of DataStore
    for all components was moved to separate component which
    provides this functionality unified from one place for multiple
    datastores.

Change-Id: I840f752b03e22047e8a7f3d2b7dbe3026fb087c9
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoMerge "Fixed bug with multiple DataReaders participating in one read operation"
Ed Warnicke [Wed, 27 Nov 2013 12:11:24 +0000 (12:11 +0000)]
Merge "Fixed bug with multiple DataReaders participating in one read operation"

10 years agoFixed bug with multiple DataReaders participating in one read operation
Tony Tkacik [Tue, 26 Nov 2013 18:01:08 +0000 (19:01 +0100)]
Fixed bug with multiple DataReaders participating in one read operation

Change-Id: I562c070acb0b16b1ffe41abb014c22319e1b5f2a
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoFixed two-phase commit bug when change originated in DOM Broker
Tony Tkacik [Mon, 25 Nov 2013 15:58:53 +0000 (16:58 +0100)]
Fixed two-phase commit bug when change originated in DOM Broker

  - DataServiceConnector is now tracking all opened transaction
    in order to prevent creating loop if transaction was
    already forwarded from other broker (DataServiceConnector
    is not publishing it back).
  - Added logging to TwoPhase Commit and Transaction
    forwarding
  - Fixed some warnings regarding wildcards in generics.

Change-Id: I6e3169f20ac84222ed0837735c3ddd95115db38a
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoAdded configuration options to MD-SAL
Tony Tkacik [Tue, 19 Nov 2013 07:27:07 +0000 (08:27 +0100)]
Added configuration options to MD-SAL

   Added default configuration to distribution
   which wires MD-SAL components together.

   Support for configuring wiring of following services:
     - Binding Aware Broker
        - Binding Aware Notification Service
        - Binding Aware Data Broker Service
        - Mapping service
     - Binding Independent Broker
     - Data Store

   Default configuration wires BA Broker, BA Notification service
   BA Data Broker and BI Broker together.

   BA Broker requires now BI Broker to be loaded in order to
   provide datastore functionality right from the beginning.

   Updated integration tests, added new test cases for BA to BI
   integration

Change-Id: I7776bb9b2ed75bd5589757633c17f2466b86a04c
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoFix for Bug 144, Bug 147, 148 - improved codec
Tony Tkacik [Fri, 15 Nov 2013 14:43:43 +0000 (15:43 +0100)]
Fix for Bug 144, Bug 147, 148 - improved codec

  - Added defensive locking mechanism to class generation code
  - Provider's and Consumer's crossing boundatories between
    brokers are blocked util their YANG schema is ready and processed.
  - Added set of APIs to make generated codec contracts and interactions
    more explicit.
  - Extracted augmentation serialization / deserialization to sepparate
    generated codec (one codec per augmentation type).
  - Fixed NPE

Change-Id: I299924e911f63aba1fdeca3debeb8cc80f66f5ac
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoMerge "bug 152"
Ed Warnicke [Tue, 19 Nov 2013 14:24:18 +0000 (14:24 +0000)]
Merge "bug 152"

10 years agoID's are made in sync with openflow specification. Flow/Group/Table/Port/Queue/Meter...
Prasanna Huddar [Tue, 19 Nov 2013 09:07:23 +0000 (14:37 +0530)]
ID's are made in sync with openflow specification. Flow/Group/Table/Port/Queue/Meter all Id's where string. The Spec points to uint32. So all ID have been moved to uint32 type.

Signed-off-by: Prasanna Huddar <prasanna.huddar@ericsson.com>
Change-Id: I75382f32ba715879db25cff1513283035c0d2dfd

10 years agobug 152
David Bainbridge [Mon, 18 Nov 2013 22:38:17 +0000 (14:38 -0800)]
bug 152

add a null check when setting delgates, as when implementations are unregistered, registrations are closed, the delegate is set to null. this was causing a null pointer exception.

Change-Id: Ib37937cee768ba03c61154cc227316d6aef69cb8
Signed-off-by: David Bainbridge <dbainbri@ciena.com>
10 years agoMerge "Fix for Bug 144"
Ed Warnicke [Thu, 14 Nov 2013 21:21:22 +0000 (21:21 +0000)]
Merge "Fix for Bug 144"

10 years agoFix for Bug 144
Tony Tkacik [Thu, 14 Nov 2013 19:07:29 +0000 (20:07 +0100)]
Fix for Bug 144

  - Fixed bug in generated code which tried to access non-existing field
  - Added common root for tests dealing with models and their storage.
  - Added regresion unit test to test situation from original bug report.

Change-Id: If71d5dab8f188c0189aa343859321d238188a76e
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoMerge "Fixed performance issues with implementation of BA-to-BI mapping"
Ed Warnicke [Thu, 14 Nov 2013 12:36:13 +0000 (12:36 +0000)]
Merge "Fixed performance issues with implementation of BA-to-BI mapping"

10 years agoFixed performance issues with implementation of BA-to-BI mapping
Tony Tkacik [Wed, 13 Nov 2013 15:40:24 +0000 (16:40 +0100)]
Fixed performance issues with implementation of BA-to-BI mapping

   Codecs are lazily created on first need when traversing
   boundatories between brokers

Change-Id: I72967babd613ecbc3c9f8f7bd04a4b938f7c0086
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoAdded fix for InstanceIdentifier breakage in SAL-Compatibility
Tony Tkacik [Wed, 13 Nov 2013 17:58:40 +0000 (18:58 +0100)]
Added fix for InstanceIdentifier breakage in SAL-Compatibility

Change-Id: Ib2ac2f87c34c22a08094b085aa20d44121755751
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoMerge "Fixed Restconf bug on reading Operational Data."
Giovanni Meo [Mon, 11 Nov 2013 17:47:01 +0000 (17:47 +0000)]
Merge "Fixed Restconf bug on reading Operational Data."

10 years agoFixed Restconf bug on reading Operational Data.
Ed Warnicke [Mon, 11 Nov 2013 15:55:45 +0000 (09:55 -0600)]
Fixed Restconf bug on reading Operational Data.

Change-Id: If84906b198d6da8c925072e1b444104203caa14c
Signed-off-by: Ed Warnicke <eaw@cisco.com>
10 years agoMerge changes Ifdaf681e,Ifc13df7c
Ed Warnicke [Mon, 11 Nov 2013 14:09:05 +0000 (14:09 +0000)]
Merge changes Ifdaf681e,Ifc13df7c

* changes:
  Fixed merge of entries in mock data store
  Added paths and mediatypes from Restconf draft 02

10 years agoFixed merge of entries in mock data store
Tony Tkacik [Mon, 11 Nov 2013 13:27:23 +0000 (14:27 +0100)]
Fixed merge of entries in mock data store

Change-Id: Ifdaf681ecfc846e58afe0358568e86afe1822b4e
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoMerge "Unified Two Phase Commit implementation, fixed BA to BI connection"
Ed Warnicke [Mon, 11 Nov 2013 12:30:54 +0000 (12:30 +0000)]
Merge "Unified Two Phase Commit implementation, fixed BA to BI connection"

10 years agoUnified Two Phase Commit implementation, fixed BA to BI connection
Tony Tkacik [Sun, 10 Nov 2013 21:45:44 +0000 (22:45 +0100)]
Unified Two Phase Commit implementation, fixed BA to BI connection

  - Unified implementation of Two Phase Commit, Data Reading by abstract
    sal-common-impl.

  - Updated implementation of BA to BI connector to do schema-aware
    serialization / deserialization.

Change-Id: Ibcfa2c4d96e4fa72f1b2499483a2752f62db8b50
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoUpdated MountPoint implementation
Tony Tkacik [Sat, 9 Nov 2013 19:00:28 +0000 (20:00 +0100)]
Updated MountPoint implementation

  - Fixed bug in AbstractDataReadRouter

Change-Id: Ie00387f57328ed5c0e8130e4456be8c1e9f0456d
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoMerge "Bump versions of config-subsystem and netconf-subsystem to 0.2.3-SNAPSHOT...
Ed Warnicke [Fri, 8 Nov 2013 21:02:48 +0000 (21:02 +0000)]
Merge "Bump versions of config-subsystem and netconf-subsystem to 0.2.3-SNAPSHOT. Remove ConfigProvider."

10 years agoBump versions of config-subsystem and netconf-subsystem to 0.2.3-SNAPSHOT.
Maros Marsalek [Fri, 8 Nov 2013 12:15:23 +0000 (13:15 +0100)]
Bump versions of config-subsystem and netconf-subsystem to 0.2.3-SNAPSHOT.
Remove ConfigProvider.

Change-Id: I6d578f5c3b934456cf37a0893e816cfc8d6340f1
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
10 years agoMerge "Unified implementations of BrokerService Proxies which are provided to Consume...
Ed Warnicke [Fri, 8 Nov 2013 10:46:25 +0000 (10:46 +0000)]
Merge "Unified implementations of BrokerService Proxies which are provided to Consumers/Producers."

10 years agoUnified implementations of BrokerService Proxies which are provided to Consumers...
Tony Tkacik [Fri, 8 Nov 2013 00:29:42 +0000 (01:29 +0100)]
Unified implementations of BrokerService Proxies which are provided to Consumers/Producers.

    - Added AbstractBrokerServiceProxy which is Autocloseable,
      and specific for each provider.

      This proxy is convenience wrapper, which keeps track of all
      object listeners retrieved from proxied service,
      so when proxy is closed (deregistered) all registrations
      are also removed.

    - Added concrete implementations of AbstractBrokerServiceProxy
      for Data*Services, Notification*Services and SchemaService
    - Updated implementation of SchemaService to provide notifications
      when new bundle with model is loaded.

Change-Id: I92b67dcb7f376fcf05ea41213aac719c7a3e902e
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoMerge "Updated AbstractDataModification to also implement DataChange"
Ed Warnicke [Thu, 7 Nov 2013 14:53:12 +0000 (14:53 +0000)]
Merge "Updated AbstractDataModification to also implement DataChange"

10 years agoUpdated AbstractDataModification to also implement DataChange
Tony Tkacik [Thu, 7 Nov 2013 14:28:27 +0000 (15:28 +0100)]
Updated AbstractDataModification to also implement DataChange

  - AbstractDataModification now creates DataChange in the background
    during the creation of diff.
    This DataChange is easier for Commit Handlers to read
    and do processing based on more granular changes.

Change-Id: Id0e41c444afa415c804922d0c87650dd50c555f7
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoMerge "Unification of broker concepts implementations"
Ed Warnicke [Thu, 7 Nov 2013 14:06:23 +0000 (14:06 +0000)]
Merge "Unification of broker concepts implementations"

10 years agoUnification of broker concepts implementations
Tony Tkacik [Sun, 3 Nov 2013 19:37:46 +0000 (20:37 +0100)]
Unification of broker concepts implementations

  - Introduced AbstractDataReadRouter into sal-common-impl
    which deals with data read routing.

  - AbstractDataReadRouter is then used inside sal-binding-broker
    to route reads between binding aware components

    and inside sal-dom-broker to route reads inside a mount point
    or between binding independent components.

    Extracted Rpc Routing logic from BrokerImpl.xtend and moved it to
    separate class, which is used in the broker (global context)
    and also in the mount-points (nested subsystems).

Change-Id: I7eaaddafe9f4dcb2ca6d25090246dfd51940b2d7
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoAdded Compatibility for Switch Manager and Topology Manager
Tony Tkacik [Tue, 5 Nov 2013 07:05:13 +0000 (08:05 +0100)]
Added Compatibility for Switch Manager and Topology Manager

  - Created model-topology under controller for easier
    retrieval of topology models (baseline model is ietf draft
    and is present in YANGTools git).
  - Added aggregate topology view
  - Added mapping to inventory

Change-Id: I26d73415bd19478984908d34d77a476a7a842c9f
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoFix {} vs. %s mixup
Robert Varga [Wed, 6 Nov 2013 21:42:13 +0000 (22:42 +0100)]
Fix {} vs. %s mixup

Change-Id: I8aa3d3600c977d7836d0aea8c0d5af30dfcb2004
Signed-off-by: Robert Varga <robert.varga@pantheon.sk>
10 years agoUpdated ZeroMQ implementation
Tony Tkacik [Mon, 28 Oct 2013 18:30:40 +0000 (19:30 +0100)]
Updated ZeroMQ implementation

ZeroMQ implementation listens for rpc service implementations
on one controller node and when new implementation is registered
on controller it announces it via message bus.

The receivers of announcement registers itself as the implementation
of the same service in that node, and delegates actual processing
via message bus to originating controller instance.

This allows for deployment where one controller has a bundle
which provides service A, and other which has bundle which
only consumes service A to cooperate.

Change-Id: If5a2220e05858693db6297a7592893a09021e97d
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoAdded listener for rpc registrations.
Tony Tkacik [Fri, 25 Oct 2013 18:21:47 +0000 (20:21 +0200)]
Added listener for rpc registrations.

Change-Id: I17d4fbcee58b15b2bc34c83f8dce4495f995292d
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoFix configuration for default modules
Maros Marsalek [Wed, 6 Nov 2013 11:44:48 +0000 (12:44 +0100)]
Fix configuration for default modules

Automatically add default modules to jmx, even if they do not use dependencyResolverFactory

Change-Id: I4c1129e02ba6243c3209899a3fba05e6b43055cc
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
10 years agoAdded reuse support to MD-SAL for config subsystem
Tony Tkacik [Mon, 4 Nov 2013 12:32:51 +0000 (13:32 +0100)]
Added reuse support to MD-SAL for config subsystem

Change-Id: I8a61b1d689feab71b750781a398756a2cd0d2547
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoBase integration of Binding Aware Broker with Config Subsystem
Tony Tkacik [Wed, 30 Oct 2013 12:32:29 +0000 (13:32 +0100)]
Base integration of Binding Aware Broker with Config Subsystem

Binding Aware Broker is now initialized via config subsystem
as default module, not bundle activator, this allows for
configurable modules declare BindingAwareBroker and MD-SAL as
one of their dependencies.

MD-SAL is still also available via OSGI registry and provided
Activators.

Change-Id: I81315312b921fcc2317d93e5dcf001174d02b644
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoFix FileNotFound jacoco.exec in sal poms and remove duplicate jacoco
Alissa Bonas [Mon, 28 Oct 2013 16:41:29 +0000 (18:41 +0200)]
Fix FileNotFound jacoco.exec in sal poms and remove duplicate jacoco
setting from pom.

The parent module should not have the jacoco plugin in plugins section, because it causes all the modules, even those without tests to inherit it.
Removed it from parent pom (kept it only in plugins management section)and added it to relevant poms of modules that have tests.

Change-Id: I4d33da1e490a7260d6f7809496dd67d10a45aca9
Signed-off-by: Alissa Bonas <abonas@redhat.com>
10 years agoUpdated implementation of broker (data services, generated code), added Integration...
Tony Tkacik [Wed, 23 Oct 2013 17:13:35 +0000 (19:13 +0200)]
Updated implementation of broker (data services, generated code), added Integration test.

  - Added Javadoc to Bidning Aware APIs
  - Updated implementation of data services
- Added default data store for integration testing
        - added integration test for data modifications and reads
  - Updated implementation of generated RpcRouters to get rid of reflection in cases
    where invoker does not known RPC name, only payload.

Change-Id: I30b8d8b5b4b35ff1879d0a67c2f8717294841063
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoFixed bug when SAL Proxy service was not returned to the consumer
Tony Tkacik [Tue, 22 Oct 2013 15:53:14 +0000 (17:53 +0200)]
Fixed bug when SAL Proxy service was not returned to the consumer

Change-Id: I5ba2e330c86925e8e893734a7f5b64ca1eb4c1e4
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoProper unregistration of provider's session
msunal [Tue, 22 Oct 2013 07:43:28 +0000 (09:43 +0200)]
Proper unregistration of provider's session
- if provider's session is closed, all RPCs from broker are removed

Change-Id: Ie59c19868b340588c2b7114830493986d1be3b6b
Signed-off-by: Martin Sunal <msunal@cisco.com>
10 years agoRefactored implementation of Notification Invoker
Tony Tkacik [Sun, 20 Oct 2013 16:57:33 +0000 (18:57 +0200)]
Refactored implementation of Notification Invoker

sal-binding-broker:
  Refactored implementation of listener invoker to be avoid reflection
  when invoking notification callbacks to avoid reflection.

sal-binding-it:
  Added integration test which tests basic notification scenarios
  such as publishing and receiving notifications using generated
  interfaces.

Change-Id: I7afcf25e6f29608d76143058f2eb6aec12a7ccd2
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoUpdated BindingAware Activators to prevent premature initialization
Tony Tkacik [Thu, 17 Oct 2013 08:26:47 +0000 (10:26 +0200)]
Updated BindingAware Activators to prevent premature initialization

Fixes a bug when BindingAwareActivators loaded in wrong order and
tried to retrieve MD-SAL broker before broker bundle was started.

Change-Id: I87f807974b8581a14b387928a52c2ee2fd83208c
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoFix warnings in poms - duplicate and incorrect dependencies
Alissa Bonas [Wed, 16 Oct 2013 14:12:51 +0000 (17:12 +0300)]
Fix warnings in poms - duplicate and incorrect dependencies

Change-Id: Ia8978555a51ae9be02782b8c70d8867fe2052c7a
Signed-off-by: Alissa Bonas <abonas@redhat.com>
10 years agoUpdated implementation of internal RPC Router for Binding-Aware Broker and added...
Tony Tkacik [Wed, 16 Oct 2013 15:01:47 +0000 (17:01 +0200)]
Updated implementation of internal RPC Router for Binding-Aware Broker and added IT to it

sal-binding-broker:
    Updated implementation of runtime code generator to adhere to RpcRouter contract,
    which is used by binding aware broker for introspection and configuration of runtime generated
    instances without need to use Reflection.

sal-binding-it:
    Added end-to-end integration test which tests following scenarios:
      - Registration of 2 Providers of Flow Service, 1 Consumer
        after registration 4 instances of Flow Service are existing:
         MD-SAL Northbound (runtime generated) - returned to the consumer.
         Optimized RpcRouter (runtime generated) - internal to MD-SAL
         2 implementations supplied by Provider.

      - Test verifies that implementations are not leaked to the Consumer

      - Routing of messages (calls):
         1. Provider 1. registers as provider for Node One, Consumer sends message to Node One, Provider 1. is invoked.
         2. Provider 2. registers as provider for Node Rwo, consumer sends message to Node Two, Provider 2. is invoked.
 3. Provider 1. unregisters as provider for Node One, Provider 2. registers as provider  for Node One,
            Consumer sends message to Node One, Provider 2. is invoked.

Change-Id: I101e26c190cd1770aaff1db974f9b0c341506482
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoRemoved xTend from private packages. Added OSGI-fied XTend to distribution
Tony Tkacik [Tue, 15 Oct 2013 10:41:21 +0000 (12:41 +0200)]
Removed xTend from private packages. Added OSGI-fied XTend to distribution

 - Removed XTend library from Private packages in XTend projects
 - In runtime (distribution) XTend packages are provided by
   OSGI-fied XTend bundle org.opendaylight.yangtools.thirdpary:xtend-lib-osgi:2.4.3

Change-Id: Ib79e678d740ffbcf4c4e5f6c370271af5ca76019
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoFix for breakage regarding DataStoreIdentifiers
Tony Tkacik [Mon, 14 Oct 2013 16:54:03 +0000 (18:54 +0200)]
Fix for breakage regarding DataStoreIdentifiers

Change-Id: I74ec719f5e3be040e6f399a24d2859a0ef89665e
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoUpdated RESTCONF implementation
Tony Tkacik [Mon, 14 Oct 2013 12:43:05 +0000 (14:43 +0200)]
Updated RESTCONF implementation

  - Restconf implementation now implements new SAL readign contracts
    in form of <String,CompositeNode> where String is Restconf version
    of instance identifier.

    Translation of Restconf InstanceIdentifier into Binding-Independent
    Restconf Instance-Identifier is done by ControllerContext class
    which implements stateful translation of identifier based on schema
    context.

    After translation of instence-identifier most of actions maps
    directly to Binding-Independent APIs.

Change-Id: I248470e282826a3f04f6e99f54aae8fd14ea2eb3
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoUpdated Flow Capable Models & AD SAL Compatibility mapping
Tony Tkacik [Sun, 13 Oct 2013 17:20:39 +0000 (19:20 +0200)]
Updated Flow Capable Models & AD SAL Compatibility mapping

  - Updated Inventory notifications of Flow Capable Nodes
  - Updated SAL Compatibility to use XTend for easier readability
    of Model-to-Model Mapping (AD-SAL to MD-SAL)
  - Added Adapter for: AD-SAL Inventory, Read services

Change-Id: I564301cdea66a3b843eb469520ba4383b1e92e23
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoUpdated integration test for broker
Tony Tkacik [Fri, 11 Oct 2013 14:54:31 +0000 (16:54 +0200)]
Updated integration test for broker

Change-Id: Ibcf908c651599890e72b8d2e9c0f137e04d99b49
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoUpdate to MD-SAL models
Tony Tkacik [Wed, 9 Oct 2013 16:56:26 +0000 (18:56 +0200)]
Update to MD-SAL models

Fixed bug in MD-SAL activation

Change-Id: I636d4d7c7b696c68572e94456a87edc358af4850
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoUpdate to MD-SAL APIs
Tony Tkacik [Wed, 9 Oct 2013 10:51:17 +0000 (12:51 +0200)]
Update to MD-SAL APIs

Introduced new Common APIs from which Binding-Aware and Binding-Independent
APIs are derived, this allows to maintain similar contract between
sal-binding-api and sal-dom-api which provides different access to MD SAL.

 - Fixed typos in YANG models
 - Bumped version of YANG Maven Plugin to 0.5.9-SNAPSHOT which now enforces
   valid YANG models
 - Removed OFPort.yang - Part of that model should be part of flow-node-inventory.yang
 - Removed spaces and tabs from various files
 - Updated implementations to adhere to new API definitions.

Change-Id: I5661a76398e8c8d82250de532aef6e5d268123e8
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoFixed most comments from https://git.opendaylight.org/gerrit/#/c/1721/
Ed Warnicke [Tue, 8 Oct 2013 22:34:55 +0000 (17:34 -0500)]
Fixed most comments from https://git.opendaylight.org/gerrit/#/c/1721/

Change-Id: I174a3662b13a3a6f2f07954c2d0c742e98cc5ff2
Signed-off-by: Ed Warnicke <eaw@cisco.com>
10 years agoReworked pom files
Tony Tkacik [Mon, 7 Oct 2013 13:21:28 +0000 (15:21 +0200)]
Reworked pom files

Each pom (artifact) declares it's dependencies (internal and external)
No dependencies declared at parent POM level, only dependency Management.

Also moved the <modules> from distribution/opendaylight to the root pom.xml
distribution/opendaylight now builds entirely from dependencies

I have intentionally left some things in here I think are wrong,
because the goal of this commit is to reproduce the existing build
(which it does, I've checked).  Subsequent commits will clean up other things.

Change-Id: I358bdac1c0f6a59b37a418a811a30235967fdfdc
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoUpdated bundle instructions.
Tony Tkacik [Mon, 7 Oct 2013 12:19:58 +0000 (14:19 +0200)]
Updated bundle instructions.

Change-Id: Id33f04cbab2cad79710c617ad1c342dd6cc2daf9
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoUpdate to the SAL Data APIs. Added Flow Configuration model
Tony Tkacik [Mon, 7 Oct 2013 11:12:02 +0000 (13:12 +0200)]
Update to the SAL Data APIs. Added Flow Configuration model

Change-Id: I17a10b5651f63ab9bc1d2a2ed64bf6ca8493b418
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoAdded xtend as private package.
Tony Tkacik [Mon, 7 Oct 2013 08:03:42 +0000 (10:03 +0200)]
Added xtend as private package.

Change-Id: Ida3cb56116e7a525d776d576eaea486de5dfb3b3
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoRemove commented out code to fix sonar warnings
Alissa Bonas [Tue, 1 Oct 2013 10:57:18 +0000 (13:57 +0300)]
Remove commented out code to fix sonar warnings

Change-Id: I541069ede01e456824e8e10eb196a34e477bdbd8
Signed-off-by: Alissa Bonas <abonas@redhat.com>
10 years agoFixed incorrect manifests for newly added MD-SAL components
Tony Tkacik [Wed, 2 Oct 2013 09:57:35 +0000 (11:57 +0200)]
Fixed incorrect manifests for newly added MD-SAL components

Change-Id: I03e38cab3301f7ad801c91b777e08c114c28f917
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoAdded Binding-Aware APIs for Mount YANG extension
Tony Tkacik [Tue, 1 Oct 2013 17:34:46 +0000 (19:34 +0200)]
Added Binding-Aware APIs for Mount YANG extension

Change-Id: If9e68625b38962e0f5432d605cb2e0300b217472
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoUpdated SAL Binding APIs
Tony Tkacik [Mon, 30 Sep 2013 13:33:31 +0000 (15:33 +0200)]
Updated SAL Binding APIs

  Data Services
    - Added DataModification contract which is used to track
      reads and writes regarding configuration change.

    - Updated Transaction APIs to use nwe DataModification object
    - Deprecated old APIs for Data Modification which supported
      only one unsubmitted transaction per consumer / provider

  Rpc Services
    - Added Registration for Routed Rpcs
    - Added Registration for Mounted Rpcs

  Util classes
    - Updated implementation of AbstractBindingAwareConsumer
    - Updated implementation of AbstractBindingAwareProvider

Change-Id: I0adb98ae6faf6d214484e4b276d6c3df930ca4e9
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoMigrated dom.BrokerImpl to xtend code.
Tony Tkacik [Wed, 25 Sep 2013 17:02:02 +0000 (19:02 +0200)]
Migrated dom.BrokerImpl to xtend code.

Change-Id: Ibf2a63c2d26be8dfa2f10f5467040dc753418362
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoAdded sal-connector-* skeletons (REST connector, MB, Netconf).
Tony Tkacik [Wed, 25 Sep 2013 16:52:19 +0000 (18:52 +0200)]
Added sal-connector-* skeletons (REST connector, MB, Netconf).

FIxed version of YANG Tools to 0.5.8 release

Change-Id: Id20c9cd8798948f79c655b4d7f8ecad0d1dd392c
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoDeclare junit version and use junit dependencyManagement section.
Alissa Bonas [Sun, 29 Sep 2013 11:52:50 +0000 (14:52 +0300)]
Declare junit version and use junit dependencyManagement section.

Change-Id: Ic290c0055ea0b3385d92a493ddc42decc0a4b12f
Signed-off-by: Alissa Bonas <abonas@redhat.com>
10 years agoDeclare version property for maven bundle plugin, reuse it in poms and
Alissa Bonas [Mon, 23 Sep 2013 11:58:34 +0000 (14:58 +0300)]
Declare version property for maven bundle plugin, reuse it in poms and
use version 2.3.7 instead of 2.3.6 and 2.4.0 used in parallel.

Change-Id: I3749f69ea38edbcacbe217386ac8accb19837c50
Signed-off-by: Alissa Bonas <abonas@redhat.com>
10 years agoMoved MD SAL from sal/yang-prototype to md-sal
Tony Tkacik [Mon, 23 Sep 2013 11:54:29 +0000 (13:54 +0200)]
Moved MD SAL from sal/yang-prototype to md-sal

Moved MD SAL sources, artefacts from
 opendaylight/sal/yang-prototype to opendaylight/md-sal

Change-Id: Ic3a6dca94faff8cef0dffe830a767d3ad5f0f21a
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>