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>
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>
Madhu Venugopal [Fri, 9 Aug 2013 19:32:32 +0000 (19:32 +0000)]
Merge "Implement cluster wide topology notifications and let routing use it"
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>
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>
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>
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"
Alessandro Boch [Thu, 8 Aug 2013 17:28:11 +0000 (17:28 +0000)]
Merge "Fix race condition when registering services"
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>
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>
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>
Alessandro Boch [Wed, 7 Aug 2013 19:35:52 +0000 (19:35 +0000)]
Merge "Fixed minimum values for TP_SRC/TP_DST match fields."
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>
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>
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>
Giovanni Meo [Wed, 7 Aug 2013 07:41:40 +0000 (07:41 +0000)]
Merge "HA - ARPHandler Event sync"
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>
Alessandro Boch [Tue, 6 Aug 2013 22:27:46 +0000 (22:27 +0000)]
Merge "Speed up builds"
Alessandro Boch [Tue, 6 Aug 2013 22:27:33 +0000 (22:27 +0000)]
Merge "Small enhancement to ClusteringServicesIT"
Alessandro Boch [Tue, 6 Aug 2013 22:27:17 +0000 (22:27 +0000)]
Merge "Enhanced run.sh"
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>
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."
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
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>
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>
Giovanni Meo [Tue, 6 Aug 2013 13:22:36 +0000 (13:22 +0000)]
Merge "Removed 'code-generator' and 'model' projects."
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>
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>
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>
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"
Chi-Vien Ly [Tue, 6 Aug 2013 03:59:43 +0000 (03:59 +0000)]
Merge "Controller MAC to be synced in cluster"
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>
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>
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>
Giovanni Meo [Mon, 5 Aug 2013 11:43:31 +0000 (11:43 +0000)]
Merge "Test for YANG choices added"
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>
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>
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>
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"
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>
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>
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>
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"
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>
Giovanni Meo [Fri, 2 Aug 2013 14:55:00 +0000 (14:55 +0000)]
Merge "Fix minor bug in FRM proactive flow code path"
Giovanni Meo [Fri, 2 Aug 2013 14:46:34 +0000 (14:46 +0000)]
Merge "Increased version of binding-generator to 0.5.5-SNAPSHOT."
Giovanni Meo [Fri, 2 Aug 2013 14:28:03 +0000 (14:28 +0000)]
Merge "Enhancement in switch configuration"
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>
Giovanni Meo [Thu, 1 Aug 2013 20:31:06 +0000 (20:31 +0000)]
Merge "NetworkConfiguration -> BridgeDomain Configuration Service"
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>
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>
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>
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>
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>
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."
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>
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>
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>
Alessandro Boch [Wed, 31 Jul 2013 00:34:08 +0000 (00:34 +0000)]
Merge "Fixed a typo on a comment in IPv4.java."
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>
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."
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>
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>
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>
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>
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"."
Giovanni Meo [Tue, 30 Jul 2013 15:42:46 +0000 (15:42 +0000)]
Merge "Created Yang to Java Builder pattern class generator"
Giovanni Meo [Tue, 30 Jul 2013 15:34:21 +0000 (15:34 +0000)]
Merge "Fixed bug in resolving of conditional Revision Aware XPath."
Giovanni Meo [Tue, 30 Jul 2013 15:30:11 +0000 (15:30 +0000)]
Merge "NullPointer Exceptions in HostTracker if ARPHandler is shutdown"
Giovanni Meo [Tue, 30 Jul 2013 15:27:20 +0000 (15:27 +0000)]
Merge "Get/remove inactive hosts"
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."
Giovanni Meo [Tue, 30 Jul 2013 15:08:12 +0000 (15:08 +0000)]
Merge "Adding Inactive Static Hosts"
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>
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>
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>
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>
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."
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>
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>
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>
Chi-Vien Ly [Wed, 24 Jul 2013 03:10:27 +0000 (03:10 +0000)]
Merge "Fix IPv6 + subnet flow installation"
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."
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>"
Giovanni Meo [Tue, 23 Jul 2013 12:32:35 +0000 (12:32 +0000)]
Merge "Projects moved under correct parent."
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>
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>
Madhu Venugopal [Mon, 22 Jul 2013 23:53:49 +0000 (23:53 +0000)]
Merge "Fixed bug of IPv4 option handling."
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>
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>
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)."
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>"
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>
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>
Jason Ye [Fri, 19 Jul 2013 18:06:51 +0000 (18:06 +0000)]
Merge "Make statistic queue size configurable via config.ini"
Madhu Venugopal [Fri, 19 Jul 2013 17:54:30 +0000 (17:54 +0000)]
Merge "Simpleforwarding cache synch doesn't work"
Chi-Vien Ly [Fri, 19 Jul 2013 17:34:58 +0000 (10:34 -0700)]
Make statistic queue size configurable via config.ini
Currently the queue size is fixed at 64. For large network support, this can't accommodate large network support. This enhancement is to make this size configurable through config.ini. A new system parameter is created "of.statsQueueSize" and is default to 64 (same as today).
Change-Id: I0f9c02ee3228a51ba3ec8ad2047dfff8ddae50a1
Signed-off-by: Chi-Vien Ly <chivly@cisco.com>
Giovanni Meo [Fri, 19 Jul 2013 13:36:11 +0000 (15:36 +0200)]
Simpleforwarding cache synch doesn't work
- When Simple forwarding cache syncs the HostNodePair it will cause
exceptions in the clustering services because cannot find HostNodePair
class, this is simply because the Export-Package of SimpleForwarding
bundle was exporting no packages and this was due to the mis-spelling
in the package name.
Change-Id: Iadc6609f0ae9dffc32567c04e034e025dc247584
Signed-off-by: Giovanni Meo <gmeo@cisco.com>
Pramila Singh [Thu, 18 Jul 2013 21:10:41 +0000 (14:10 -0700)]
Fix for Switchmanager Save Configuration.
Signed-off-by: Pramila Singh <pramisin@cisco.com>
Alessandro Boch [Thu, 18 Jul 2013 19:47:56 +0000 (12:47 -0700)]
Cluster mgr to remove caches when container is destroyed
DESCRIPTION: When a container is destroyed, cluster manager should clear all the caches
that were allocated in that container.
CHANGE: Have cluster mgr implement IContainerAware and cleanup the caches
on the container destroy notification
Signed-off-by: Alessandro Boch <aboch@cisco.com>
Alessandro Boch [Thu, 18 Jul 2013 18:22:44 +0000 (18:22 +0000)]
Merge "HA - Cache synch for Topology Manager"