controller.git
10 years agoMerge "Log all configuration(add/modify/delete) changes to a new log file audit.log...
Giovanni Meo [Wed, 14 Aug 2013 12:58:00 +0000 (12:58 +0000)]
Merge "Log all configuration(add/modify/delete) changes to a new log file audit.log Change-Id: Icf16c88dbbd703dafe634f145f9e52f1e425f843 Signed-off-by: Sapan Shah <sapshah@cisco.com>"

10 years agoUpgrading & configuring Infinispan 5.2.3 -> 5.3.0 for better 2-phase commit support. 69/869/1
Madhu Venugopal [Wed, 14 Aug 2013 04:21:45 +0000 (21:21 -0700)]
Upgrading & configuring Infinispan 5.2.3 -> 5.3.0 for better 2-phase commit support.
This follows the recent change from DummyTransactionManager to JBossTransactionManager.

ConnectionManager depends on the Consistency guarantee honored by the Clustering Services in order to
provide consistent Connection Management Services. Existing Infinispan 5.2.3 carries a few issues
(Refer : ISPN-3366 and ISPN-3357) which makes putIfAbsent not atomic even for TRANSACTIONAL caches.
Also, Since we are using NON-TRANSACTIONAL Caches, Infinispan doesnt provide any Atomicity guarantee
for the Cache Syncs. This is the first commit in the controller repo to convert an existing cache
from NON-TRASACTIONAL to TRANSACTIONAL. Few more caches that needs Atomicity guarantee will be
converted soon.
In addition, Infinispan configurations must be tweaked to make the transaction commits synchronous
(Currently it is inadvertently configured as Async).
With these changes, the Connection manager NodeConnections cache is made TRANSACTIONAL and the
cache syncs are guaranteed to be atomic.

NOTE: There are still few issues with Infinispan cache sync (ISPN-2719)

Change-Id: I97037ac7d6413f5b988496a03fb05bd88bbbce3f
Signed-off-by: Madhu Venugopal <vmadhu@cisco.com>
10 years agoFix NPE in ICMP.computeChecksum() 68/868/1
Alessandro Boch [Wed, 14 Aug 2013 00:15:28 +0000 (17:15 -0700)]
Fix NPE in ICMP.computeChecksum()

ISSUE:
ICMP.computeChecksum() incorrectly assumes rawPayload is always present
while determining the lenght of the ICMP packet byte stream on which
computing the checksum.

Change-Id: I41c1e0509f21a2bbb0a5ec6df038ed18a81f327a
Signed-off-by: Alessandro Boch <aboch@cisco.com>
10 years agoLog all configuration(add/modify/delete) changes to a new log file audit.log 66/866/1
Ubuntu [Tue, 13 Aug 2013 19:55:20 +0000 (12:55 -0700)]
Log all configuration(add/modify/delete) changes to a new log file audit.log
Change-Id: Icf16c88dbbd703dafe634f145f9e52f1e425f843
Signed-off-by: Sapan Shah <sapshah@cisco.com>
10 years agoMerge "Add container context debug osgi cli command to Switch Manager"
Giovanni Meo [Tue, 13 Aug 2013 08:51:37 +0000 (08:51 +0000)]
Merge "Add container context debug osgi cli command to Switch Manager"

10 years agoAdd container context debug osgi cli command to Switch Manager 59/859/2
Alessandro Boch [Mon, 12 Aug 2013 23:25:48 +0000 (16:25 -0700)]
Add container context debug osgi cli command to Switch Manager

CHANGES:
Available osgi comamnds implemented in the service classes
do not allow to access the desired container instance of service.
This change, following example in Gerrit #831, allow to dump the
nodes and node connectors database contained in Switch Manager
for the desired container.

Change-Id: I4cf959763e06facd135a1a5c3ebca59ee85bcf22
Signed-off-by: Alessandro Boch <aboch@cisco.com>
10 years agoAdd standalone JBOSSTM-JTA component 58/858/2
Giovanni Meo [Mon, 12 Aug 2013 16:10:37 +0000 (18:10 +0200)]
Add standalone JBOSSTM-JTA component

- Introduce a proper transaction manager, and make sure infinispan
uses it.

Change-Id: I13cb4f69be095ac50e2d3ff32fe85c8fd8acdb27
Signed-off-by: Giovanni Meo <gmeo@cisco.com>
10 years agoAdding code to handle multiple hosts per node connector 38/838/1
Asad Ahmed [Fri, 9 Aug 2013 21:56:27 +0000 (14:56 -0700)]
Adding code to handle multiple hosts per node connector

Change-Id: I32b18fe019a2806f0bb2778321f0a3ac6c6b23a2
Signed-off-by: Asad Ahmed <asaahmed@cisco.com>
10 years agoMerge "Implement cluster wide topology notifications and let routing use it"
Madhu Venugopal [Fri, 9 Aug 2013 19:32:32 +0000 (19:32 +0000)]
Merge "Implement cluster wide topology notifications and let routing use it"

10 years agoImplement cluster wide topology notifications and let routing use it 31/831/2
Giovanni Meo [Thu, 8 Aug 2013 17:43:38 +0000 (19:43 +0200)]
Implement cluster wide topology notifications and let routing use it

- Made TopologyManager to generate ClusterWide updates along with the
local ones.
- Implemented a mechanism in topology manager to batch the topology
updates being synched via clustering services. This would save on
unnecessary churn in recalculations under massive topology updates.
- Modified routing Dijkstra to be an ITopologyManagerClusterWideAware
client rather than on of ITopologyManagerAware.
- Modified Dijkstra implementation to generate routing updates
notifications only on the coordinator, in fact given Dijkstra will
have the same view on all the controllers node in the cluster, then
it's pointless to have all the clients of IRoutingAware to
recalculate, they would lead to the same result.
- Dijkstra edgeUpdate logic was considering the CHANGED topology event
as DELETE, that is wrong and this patch fix it.
- Added gogo shell CLI to get a route from the
DijkstraImplementation.java
- Enhanced "TopoEdgeUpdate" class to has the isLocal flag to
distinguish between the local updates and the remotes one. Also remove
non-key field from equal and hashCode calculation.
- Remove unnecessary CONFIGSAVEEVENT in TopologyManagerImpl because
now the configuration service provides a cluster wide trigger.

Change-Id: Ia74d9d1ec0731e1f5815a69edc25bbb5b4c1f531
Signed-off-by: Giovanni Meo <gmeo@cisco.com>
10 years agoUI: Remove unnecessary exception throws 32/832/1
Yevgeny Khodorkovsky [Fri, 9 Aug 2013 04:54:44 +0000 (21:54 -0700)]
UI: Remove unnecessary exception throws

When trying to register/remove a UI session, but User Manager service is
unavailable, log a warning instead of throwing exception.

Change-Id: Ia9c161f0c68b5edadad02e701949f0bfda69c4e1
Signed-off-by: Yevgeny Khodorkovsky <ykhodork@cisco.com>
10 years agoFix to set/delete Switch Configuration using Northbound API 23/823/2
Pramila Singh [Thu, 8 Aug 2013 20:59:25 +0000 (13:59 -0700)]
Fix to set/delete Switch Configuration using Northbound API

Change-Id: Ib3d7184a64bba4341637052ae96ae104073a64bc
Signed-off-by: Pramila Singh <pramisin@cisco.com>
10 years agoMerge "Logging Bridge need to show the source of the OSGi Log events"
Alessandro Boch [Thu, 8 Aug 2013 18:05:38 +0000 (18:05 +0000)]
Merge "Logging Bridge need to show the source of the OSGi Log events"

10 years agoMerge "Fix race condition when registering services"
Alessandro Boch [Thu, 8 Aug 2013 17:28:11 +0000 (17:28 +0000)]
Merge "Fix race condition when registering services"

10 years agoStatisticsManager "started" method may fail 28/828/1
Giovanni Meo [Thu, 8 Aug 2013 09:48:24 +0000 (11:48 +0200)]
StatisticsManager "started" method may fail

"started" method in the
org.opendaylight.controller.statisticsmanager.internal.StatisticsManager
occasionally can fail to complete, this is because the method tries to
"put" data in clustered caches without checking if the value being
inserted is null or no. Infinispan caches in fact don't support null
value insertion and hence an exception is thrown preventing subsequent
calls to continue. The fix is make sure we don't insert NULL values.

Change-Id: I0037931d73e7e7df9535ef83509e770b45e81c72
Signed-off-by: Giovanni Meo <gmeo@cisco.com>
10 years agoLogging Bridge need to show the source of the OSGi Log events 26/826/1
Giovanni Meo [Thu, 8 Aug 2013 09:25:40 +0000 (11:25 +0200)]
Logging Bridge need to show the source of the OSGi Log events

Logging bridge is in charge of bridging the OSGi log events toward
SLF4J but even when it does, like because an Apache Dependency Manager
callback didn't complete, it doesn't give the information on who is
the culprit and why, making debugging more difficult, this enhace the
logging.

Change-Id: I388516b3bc40d94552f49d6928b3b33c8349b687
Signed-off-by: Giovanni Meo <gmeo@cisco.com>
10 years agoUse Set for Subnet's NodeConnectors 24/824/1
Yevgeny Khodorkovsky [Thu, 8 Aug 2013 04:31:48 +0000 (21:31 -0700)]
Use Set for Subnet's NodeConnectors

- Use Set instead of List in Subnet's aggreagated NodeConnectors
  to avoid handling dpulicates
- Style fixes

Change-Id: I037764503b5bc01791716a9f515825a706451153
Signed-off-by: Yevgeny Khodorkovsky <ykhodork@cisco.com>
10 years agoMerge "Fixed minimum values for TP_SRC/TP_DST match fields."
Alessandro Boch [Wed, 7 Aug 2013 19:35:52 +0000 (19:35 +0000)]
Merge "Fixed minimum values for TP_SRC/TP_DST match fields."

10 years agoFixed minimum values for TP_SRC/TP_DST match fields. 22/822/1
Hideyuki Tai [Wed, 7 Aug 2013 16:53:28 +0000 (12:53 -0400)]
Fixed minimum values for TP_SRC/TP_DST match fields.

In OpenFlow 1.0, the tp_src and tp_dst match fields are used for transport source/destination ports or ICMP type/code.
Therefore, the range of the fields must include 0.

Change-Id: I7011109ced925e198ec2785f5ed9dc9a8e81623c
Signed-off-by: Hideyuki Tai <h-tai@cd.jp.nec.com>
10 years agoFix race condition when registering services 25/825/1
Giovanni Meo [Wed, 7 Aug 2013 09:35:29 +0000 (11:35 +0200)]
Fix race condition when registering services

Dependency Manager is able to notify every component when a new
service tracked is added/removed, this kind of operation is usually
done by allocating a synchronized set or an concurrent map to store
the new service reference or remove it.
This works fine, just it's necessary to be aware that the services may
be learnt by the Component before the "init" method of the component
it's called. In fact the init method of a Dependency Manager component
is called after all the required dependency have been met so that
means that the services may have already been registered. Now if a
component allocate the data structure needed to hold the service
reference during the init time, it can run in the condition where the
services already registered would be wiped out.

The fix is to make sure all the Dependency Manager component init
method don't allocate the data structure needed to hold the services,
but they should be created or during constructor time or during field
initialization. The second approach is prefered here.

Change-Id: I9057351830c09736c5ad7b6777330ef14b39fe9c
Signed-off-by: Giovanni Meo <gmeo@cisco.com>
10 years agoProcess host pending list on a Cache sync update. 12/812/2
Madhu Venugopal [Wed, 7 Aug 2013 05:27:20 +0000 (22:27 -0700)]
Process host pending list on a Cache sync update.

In a Clustered Controller environment, with switches connected to different controllers, ARP messages originated from
a Controller may not see the ARP reply on the same controller. The ARP response from the Host might end up in another
controller. Hence it is not appropriate to expect responses from host to terminate in the originating controller.
discoverHost is one such method that has this wrong assumption. This fix is to listen to Active Cache update and
trigger a Pending list processing (In addition to existing code that just waits on a Future object for ARP response
on the local controller).

Change-Id: I4223db66ff75bbf4d60011c9581e4dff594c0a9c
Signed-off-by: Madhu Venugopal <vmadhu@cisco.com>
10 years agoMerge "HA - ARPHandler Event sync"
Giovanni Meo [Wed, 7 Aug 2013 07:41:40 +0000 (07:41 +0000)]
Merge "HA -  ARPHandler Event sync"

10 years agoHA - ARPHandler Event sync 11/811/2
Yevgeny Khodorkovsky [Fri, 2 Aug 2013 23:38:14 +0000 (16:38 -0700)]
HA -  ARPHandler Event sync

- Replay ARP request/reply events across the cluster using cluster
  allocated cache. Then the appropriate controller handles sending the
  ARP.
- Add isUnicastMAC() to NetUtils

Change-Id: I2d2b60348341710ffbd3ffc749ff52869b9c0b3f
Signed-off-by: Yevgeny Khodorkovsky <ykhodork@cisco.com>
10 years agoMerge "Speed up builds"
Alessandro Boch [Tue, 6 Aug 2013 22:27:46 +0000 (22:27 +0000)]
Merge "Speed up builds"

10 years agoMerge "Small enhancement to ClusteringServicesIT"
Alessandro Boch [Tue, 6 Aug 2013 22:27:33 +0000 (22:27 +0000)]
Merge "Small enhancement to ClusteringServicesIT"

10 years agoMerge "Enhanced run.sh"
Alessandro Boch [Tue, 6 Aug 2013 22:27:17 +0000 (22:27 +0000)]
Merge "Enhanced run.sh"

10 years agoReplaced updateSwitchConfig() with updateNodeConfig() in loadSwitchConfiguration... 10/810/1
Pramila Singh [Tue, 6 Aug 2013 17:33:31 +0000 (10:33 -0700)]
Replaced updateSwitchConfig() with updateNodeConfig() in loadSwitchConfiguration method of SwitchManager

Change-Id: Ib29f53abc8f914a3d3fedc2eb98658054d6a749c
Signed-off-by: Pramila Singh <pramisin@cisco.com>
10 years agoMerge "Controller inventory service doesn't come up - After the commit e55cbeebfe5bae...
Alessandro Boch [Tue, 6 Aug 2013 16:21:29 +0000 (16:21 +0000)]
Merge "Controller inventory service doesn't come up - After the commit e55cbeebfe5bae130becc3facd7c6235a56529ee the InventoryShimService in OF protocol plugin was not coming up because was waiting on a service that was provided by SAL InventoryService, but this was waiting on a service provided by the protocol plugin (a typical circular dependency condition). SAL implementations should never wait on the protocol plugin, rather should track them dynamically. - In InventoryService in protocol plugin the list of pluginOutInventoryServices was initialized during init, but init is called after the necessary dependency have been met, that means that the list may already have the proper listener sets, and those will not be relearnt again. The proper initialization is the instance init, and clearing when the protocol plugin is stopping."

10 years agoSpeed up builds 07/807/1
Giovanni Meo [Tue, 6 Aug 2013 14:27:58 +0000 (16:27 +0200)]
Speed up builds

Skip Unit Test, Integration Tests as well enunciate for the skip UT
assembly

Signed-off-by: Giovanni Meo <gmeo@cisco.com>
Change-Id: Ibfb05737685d2eecb3d2ecd654a5a179b33f844f

10 years agoSmall enhancement to ClusteringServicesIT 05/805/1
Giovanni Meo [Tue, 6 Aug 2013 14:14:11 +0000 (16:14 +0200)]
Small enhancement to ClusteringServicesIT

- Enhance the clusteringServicesIT to be able to cover the case of the
double update.

Change-Id: Ic28c760ec06dc21ace51bcffb5b79255a289fa1a
Signed-off-by: Giovanni Meo <gmeo@cisco.com>
10 years agoEnhanced run.sh 04/804/1
Giovanni Meo [Tue, 6 Aug 2013 14:01:08 +0000 (16:01 +0200)]
Enhanced run.sh

- Allowing to enable JVM debug for remote troubleshooting and
also to accept extra JVM parameters from command line when launching
the controller.
- Allowing to start the controller in background and to check status
of background process as well to stop a running daemon.

Change-Id: I3bd8d49b513f9379313589e4e4152c304e84f6ea
Signed-off-by: Giovanni Meo <gmeo@cisco.com>
10 years agoMerge "Removed 'code-generator' and 'model' projects."
Giovanni Meo [Tue, 6 Aug 2013 13:22:36 +0000 (13:22 +0000)]
Merge "Removed 'code-generator' and 'model' projects."

10 years agoRemoved 'code-generator' and 'model' projects. 03/803/1
Martin Vitez [Tue, 6 Aug 2013 13:09:42 +0000 (15:09 +0200)]
Removed 'code-generator' and 'model' projects.

Updated pom.

Change-Id: I3c9498af4a545215cecc441c995bcb47c6bf82fe
Signed-off-by: Martin Vitez <mvitez@cisco.com>
10 years agoController inventory service doesn't come up 01/801/1
Giovanni Meo [Tue, 6 Aug 2013 09:29:25 +0000 (11:29 +0200)]
Controller inventory service doesn't come up
- After the commit e55cbeebfe5bae130becc3facd7c6235a56529ee the
InventoryShimService in OF protocol plugin was not coming up because
was waiting on a service that was provided by SAL InventoryService,
but this was waiting on a service provided by the protocol plugin (a
typical circular dependency condition). SAL implementations should
never wait on the protocol plugin, rather should track them
dynamically.
- In InventoryService in protocol plugin the list of
pluginOutInventoryServices was initialized during init, but init is
called after the necessary dependency have been met, that means that
the list may already have the proper listener sets, and those will not
be relearnt again. The proper initialization is the instance init, and
clearing when the protocol plugin is stopping.

Change-Id: I6ad24cb8e6e9fd5b4ae89a3b2557ec233b86ebed
Signed-off-by: Giovanni Meo <gmeo@cisco.com>
10 years agoBugfix: switch removal not notified to FMs 96/796/1
Yevgeny Khodorkovsky [Tue, 6 Aug 2013 04:20:17 +0000 (21:20 -0700)]
Bugfix: switch removal not notified to FMs

This fixes a bug where switch removal event is discarded in OF plugin
because node locality is established incorrectly.

Change-Id: I90f2c27cb0c59af58940433c468502e9900306b6
Signed-off-by: Yevgeny Khodorkovsky <ykhodork@cisco.com>
10 years agoMerge "OF plugin classes must have a strict dependency on Connection Service"
Chi-Vien Ly [Tue, 6 Aug 2013 04:01:55 +0000 (04:01 +0000)]
Merge "OF plugin classes must have a strict dependency on Connection Service"

10 years agoMerge "Controller MAC to be synced in cluster"
Chi-Vien Ly [Tue, 6 Aug 2013 03:59:43 +0000 (03:59 +0000)]
Merge "Controller MAC to be synced in cluster"

10 years agoOF plugin classes must have a strict dependency on Connection Service 95/795/1
Alessandro Boch [Mon, 5 Aug 2013 22:19:05 +0000 (15:19 -0700)]
OF plugin classes must have a strict dependency on Connection Service

ISSUE:
In scaled setup we see NPE in OF protocol plugin code as switches connect before the IPluginOUConnectionService reference is set
CHANGE:
- Have OF proto plugin Activator express a required dependency on IPluginOUConnectionService for the interested classes
- Removed stale unused conenction mgr related code from OF plugin classes

Change-Id: If8aa7239d5be0c1c206c3b4d42bfcbbe029b4588
Signed-off-by: Alessandro Boch <aboch@cisco.com>
10 years agoMake the checkstyle artifact a snapshot else it will fail deploy in merge job 93/793/1
Giovanni Meo [Mon, 5 Aug 2013 21:11:55 +0000 (23:11 +0200)]
Make the checkstyle artifact a snapshot else it will fail deploy in merge job

Change-Id: I0d4d5bb76fc1b33786793567a871441b2a340a8d
Signed-off-by: Giovanni Meo <gmeo@cisco.com>
10 years agoFactored checkstyle config into it's own mvn project 81/781/3
Ed Warnicke [Sat, 3 Aug 2013 00:04:14 +0000 (19:04 -0500)]
Factored checkstyle config into it's own mvn project

This allows correct handling of multimodule checkstyle as
documented here:

http://maven.apache.org/plugins/maven-checkstyle-plugin/examples/multi-module-config.html

This involved:
- Adding a commons/checkstyle module to hold the space_and_tabs_checks.xml
- Altering commons/opendaylight to use commons/checkstyle
- Altering commons/concepts to use commons/checkstyle
- Altering commons/integrationtest to use commons/checkstyle
- Altering opendaylight/distribution to make sure to build commons/opendaylight
    and commons/checkstyle
- Altering opendaylight/distribution to exclude commons/checkstyle from the
    distribution zip file.

Change-Id: I36c23fc92ab8ec711861c7e9251a63b1aa60fd40
Signed-off-by: Ed Warnicke <eaw@cisco.com>
10 years agoMerge "Test for YANG choices added"
Giovanni Meo [Mon, 5 Aug 2013 11:43:31 +0000 (11:43 +0000)]
Merge "Test for YANG choices added"

10 years agoTest for YANG choices added 89/789/1
Jozef Gloncak [Mon, 5 Aug 2013 11:02:08 +0000 (13:02 +0200)]
Test for YANG choices added

Test for YANG choices was programmed.

Fixed bug:
- in BindingGeneratorImpl was in method addInterfaceDefinition changed
  type of object which contains information about implemented interfaces
  from ReferencedType to GeneratedType

Change-Id: Ie580f74aeebfa53c77e01995ff0f361fb1ec6224
Signed-off-by: Jozef Gloncak <jgloncak@cisco.com>
10 years agoGeneration of java files from templates 87/787/2
msunal [Mon, 5 Aug 2013 09:09:48 +0000 (11:09 +0200)]
Generation of java files from templates

- generation of classes, interfaces, enums, builders is doing by using Xtend templates
- deleted unnecessary file BuilderClassDescriptor

Change-Id: I385604abdb883f2a1ca927b8e7245a692c179744
Signed-off-by: Martin Sunal <msunal@cisco.com>
10 years agoController MAC to be synced in cluster 79/779/3
Alessandro Boch [Sat, 3 Aug 2013 16:34:23 +0000 (09:34 -0700)]
Controller MAC to be synced in cluster

CHANGE:
- Add a new property database for controller properties in switch manager.
  Switch manager maintains the container inventory and we could have
   different controller properties in different container instances.
- Have switch mgr acquire the hardware mac and set the MacAddress
  controller property only if no other controller has already done so
- Removed ReasonCode enum that was old and unused
- Rename SwitchManagerImpl class to SwitchManager as it is already part
  of the implementaiton package

Change-Id: Id3859d0ca7873ea2e3c2f597e0003bd220e90d9a
Signed-off-by: Alessandro Boch <aboch@cisco.com>
10 years agoMerge "Fix to allow Switch configuration modification(Description and Tier) in non...
Alessandro Boch [Fri, 2 Aug 2013 23:24:31 +0000 (23:24 +0000)]
Merge "Fix to allow Switch configuration modification(Description and Tier) in non-default container"

10 years agoFix to allow Switch configuration modification(Description and Tier) in non-default... 80/780/1
Pramila Singh [Fri, 2 Aug 2013 22:35:56 +0000 (15:35 -0700)]
Fix to allow Switch configuration modification(Description and Tier) in non-default container

Change-Id: Id431dc31cfb43a0fb840c456e0d73935f82dfdeb
Signed-off-by: Pramila Singh <pramisin@cisco.com>
10 years agoThis is a fix for the latch to countdown in case of exceptions and 78/778/1
Asad Ahmed [Fri, 2 Aug 2013 22:40:33 +0000 (15:40 -0700)]
This is a fix for the latch to countdown in case of exceptions and
error conditions so that we dont wait indefinitely

Change-Id: Ic37adf700d92ce8a0c84726492643d8728d20ad2
Signed-off-by: Asad Ahmed <asaahmed@cisco.com>
10 years agoFixed a minor bug (replace VLAN enum with string to Configuration map) in the Bridge... 77/777/1
Madhu Venugopal [Fri, 2 Aug 2013 21:22:08 +0000 (14:22 -0700)]
Fixed a minor bug (replace VLAN enum with string to Configuration map) in the Bridge Domain Northbound API.

Change-Id: Id2d3e6df7ef059d5f435409c30300f724b13bd02
Signed-off-by: Madhu Venugopal <vmadhu@cisco.com>
10 years agoMerge "NorthBound APIs for the Bridge Domain configuration Service. This is the first...
Giovanni Meo [Fri, 2 Aug 2013 15:59:04 +0000 (15:59 +0000)]
Merge "NorthBound APIs for the Bridge Domain configuration Service. This is the first cut NB-APIs and the enunciate documentation will be generated once the Jenkins Verify is complete @ https://jenkins.opendaylight.org/controller/job/controller-verify/ws/opendaylight/northbound/networkconfiguration/bridgedomain/target/site/wsdocs/index.html"

10 years agoNorthBound APIs for the Bridge Domain configuration Service. 74/774/3
Madhu Venugopal [Fri, 2 Aug 2013 13:59:47 +0000 (06:59 -0700)]
NorthBound APIs for the Bridge Domain configuration Service.
This is the first cut NB-APIs and the enunciate documentation will be generated once the Jenkins Verify is complete
@ https://jenkins.opendaylight.org/controller/job/controller-verify/ws/opendaylight/northbound/networkconfiguration/bridgedomain/target/site/wsdocs/index.html

At a high level, the current version supports the following APIs :

1. Connect : PUT http://localhost:8080/controller/nb/v2/networkconfig/bridgedomain/connect/mgmt1/172.28.30.51/6634
             Response Data : xml : <node type="STUB" id="mgmt1"/>
                             json: {"@type": "STUB","@id": "mgmt1"}
2. Connect : PUT http://localhost:8080/controller/nb/v2/networkconfig/bridgedomain/connect/STUB/mgmt1/172.28.30.51/6634
             Response Data : xml : <node type="STUB" id="mgmt1"/>
                             json: {"@type": "STUB","@id": "mgmt1"}

3. Create Bridge  : POST http://localhost:8080/controller/nb/v2/networkconfig/bridgedomain/bridge/STUB/mgmt1/bridge1
4. Add Port       : POST http://localhost:8080/controller/nb/v2/networkconfig/bridgedomain/port/STUB/mgmt1/bridge1/port1
5. Add Port, Vlan : POST http://localhost:8080/controller/nb/v2/networkconfig/bridgedomain/port/STUB/mgmt1/bridge1/port2/200

Change-Id: Ic55f6bd20859b78a0e004a39388ee358eae5e61a
Signed-off-by: Madhu Venugopal <vmadhu@cisco.com>
10 years agoMerge "Fix minor bug in FRM proactive flow code path"
Giovanni Meo [Fri, 2 Aug 2013 14:55:00 +0000 (14:55 +0000)]
Merge "Fix minor bug in FRM proactive flow code path"

10 years agoMerge "Increased version of binding-generator to 0.5.5-SNAPSHOT."
Giovanni Meo [Fri, 2 Aug 2013 14:46:34 +0000 (14:46 +0000)]
Merge "Increased version of binding-generator to 0.5.5-SNAPSHOT."

10 years agoMerge "Enhancement in switch configuration"
Giovanni Meo [Fri, 2 Aug 2013 14:28:03 +0000 (14:28 +0000)]
Merge "Enhancement in switch configuration"

10 years agoEnabled classes not in org.opendaylight.controller package to output log. 71/771/1
Hideyuki Tai [Thu, 1 Aug 2013 22:19:08 +0000 (18:19 -0400)]
Enabled classes not in org.opendaylight.controller package to output log.

Change-Id: I81aeda25d698445e069d8e0c12752e42dcc98d17
Signed-off-by: Hideyuki Tai <h-tai@cd.jp.nec.com>
10 years agoMerge "NetworkConfiguration -> BridgeDomain Configuration Service"
Giovanni Meo [Thu, 1 Aug 2013 20:31:06 +0000 (20:31 +0000)]
Merge "NetworkConfiguration -> BridgeDomain Configuration Service"

10 years agoFix minor bug in FRM proactive flow code path 70/770/1
Alessandro Boch [Thu, 1 Aug 2013 19:03:51 +0000 (12:03 -0700)]
Fix minor bug in FRM proactive flow code path

ISSUE:
When proactive flows are installed on a switch
(as a result of user configuring the forwarding mode of the node to proactive)
in case switch fails to install any of these flows, the informational log still
reports that the proactive flow was succesfully installed.
CHANGE:
When calling addStaticFlowInternal() make sure to pass the restore flag as false

Change-Id: I7f1e85d40624a145c6d71bb1149b14c825894312
Signed-off-by: Alessandro Boch <aboch@cisco.com>
10 years agoIncreased version of binding-generator to 0.5.5-SNAPSHOT. 68/768/2
Martin Vitez [Thu, 1 Aug 2013 15:17:47 +0000 (17:17 +0200)]
Increased version of binding-generator to 0.5.5-SNAPSHOT.

Added dependency on 'yangtools' project. Removed 'yang' dependency. Updated imports.

Change-Id: I7dcc1f7f1ac36a21316b8cdd4ed7a4ad8d4baedc
Signed-off-by: Martin Vitez <mvitez@cisco.com>
10 years agoA race condition occurs between ARPHandler and HostTracker if the ARP 64/764/1
Maurice Qureshi [Thu, 1 Aug 2013 04:03:17 +0000 (21:03 -0700)]
A race condition occurs between ARPHandler and HostTracker if the ARP
response comes before the call to the method which is sending the ARP
has returned back to the HostTracker. The result will be that
ARPPendingList will not be processed properly.

Change-Id: If119aed19f0762ff48fde5c9ac687f92fb336f56
Signed-off-by: Maurice Qureshi <maquresh@cisco.com>
10 years agoEnhancement in switch configuration 63/763/3
Pramila Singh [Thu, 1 Aug 2013 01:57:23 +0000 (18:57 -0700)]
Enhancement in switch configuration

CHANGE:
- Enhance SwitchConfig object to carry any property and not only the three hardcoded fields it has now
- Added removeNodeConfig() and updateNodeConfig() (for adding and modifying) methods to ISwitchConfig
- Deprecated updateSwitchConfig() in favor of updateNodeConfig()
- Deprecated the ISwitchManager.getNodeDescription() in favor of the more extensible existing approach
   of directly requesting the description property
- Bumped switchmanager version number

Change-Id: I000f4b22ec37f9c61fdb5c1ea4e6fdac93811f02
Signed-off-by: Pramila Singh <pramisin@cisco.com>
10 years agoNetworkConfiguration -> BridgeDomain Configuration Service 60/760/1
Madhu Venugopal [Wed, 31 Jul 2013 14:35:28 +0000 (07:35 -0700)]
NetworkConfiguration -> BridgeDomain Configuration Service

This commit brings in BridgeDomain Configuration Service under the umbrella of SAL Network Configuration Services.
The idea of this SAL service is to provide a Protocol Plugin agnostic way of configuring Bridge Domains.
SAL NetworkConfiguration services are implemented as a pluggable bundle on its own to showcase the extensibility of SAL layer.
NetworkConfiguration bundle is subdivided into various Services under their own package structure.

Change-Id: I60e12e304bfa9e3200d1e42b3b516a9717a51407
Signed-off-by: Madhu Venugopal <vmadhu@cisco.com>
10 years agoMerge "Fixed a bug and added a function for operating on MAC addresses."
Giovanni Meo [Wed, 31 Jul 2013 08:02:48 +0000 (08:02 +0000)]
Merge "Fixed a bug and added a function for operating on MAC addresses."

10 years agoFixed a bug and added a function for operating on MAC addresses. 54/754/1
Hideyuki Tai [Wed, 31 Jul 2013 02:50:01 +0000 (22:50 -0400)]
Fixed a bug and added a function for operating on MAC addresses.

- Fixed a bug in longToByteArray6(byte[]) that converted a long number to a byte array in little endian form.
- Added a method to convert a byte array into a long number.

Signed-off-by: Hideyuki Tai <h-tai@cd.jp.nec.com>
10 years agoGracefully stop Host Tracker task threads 53/753/1
Yevgeny Khodorkovsky [Wed, 31 Jul 2013 00:52:39 +0000 (17:52 -0700)]
Gracefully stop Host Tracker task threads

- On bundle stop, stop ARP probe/refresh threads
  to avoid calling stopped services or reading terminated cache.

Change-Id: Ifa1224d1b9e9fbb245844cc8fb1a6d7a02bb5867
Signed-off-by: Yevgeny Khodorkovsky <ykhodork@cisco.com>
10 years agoStatistics Mgr to avoid unnucessary cache updates 52/752/3
Yevgeny Khodorkovsky [Wed, 31 Jul 2013 00:28:11 +0000 (17:28 -0700)]
Statistics Mgr to avoid unnucessary cache updates

- Update cache only if stats value has changed since last update
- Add hashcode and equals overrides to stats classes

Change-Id: I6cbce35c26ec389efe26e7a53c886b9e4e580ed5
Signed-off-by: Yevgeny Khodorkovsky <ykhodork@cisco.com>
10 years agoMerge "Fixed a typo on a comment in IPv4.java."
Alessandro Boch [Wed, 31 Jul 2013 00:34:08 +0000 (00:34 +0000)]
Merge "Fixed a typo on a comment in IPv4.java."

10 years agoOpenFlow Protocol_plugin changes to make use of the Connection Manager infrastructure... 49/749/2
Madhu Venugopal [Tue, 30 Jul 2013 21:09:19 +0000 (14:09 -0700)]
OpenFlow Protocol_plugin changes to make use of the Connection Manager infrastructure in order to support
Active-Active Clustering support. Notable changes are :
1. Interested Protocol_plugin services registers with SAL for Connection Service.
2. isLocal API is used by InventoryServiceShim to decide whether or not to advertise the learnt node on a particular controller.
3. isLocal API is used by other services to handle node specific events
4. InventoryService instance can now represent Global inventory in addition to its additional instances being container specific
5. Controller provides the disconnect API to allow the Connection manager disconnect a switch. (Connect API is stubbed out)

Change-Id: I163fa7b14fa998bb4654b01c0a904c1fec09b0bb
Signed-off-by: Madhu Venugopal <vmadhu@cisco.com>
10 years agoMerge "Connection Manager infrastructure supporting the Clustering Active-Active...
Alessandro Boch [Wed, 31 Jul 2013 00:12:42 +0000 (00:12 +0000)]
Merge "Connection Manager infrastructure supporting the Clustering Active-Active requirement. This commit brings in the following changes : 1. Connection Manager as a functional module that runs above SAL providing common services to various south-bound plugins.    The initial version of Connection Manager takes in Node as the only argument and let the Connection Management Scheme to determine the fate of the connection.    Primary use-case that is addressed here is the HA/Clustering's Active-Active mode with the ability for Nodes to connect to different controller in a cluster."

10 years agoPer container flow statistics filtering to account cFlows 50/750/2
Alessandro Boch [Tue, 30 Jul 2013 22:45:31 +0000 (15:45 -0700)]
Per container flow statistics filtering to account cFlows

ISSUE:
ReadServiceFilter in openflow protocol plugin while trying to derive
to which container a flow statistics object belongs, it does not take into
account the container flows (cFlows).
CHANGES:
- Have ReadServiceFilter maintain a map of container to container flows
- Have flowBelongToContainer() account the cFlows while filtering the Flow objects
- Changed the other container maps to concurrent maps
- Other minor style changes

Change-Id: I2d41fa2111334d57ef3179e907fea0bf268943e7
Signed-off-by: Alessandro Boch <aboch@cisco.com>
10 years agoFixed a typo on a comment in IPv4.java. 51/751/1
Hideyuki Tai [Tue, 30 Jul 2013 23:10:56 +0000 (19:10 -0400)]
Fixed a typo on a comment in IPv4.java.

Signed-off-by: Hideyuki Tai <h-tai@cd.jp.nec.com>
10 years agoConnection Manager infrastructure supporting the Clustering Active-Active requirement. 48/748/1
Madhu Venugopal [Tue, 30 Jul 2013 18:05:43 +0000 (11:05 -0700)]
Connection Manager infrastructure supporting the Clustering Active-Active requirement.
This commit brings in the following changes :
1. Connection Manager as a functional module that runs above SAL providing common services to various south-bound plugins.
   The initial version of Connection Manager takes in Node as the only argument and let the Connection Management Scheme to determine the fate of the connection.
   Primary use-case that is addressed here is the HA/Clustering's Active-Active mode with the ability for Nodes to connect to different controller in a cluster.

2. SAL Connection service is implemented as a seperate bundle in order to show case the possibility of SAL being extensible and not a monolith piece of infra.

3. The only API that is exposed now is the isLocal functionality which can be used by Apps and Protocol plugins alike to take care of their individual funcationalities.

The corresponding Protocol-plugin changes will be pushed as a different commit.

Change-Id: I0ffad694b1a21ff4ec7e2139bb81a398412b9de0
Signed-off-by: Madhu Venugopal <vmadhu@cisco.com>
10 years agoFixed a bug that failed specifying the value 0 on VLAN ID field for a match condition... 47/747/1
Hideyuki Tai [Tue, 30 Jul 2013 17:03:10 +0000 (13:03 -0400)]
Fixed a bug that failed specifying the value 0 on VLAN ID field for a match condition, and enabled to match VLAN untagged frames on OpenFlow switches.

- Fixed MatchType class to allow the value 0 on VLAN ID field for VLAN untagged frames.
- Changed FlowConverter class to convert the value 0 on VLAN ID field of SAL Flow into the value 0xffff of OF Flow, and vice-versa.

Signed-off-by: Hideyuki Tai <h-tai@cd.jp.nec.com>
10 years agoMerge "Added uses to extends list. Groupings in YANG are used through key word uses...
Giovanni Meo [Tue, 30 Jul 2013 15:46:00 +0000 (15:46 +0000)]
Merge "Added uses to extends list. Groupings in YANG are used through key word uses. YANG elements which contains uses "something" are now generated as interface which extends "something"."

10 years agoMerge "Created Yang to Java Builder pattern class generator"
Giovanni Meo [Tue, 30 Jul 2013 15:42:46 +0000 (15:42 +0000)]
Merge "Created Yang to Java Builder pattern class generator"

10 years agoMerge "Fixed bug in resolving of conditional Revision Aware XPath."
Giovanni Meo [Tue, 30 Jul 2013 15:34:21 +0000 (15:34 +0000)]
Merge "Fixed bug in resolving of conditional Revision Aware XPath."

10 years agoMerge "NullPointer Exceptions in HostTracker if ARPHandler is shutdown"
Giovanni Meo [Tue, 30 Jul 2013 15:30:11 +0000 (15:30 +0000)]
Merge "NullPointer Exceptions in HostTracker if ARPHandler is shutdown"

10 years agoMerge "Get/remove inactive hosts"
Giovanni Meo [Tue, 30 Jul 2013 15:27:20 +0000 (15:27 +0000)]
Merge "Get/remove inactive hosts"

10 years agoMerge "Fixed the problem with the Vlan PCP not being passed on to the switch. Also...
Alessandro Boch [Tue, 30 Jul 2013 15:16:22 +0000 (15:16 +0000)]
Merge "Fixed the problem with the Vlan PCP not being passed on to the switch. Also fixed the problem with the Masks not being properly applied when a part of the Vlan TCI like either vlan id or the vlan pcp are being set."

10 years agoMerge "Adding Inactive Static Hosts"
Giovanni Meo [Tue, 30 Jul 2013 15:08:12 +0000 (15:08 +0000)]
Merge "Adding Inactive Static Hosts"

10 years agoAdded uses to extends list. 94/694/4
Jozef Gloncak [Wed, 24 Jul 2013 11:34:28 +0000 (13:34 +0200)]
Added uses to extends list.
Groupings in YANG are used through key word uses. YANG elements which
contains uses "something" are now generated as interface which extends
"something".

Change-Id: Icc3db4191876e31cf1d27d9ddc71e4b0702a956f
Signed-off-by: Jozef Gloncak <jgloncak@cisco.com>
10 years agoFixed the problem with the Vlan PCP not being passed on to the switch. 35/735/1
Asad Ahmed [Mon, 29 Jul 2013 17:44:22 +0000 (10:44 -0700)]
Fixed the problem with the Vlan PCP not being passed on to the switch.
Also fixed the problem with the Masks not being properly applied
when a part of the Vlan TCI like either vlan id or the vlan pcp are being set.

Change-Id: I637a0570ade4e32dde52e555bfdbc1e186da7b1e
Signed-off-by: Asad Ahmed <asaahmed@cisco.com>
10 years agoNullPointer Exceptions in HostTracker if ARPHandler is shutdown 14/714/1
Maurice Qureshi [Fri, 26 Jul 2013 22:11:29 +0000 (15:11 -0700)]
NullPointer Exceptions in HostTracker if ARPHandler is shutdown

Check for availability of ARPHandler Services in HostTracker. Aslo enhanced
debug-ability

Signed-off-by: Maurice Qureshi <maquresh@cisco.com>
10 years agoCreated Yang to Java Builder pattern class generator 02/702/3
msunal [Thu, 25 Jul 2013 11:37:39 +0000 (13:37 +0200)]
Created Yang to Java Builder pattern class generator

- added Xtend tool to dependencies
- created builder xtend class template
- created BuilderClassDescriptor class which is used as source of information in template
- integrated generating of Builder pattern classes for interfaces
- updated jUnit test

Maven generates .java file as a translation of .xtend template into src/main/xtend-gen. Therefore /binding-java-api-generator/src/main/xtend-gen was added into .gitignore file.
If you use Xtend plugin for Eclipse, you should check a configuration of Xtend compiler in Eclipse, whether there is choosen xtend-gen as an output direcotory.

Change-Id: I72e733c7d8f2587848b0e0d32368f7f1700a44d0
Signed-off-by: Martin Sunal <msunal@cisco.com>
10 years agoMerge "Out of Memory when static Routes are configured with unresolved next hop Root...
Madhu Venugopal [Thu, 25 Jul 2013 21:48:40 +0000 (21:48 +0000)]
Merge "Out of Memory when static Routes are configured with unresolved next hop Root cause: This problem happens when there are staticRoutes configured but their next hop IP are unresolved (ie. not responding to ARP Request). StaticRouteImpl.java spawns a thread requesting hostTracker to discover the host, this thread is waiting forever due to a bug in the thread (HostTrackerCallable) that handles the discovery which never returns since the host is not responding."

10 years agoFixed bug in resolving of conditional Revision Aware XPath. 03/703/1
lsedlak [Thu, 25 Jul 2013 14:13:09 +0000 (16:13 +0200)]
Fixed bug in resolving of conditional Revision Aware XPath.

Fixed implementation in TypeProviderImpl - if leafref references the leaf through the conditional XPath the method will no more returns null but wrapped Type as java.lang.Object.
Added test into GeneratedTypesTest for conditional XPath.
Fixed controller-network-ne.yang - changed name of flow-tables to flow-tables2 - the build should no more fail.
Fixed wrong transformation of yang namespace to java package in case that yang namespace contains numbers right after the "."
Added check into BindingGeneratorUtil - validateJavaPackage.
Refactored and commented SchemaContextUtil.java

Signed-off-by: Lukas Sedlak <lsedlak@cisco.com>
10 years agoOut of Memory when static Routes are configured with unresolved next hop 97/697/1
Chi-Vien Ly [Thu, 25 Jul 2013 05:51:03 +0000 (22:51 -0700)]
Out of Memory when static Routes are configured with unresolved next hop
Root cause: This problem happens when there are staticRoutes configured but their
next hop IP are unresolved (ie. not responding to ARP Request).
StaticRouteImpl.java spawns a thread requesting hostTracker to discover the host,
this thread is waiting forever due to a bug in the thread (HostTrackerCallable)
that handles the discovery which never returns since the host is not responding.

Solution:
- Instead of creating threads dynamically, we create a threadpool of 2 and reuse
  the threads.
- Fix the bug in HostTrackerCallable to sleep(2000) and returns.

Change-Id: Ic04d1dbaf17d5cd6672646050d71abb9885695e9
Signed-off-by: Chi-Vien Ly <chivly@cisco.com>
10 years agoFix a wrong notification in ComponentActivatorAbstractBase 40/640/1
Giovanni Meo [Wed, 24 Jul 2013 11:04:46 +0000 (13:04 +0200)]
Fix a wrong notification in ComponentActivatorAbstractBase

The ComponentActivatorAbstractBase is currently looking for the
"stopping" method on the component that is stopping, during the
"stopped" phase provided by Apache Dependency Manager, while that
should be raised during the "stopping" phase. Correcting the
mis-alignment.

Change-Id: I1ff703ce071e2f5c80215b748b4f046760445b21
Signed-off-by: Giovanni Meo <gmeo@cisco.com>
10 years agoMerge "Fix IPv6 + subnet flow installation"
Chi-Vien Ly [Wed, 24 Jul 2013 03:10:27 +0000 (03:10 +0000)]
Merge "Fix IPv6 + subnet flow installation"

10 years agoMerge "When a node is going down, remove edges in both directions associated with...
Alessandro Boch [Wed, 24 Jul 2013 00:19:33 +0000 (00:19 +0000)]
Merge "When a node is going down, remove edges in both directions associated with the node."

10 years agoMerge "InventoryShim to check node presence, before notifying in container Signed...
Alessandro Boch [Tue, 23 Jul 2013 14:32:04 +0000 (14:32 +0000)]
Merge "InventoryShim to check node presence, before notifying in container Signed-off-by: Pramila Singh <pramisin@cisco.com>"

10 years agoMerge "Projects moved under correct parent."
Giovanni Meo [Tue, 23 Jul 2013 12:32:35 +0000 (12:32 +0000)]
Merge "Projects moved under correct parent."

10 years agoProjects moved under correct parent. 16/616/4
Martin Vitez [Fri, 19 Jul 2013 09:15:10 +0000 (11:15 +0200)]
Projects moved under correct parent.

Moved code-generator/maven-yang -> yang/.
Moved code-generator/maven-yang-plugin -> yang/.
Moved code-generator/maven-yang-plugin-it -> yang/.
Moved code-generator/yang-model-parser-api -> yang/.
Moved code-generator/yang-model-parser-impl -> yang/.

Configured site plugin for project. Fixed some javadocs.
Fixed bug in ParserUtils causing NullPointerException.
Fixed bug in resolving uses statement.
Improved tests.

Change-Id: Ia7567544fbe006f0cf87055c6633c04b5ce2c50e
Signed-off-by: Martin Vitez <mvitez@cisco.com>
10 years agoFix IPv6 + subnet flow installation 25/625/1
Alessandro Boch [Mon, 22 Jul 2013 21:29:03 +0000 (14:29 -0700)]
Fix IPv6 + subnet flow installation

    ISSUE: Flows matching on IPv6 packets are not installed when a mask is specified
    CHANGE:
    - Set the proper field in V6Match for subnets
    - Cleanup V6Match to make use of parent OFMatch fields for IPv4 matches
    - Fix subnet methods in NetUtils
    - Fix MatchType and MatchField to consider the network prefix address when
      checking equality and building hashcode for a Match on NW_SRC and NW_DST

Signed-off-by: Alessandro Boch <aboch@cisco.com>
10 years agoMerge "Fixed bug of IPv4 option handling."
Madhu Venugopal [Mon, 22 Jul 2013 23:53:49 +0000 (23:53 +0000)]
Merge "Fixed bug of IPv4 option handling."

10 years agoWhen a node is going down, remove edges in both directions associated with the node. 23/623/1
Jason Ye [Mon, 22 Jul 2013 22:11:59 +0000 (15:11 -0700)]
When a node is going down, remove edges in both directions associated with the node.

Signed-off-by: Jason Ye <yisye@cisco.com>
10 years agoAdded toester demo yang file. 22/622/2
Tony Tkacik [Mon, 22 Jul 2013 14:22:21 +0000 (16:22 +0200)]
Added toester demo yang file.

Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoMerge "Package names for enclosed Types of TOs were changed to fully qualified. Fully...
Ed Warnicke [Sun, 21 Jul 2013 05:51:17 +0000 (05:51 +0000)]
Merge "Package names for enclosed Types of TOs were changed to fully qualified. Fully qualified package names are added to enclosed Types of transport objects. In previous version there was bug (name of enclosing type was missing in package name)."

10 years agoMerge "Fix for Switchmanager Save Configuration. Signed-off-by: Pramila Singh <pramis...
Alessandro Boch [Fri, 19 Jul 2013 23:15:13 +0000 (23:15 +0000)]
Merge "Fix for Switchmanager Save Configuration. Signed-off-by: Pramila Singh <pramisin@cisco.com>"

10 years agoFixed bug of IPv4 option handling. 21/621/1
Hideyuki Tai [Fri, 19 Jul 2013 22:05:51 +0000 (18:05 -0400)]
Fixed bug of IPv4 option handling.

Signed-off-by: Hideyuki Tai <h-tai@cd.jp.nec.com>
10 years agoInventoryShim to check node presence, before notifying in container 20/620/1
Pramila Singh [Fri, 19 Jul 2013 20:01:44 +0000 (13:01 -0700)]
InventoryShim to check node presence, before notifying in container
Signed-off-by: Pramila Singh <pramisin@cisco.com>
10 years agoMerge "Make statistic queue size configurable via config.ini"
Jason Ye [Fri, 19 Jul 2013 18:06:51 +0000 (18:06 +0000)]
Merge "Make statistic queue size  configurable via config.ini"