Madhu Venugopal [Wed, 6 Aug 2014 09:02:01 +0000 (09:02 +0000)]
Merge "Wait for result of Transactions in MD-SAL Adapter"
Madhu Venugopal [Wed, 6 Aug 2014 01:48:27 +0000 (01:48 +0000)]
Merge "Close the SouthboundHandler Executor Gracefully"
Dave Tucker [Tue, 5 Aug 2014 16:35:43 +0000 (17:35 +0100)]
Wait for result of Transactions in MD-SAL Adapter
This patch waits for the result of a transaction to return before
executions continues. Additionally, logs have been cleaned up
Change-Id: I3602bd3784af1b3c290efc58a7d6018687441fc3
Signed-off-by: Dave Tucker <djt@redhat.com>
Madhu Venugopal [Wed, 6 Aug 2014 01:10:00 +0000 (01:10 +0000)]
Merge "Bug 1396 : Change from deprecated DataBrokerService to DataBroker"
Dave Tucker [Tue, 5 Aug 2014 18:45:07 +0000 (19:45 +0100)]
Close the SouthboundHandler Executor Gracefully
During the OSGi "stop" method try and close the Executor gracefully.
Stop accepting new work by calling shutdown()
Wait a given time for the current task to terminate before issuing a
shutdownNow()
Fixes bug 281
Change-Id: I0823a3dce87e67ca3e5d18640e9ecd5d4e75b7ba
Signed-off-by: Dave Tucker <djt@redhat.com>
Giovanni Meo [Tue, 5 Aug 2014 13:52:22 +0000 (15:52 +0200)]
Remove reference to stale model-flow-management
- Remove reference to an artifact that is no longer created in
controller
- Fixing a whitespace issue on the feature.xml file that could cause
issues downstream on a build
Change-Id: I6fa09234a23760220e32df689d0728b579ba34f6
Signed-off-by: Giovanni Meo <gmeo@cisco.com>
Flavio Fernandes [Fri, 25 Jul 2014 14:38:45 +0000 (10:38 -0400)]
Bug 1396 : Change from deprecated DataBrokerService to DataBroker
Script for creating coke tenants in devstack:
https://gist.github.com/
1ba897e7cde8dbd87fe8
Starting odl command:
./run.sh -Xmx2048m -XX:MaxPermSize=512m -virt ovsdb
LogLevel:
setLogLevel org.opendaylight.ovsdb.openstack.netvirt.providers.OF13Provider TRACE
Log of test:
TBD
Change-Id: Ie2db83dba6560eea3ec4d9f1d6bd24283b95b241
Signed-off-by: Flavio Fernandes <ffernand@redhat.com>
Madhu Venugopal [Tue, 5 Aug 2014 03:10:05 +0000 (03:10 +0000)]
Merge "Add MD-SAL Adapter for the OVSDB Plugin"
Dave Tucker [Fri, 1 Aug 2014 19:42:14 +0000 (20:42 +0100)]
Add MD-SAL Adapter for the OVSDB Plugin
This commit adds an initial MD-SAL connector for OVSDB
The OvsdbInventoryManager updates the MD-SAL with nodes as they are
added and removed from inventory. The Yang model provides a reference
between OVSDB nodes and the OpenFlow nodes (bridges) that they manage
Also changes the nodeAdded API in OvsdbIventoryListener to pass the
IpAddress and Port number of the new node. This avoids having to query
the AD-SAL based properties set for this inforamtion
Change-Id: Ia2d8140c3f504d9b2d78b490bb273808f9a86c51
Signed-off-by: Dave Tucker <djt@redhat.com>
Madhu Venugopal [Mon, 4 Aug 2014 20:47:29 +0000 (13:47 -0700)]
Deprecating the Schma-dependent Plugin CRUD APIs and Introducing Schema-independent CRUD API definitions in the Plugin layer.
1. Deprecated all the existing insert/get/update/Delete methods that are Open_vSwitch Schema-dependent
2. Introduced equivalent methods with DatabaseName as an additional argument.
3. Introduced a new inssertTree method that has the capability to insert a Tree of rows with parent-child relationship
4. Changed the return types to make more sense (instead of the status types returned today)
5. Added a more generic Exception class which will be inherited by more specific exceptions as the need araises.
The implementation for these methods are not done yet.
Change-Id: Ia363574a4d71e301f7c4b1a2e3bac08de53c62f9
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Dave Tucker [Mon, 4 Aug 2014 11:44:55 +0000 (12:44 +0100)]
Refactor of the OVSDB Plugin
- Separate API and Implementation of services
- Deprecated existing interfaces
- Only export the OSGi services from the budle
- Remove ServiceHelper and use Dependency Injection
- Publish Ovsdb Connection events from the Library via OSGi
Change-Id: Ic9fac3747548a741998c40940f73244dae06626a
Signed-off-by: Dave Tucker <djt@redhat.com>
Dave Tucker [Mon, 4 Aug 2014 12:27:02 +0000 (12:27 +0000)]
Merge "Added LBaaS/OS API calls to the project Postma collection"
Dave Tucker [Mon, 4 Aug 2014 12:26:31 +0000 (12:26 +0000)]
Merge "With the Controller Project exposing NSF features, we can enable OVSDB Northbound karaf features"
Dave Tucker [Mon, 4 Aug 2014 12:25:55 +0000 (12:25 +0000)]
Merge "Bug 1471 : Fixing the Open_vSwitch Schema Controller Table's Target as String (from Set<String>)"
Brent Salisbury [Mon, 4 Aug 2014 10:33:10 +0000 (06:33 -0400)]
Added LBaaS/OS API calls to the project Postma collection
-Added LBaaS to the existing FWaaS and portSec.
-Made a directory for each service.
Signed-off-by: Brent Salisbury <brent.salisbury@gmail.com>
Madhu Venugopal [Sun, 3 Aug 2014 23:30:24 +0000 (23:30 +0000)]
Merge "Init bundle files for ovs-sfc."
Sam Hague [Wed, 30 Jul 2014 19:41:19 +0000 (15:41 -0400)]
Init bundle files for ovs-sfc.
Change-Id: Ia0a4985c4fed44562de8804cbdbe71f07d06514b
Signed-off-by: Sam Hague <shague@redhat.com>
Madhu Venugopal [Sun, 3 Aug 2014 17:25:35 +0000 (10:25 -0700)]
With the Controller Project exposing NSF features, we can enable OVSDB Northbound karaf features
Change-Id: Ibd9691b86d848029318c82e4c0870a42f5ce5462
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Madhu Venugopal [Sat, 2 Aug 2014 17:20:29 +0000 (10:20 -0700)]
Bug 1471 : Fixing the Open_vSwitch Schema Controller Table's Target as String (from Set<String>)
Also added a IT test to cover this case.
This issue was uncovered while fixing https://git.opendaylight.org/gerrit/#/c/9606
Change-Id: Icf1b242f65a58aa6a38259ee0f7195d1ec946d7c
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Flavio Fernandes [Fri, 18 Jul 2014 15:10:23 +0000 (11:10 -0400)]
Improve debug and trace logging in Neutron
Change-Id: I2365e6be53b599f54b6382f389e7bd4cf61fc125
Signed-off-by: Flavio Fernandes <ffernand@redhat.com>
Madhu Venugopal [Sat, 2 Aug 2014 02:50:52 +0000 (02:50 +0000)]
Merge "NBI v3 Method Stubs"
Madhu Venugopal [Wed, 30 Jul 2014 19:57:18 +0000 (12:57 -0700)]
Fixed OVSDB plugin Integration Test issue on Jenkins server
1. Removed SureFire plugin and made this FailSafe only IT
2. Moved IT files carrying individual test-case grouped under more logically placed IT classes
3. Changed the port name constants from eth0, eth1 to test0, test1 (somehow this affects Jenkins. Need to work on that more to understand the rootcause).
4. Moved all the Tests under TestSuite with TearDown
Change-Id: I8cc8225332910bcf0c56babb10010d55c9e8df99
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Dave Tucker [Wed, 30 Jul 2014 11:45:03 +0000 (12:45 +0100)]
Include PAX Exam Code Coverage in Sonar
- Create an aggregate jacoco report in the root target direcorty
- Combine surefire and failsafe reports to all tests run in Sonar
- Split the Maven profiles for integrationtest and coverage
- Add a jenkins profilei
- Remove root IT profile so IT modules are complied every time
To run the integration tests
mvn clean install
mvn verify -Pintegrationtest
To run the IT with JaCoCo
mvn verify -Pintegrationtest -Pcoverage
To upload results to Sonar
mvn sonar:sonar
Change-Id: Ia0875de7efe67fc7a7d067adabed2d9588e284f4
Signed-off-by: Dave Tucker <djt@redhat.com>
Madhu Venugopal [Tue, 29 Jul 2014 19:09:59 +0000 (19:09 +0000)]
Merge "Fix behaviour of listeners in the InventoryService"
Dave Tucker [Tue, 29 Jul 2014 15:46:04 +0000 (16:46 +0100)]
NBI v3 Method Stubs
This commit adds the methods stubs for the v3 NBI.
OVSDB can now meet the API freeze milestone while we work on the
implementation
Change-Id: Icdc78a64f31d4e62926284c4669ecec65877421a
Signed-off-by: Dave Tucker <djt@redhat.com>
Madhu Venugopal [Fri, 25 Jul 2014 23:04:58 +0000 (23:04 +0000)]
Merge "Added per-flow TEP and per-port TEP example in SW schema IT"
Madhu Venugopal [Fri, 25 Jul 2014 00:01:50 +0000 (17:01 -0700)]
Updating an oudated README file
Change-Id: I9c6bc8b9699ecafb91421cc7a7cccb5d872e0b31
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Madhu Venugopal [Thu, 24 Jul 2014 21:05:42 +0000 (14:05 -0700)]
Karaf features for OVSDB modules.
1. Individual Features for library, schema wrappers and plugin.
2. Northbound and Openstack features will be added as soon as controller AD-SAL karaf features are resolved.
3. Updated proper <name> tag in each of the pom files as the default karaf behaviour is to print artifact-id in bundle:list.
Sample logs after kar:install : https://gist.github.com/
4845f27a79cf74dd7431
Change-Id: I2180c8dc37a4cc06d0ab9a53b03162594439ac85
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Brent Salisbury [Fri, 25 Jul 2014 19:05:36 +0000 (15:05 -0400)]
Added per-flow TEP and per-port TEP example in SW schema IT
Added a TEP example into the sw schema.
Signed-off-by: Brent Salisbury <brent.salisbury@gmail.com>
Dave Tucker [Tue, 22 Jul 2014 22:08:48 +0000 (23:08 +0100)]
Fix behaviour of listeners in the InventoryService
Currently a random OVSDB Inventory Listener will be resolved from the
OSGi Service Registry. This commit enables ALL registered inventory
listeners to receive updates using the OSGi Whiteboard Pattern
Additionally there was a hack in the Port and Network Handlers that
created InventoryService events, breaking the Provider/Consumer
contract. This is also fixed in this commit.
Fixes bug 1298
Change-Id: Iec1871a9022291b222a56cbb03e2093d3d45cc7a
Signed-off-by: Dave Tucker <djt@redhat.com>
Dave Tucker [Thu, 17 Jul 2014 00:07:53 +0000 (01:07 +0100)]
Refactor OVSDB Neutron Code
- Any OSGi Service that implements the NetworkingProvider interface is
available as a Neutron Networking Provider
- OFXProvider is now resolved based on the version on OVS installed on
the bridge
- Bump version to 1.0.0
- Refactor main service classes and add Javadocs
- Adjust class naming to better reflect purpose
- Move constants and utils to specialized classes
- Split api and implementation
- Expose neutron services via OSGi
- Move providers to a seperate bundle
- Clean up Activator
- Remove ServiceHelper and instead rely on OSGi Service Registry
- Remove unnecessary OSGi Lifecycle Callbacks
- Use Guava to create new HashMaps and Lists
- Use Guava Preconditions in place of null checks
- Fix bug in OVSDB plugin where OF Controllers and Protocols where not
set in OVS < 1.10.0
- Export the "lib.errors" package from the OVSDB library
Change-Id: If197f04b94acc8811ee925f5d0892792e13adbb6
Signed-off-by: Dave Tucker <djt@redhat.com>
Madhu Venugopal [Tue, 22 Jul 2014 14:10:18 +0000 (07:10 -0700)]
Bug 1385 : Adding support for toString, equals and hashCode for the Typed Interfaces.
Guava's AbstractInvocationHandler indeed handles these missing methods on top of InvocationHander (that we currently use).
But unfortunately, the equals() support in AbstractInvocationHandler is screwed up and doesnt fit our needs.
More to it the invoke() method in AbstractInvocationHandler is declared as final.
Hence have implemented a similar functionality on top of InvocationHandler.
In order to have a proper hashCode and equals for these Typed Interfaces, I had to add these methods to all the
Library schema unTyped classes such as Row, Column, BaseType, etc...
Also added IT to cover these methods.
Change-Id: Ia5c3081ae5ce20b9a8fd6ceaadbfd21145649078
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Madhu Venugopal [Tue, 22 Jul 2014 14:02:40 +0000 (07:02 -0700)]
Bug 1401 : Resolving unrecognized field "syntax" error in OperationResult
As per RFC 7047, the error field is defined only the the "error" and "details" elements.
But it can also contain other elements that is not described by the RFC.
"An <error> MAY also have other members that describe the error in more detail.
This document does not specify the names or values of these members."
The ovsdb-server implementation may choose to add more fields to give more information
to the error.
Since, these fields are not defined in the RFC, we should not fail the JSON parsing
if we encounter unknown fields.
Change-Id: I95c2e5ada6d8b97ff6dfe4f4ed9534ba143e822f
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Madhu Venugopal [Tue, 22 Jul 2014 14:00:12 +0000 (07:00 -0700)]
Bug 1406 : Resolving an IndexOutOfBoundsException in Transact Response processing
Change-Id: I4bf94f9100147411c88e7bb862e9bb1c38127e3c
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Madhu Venugopal [Thu, 17 Jul 2014 18:53:50 +0000 (11:53 -0700)]
Removing affinity from the ovsdb distribution to be in sync with integration virt edition.
Change-Id: I19e3594341b9ba76d15a2b8d5b1d113696ed7453
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Dave Tucker [Sun, 13 Jul 2014 16:12:46 +0000 (17:12 +0100)]
Reorganize Pom Files
- Create better heirarchy
- Move plugin configuration to commons
- Use pluginManagement in parent instead of plugins
- Move integrationtest profile to parent pom
- Move ovsdb bundle versions to parent pom
- Add common dependencies to commons pom.xml
Change-Id: If5a5a668c17a9d4146bfdd3e7ab4b33938aaefb5
Signed-off-by: Dave Tucker <djt@redhat.com>
Dave Tucker [Sun, 13 Jul 2014 15:04:56 +0000 (16:04 +0100)]
Use ODL Root Parent POM
Change-Id: Iefc44b02bfdca126d806df67ac3e18b60ceba5f9
Signed-off-by: Dave Tucker <djt@redhat.com>
Dave Tucker [Fri, 11 Jul 2014 20:26:27 +0000 (21:26 +0100)]
Fix JaCoCo plugin to produce local reports
There seems to be a bug in JaCoCo where using "include" in the
configuration produces a blank report.
Change-Id: I34f97c2c27d5de569b8177736e0da920e87cdddc
Signed-off-by: Dave Tucker <djt@redhat.com>
Dave Tucker [Fri, 11 Jul 2014 22:23:20 +0000 (23:23 +0100)]
Update .gitreview
Delete the defaultbranch as we are now on master
Change-Id: Ic9515c708884b97bd1ea062bcfc4d4e9eee1147d
Signed-off-by: Dave Tucker <djt@redhat.com>
Madhu Venugopal [Fri, 11 Jul 2014 17:58:31 +0000 (10:58 -0700)]
Merge 'origin/topic/schema' branch into merge-branch
Change-set includes :
1. Schema Independent Library layer/bundle with no dependencies to other Opendaylight components
2. Library can be also be used in a non-osgi environment
3. Redesigned Plugin, Neutron and NorthboundV2 layers that make use of the Schema independent library
4. Static Typed Schemas - Open_vSwitch and hardware_vtep as a thin wrapper layer on top of library
5. Unit & Integration Tests with PAX-Exam integration for most of the newly added/modified code-base
6. Bundle names and versions are modified to reflect the new functionalities
Change-Id: I126de455692bc38f287ac2874da796f00f39ba7a
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Dave Tucker [Fri, 11 Jul 2014 11:31:09 +0000 (12:31 +0100)]
Normalize Bundle Naming
Remove underscores and capitals from bundle names.
Remove duplicated "ovsdb" in bundle names.
This produces the following bundles:
- org.opendaylight.ovsdb.library-1.0.0-SNAPSHOT.jar
- org.opendaylight.ovsdb.neutron-0.7.0-SNAPSHOT.jar
- org.opendaylight.ovsdb.northbound-0.6.0-SNAPSHOT.jar
- org.opendaylight.ovsdb.plugin-1.0.0-SNAPSHOT.jar
- org.opendaylight.ovsdb.schema.hardwarevtep-1.0.0-SNAPSHOT.jar
- org.opendaylight.ovsdb.schema.openvswitch-1.0.0-SNAPSHOT.jar
This is consistent with the existing bundle naming in Nexus
This commit also fixes import issues with Eclipse...
Change-Id: Ie693bab44e9452d1f09c71181f3ccac87471fbbb
Signed-off-by: Dave Tucker <djt@redhat.com>
Dave Tucker [Fri, 11 Jul 2014 00:54:47 +0000 (01:54 +0100)]
Fix incorrect OVSDB class names
OVSDB should be "Ovsdb" in Camel Case.
This patch fixes some mis-Camelizations
Change-Id: I70fa37e59ccfadbf9e28001cb18197e9c69dc19c
Signed-off-by: Dave Tucker <djt@redhat.com>
Madhu Venugopal [Fri, 11 Jul 2014 00:06:36 +0000 (17:06 -0700)]
Fixing Activator to get InventoryService register with ConfigurationService properly.
Change-Id: Ic3785f2c74820208859015ce1b8f9663265869b0
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Dave Tucker [Thu, 10 Jul 2014 22:08:08 +0000 (22:08 +0000)]
Merge "Added new IT base for Hardware VTEP schema, Manager test case" into topic/schema
Matt Oswalt [Mon, 7 Jul 2014 09:17:01 +0000 (05:17 -0400)]
Added new IT base for Hardware VTEP schema, Manager test case
Change-Id: I9454a7f147b8d4f79cc9c15864f93530a1db4684
Signed-off-by: Matt Oswalt <matt@keepingitclassless.net>
Sam Hague [Thu, 10 Jul 2014 21:32:51 +0000 (17:32 -0400)]
OF10Provider missing one change to use ovsdbTable.getTypedRow
Looks like one instance of converting to the call was missed.
Change-Id: I7340246e666c324adcf1afc4723ab5f48759a8b6
Signed-off-by: Sam Hague <shague@redhat.com>
Madhu Venugopal [Thu, 10 Jul 2014 17:04:07 +0000 (17:04 +0000)]
Merge "Use Long instead of Integer for ports." into topic/schema
Sam Hague [Thu, 10 Jul 2014 14:37:21 +0000 (10:37 -0400)]
Use Long instead of Integer for ports.
Add fixes in OF10Provider to use long for ports.
Change-Id: I3f0b9432b8539811d26456cd83f14139355e8f76
Signed-off-by: Sam Hague <shague@redhat.com>
Madhu Venugopal [Thu, 10 Jul 2014 02:26:44 +0000 (19:26 -0700)]
Backward compatibilty support for Northbound v2 GET operation.
Sample output for a GET operation based on latest topic/schema branch : https://gist.github.com/
1fc3dd2eb4d2391d16df
This provides the backward compatible support as in Hydrogen release.
Northbound v3 support will bring in the new and improved version of GET/PUT/POST operation.
Change-Id: I082afe8ef87ad594f0467d96f103dbed45888d5f
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Dave Tucker [Thu, 10 Jul 2014 01:01:54 +0000 (01:01 +0000)]
Merge "Removed the static usage of open_vSwitch from transactBuilder and made it a dynamic value." into topic/schema
Dave Tucker [Thu, 10 Jul 2014 00:58:45 +0000 (00:58 +0000)]
Merge "Removing unused classes from Library" into topic/schema
Madhu Venugopal [Wed, 9 Jul 2014 19:27:28 +0000 (12:27 -0700)]
Removed the static usage of open_vSwitch from transactBuilder and made it a dynamic value.
The actual change is in TransactBuilder.java
- List<Object> lists = Lists.newArrayList((Object)"Open_vSwitch");
+ List<Object> lists = Lists.newArrayList((Object)dbSchema.getName());
But this change of passing the databaseSchema to the TransactBuilder calls for changing a
few APIs across the library.
This fix is needed in order for hardware_vtep testing to proceed.
Change-Id: I3e923ab9edd8d0f6836704be0cb6bd209f5c0480
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Dave Tucker [Wed, 9 Jul 2014 21:32:56 +0000 (22:32 +0100)]
Add more ignorables to gitignore
.vagrant should have been here but wasn't
.DS_Store is an OSX temp file that slipped in
Change-Id: I1436613929f850b0899a56cd7ec9a982c92cb31e
Signed-off-by: Dave Tucker <djt@redhat.com>
Madhu Venugopal [Wed, 9 Jul 2014 19:02:31 +0000 (12:02 -0700)]
Removing unused classes from Library
Change-Id: I9397271ee485b0f04f64da1fb8582a9910160ba3
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Madhu Venugopal [Wed, 9 Jul 2014 18:53:51 +0000 (11:53 -0700)]
Bug 1340 : Resolving TableUpdate handling that was not in complaince with RFC 7047.
1. Introduced RowUpdate class as per RFC 7047
2. Modified TableUpdate to use RowUpdate
3. Modified the parsing logic to make use of the new TableUpdate/RowUpdates
4. Modified the users of Monitor Updates to make use of the new TableUpdate
5. Removed an unnecessary redirection/ complexity in the NodeDB class
6. Adjusted and added support in the IT to handle multiple Rows in a single update.
Change-Id: I8c74d904e2c33087335825923830ef275cc818ac
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Madhu Venugopal [Wed, 9 Jul 2014 15:33:46 +0000 (15:33 +0000)]
Merge "Add JaCoCo coverage for OVSDB" into topic/schema
Sam Hague [Tue, 8 Jul 2014 23:11:00 +0000 (19:11 -0400)]
Bug 1334 - Change the Typed Classes in Open_vSwitch and hardware_vtep schema
- Fixed IT tests.
- Address review comments: removed some commented out lines
- Modified schema files to use Set<Long> instead of Set<Integer>
- Modified user files to use new schema
Change-Id: I471d5c69d9b6f03df97fabbae5ab743b4b9772a5
Signed-off-by: Sam Hague <shague@redhat.com>
Dave Tucker [Tue, 8 Jul 2014 23:35:18 +0000 (00:35 +0100)]
Add JaCoCo coverage for OVSDB
- Update to JaCoCo 6.4
- Add UT and IT configurations
- Required to push UT/IT coverage to Sonar
- Can be run locally:
mvn clean verify -Pintegrationtest
- Local coverage reports are in the target/site directory of each
module
Change-Id: I5c4c1c4d2e7b37eb67f9bf2ade818c8ed4256cd0
Signed-off-by: Dave Tucker <djt@redhat.com>
Madhu Venugopal [Tue, 8 Jul 2014 20:24:02 +0000 (13:24 -0700)]
Fixing a few issues in OF13Provider
Change-Id: Ib186a4e60aa1003e2e94d9b4298529250bb0f0e7
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Madhu Venugopal [Tue, 8 Jul 2014 17:34:16 +0000 (10:34 -0700)]
Removed the executorservice thread that we added in async update processing
We moved channelRead in JsonRpc Layer to its own thread in order to avoid a possible channel-lock
issue when we try to program the table in the same thread.
But this breaks a lot of assumption in the existing code in Neutron/Library layers where an update
followed by access has to be delayed.
With the earler changes made to the Monitor request resulting in synchronous MonitorResponse, the
channel lock issue for the initial monitor processing is taken care of.
Any subsequent Updates are anyways thrown to an application queue which gets processed in its own
thread.
Hence, removing the thread from the low-layer and that enables receiving the monitor tableupdates/
updating the tableCache in the same thread.
Change-Id: I8a70b03fe87f8002bfc78a55b28d71c3e7152776
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Dave Tucker [Tue, 8 Jul 2014 11:54:04 +0000 (11:54 +0000)]
Merge "Adjusting ovsdb project to work with the new default openflowplugin and openflowjava bundles." into topic/schema
Dave Tucker [Tue, 8 Jul 2014 11:14:19 +0000 (11:14 +0000)]
Merge "Bug 1327 : Fixing a few Connection handling issues" into topic/schema
Madhu Venugopal [Tue, 8 Jul 2014 11:04:02 +0000 (04:04 -0700)]
Adjusting ovsdb project to work with the new default openflowplugin and openflowjava bundles.
With the latest changes in the Controller and Integration projects, MD-SAL based Openflowplugin is made
the default openflow plugin. In order to work in tandem with Controller/Integration project, this changeset
contains the changes that will make MD-SAL Openflow Plugin as the default Openflow Provider in the OVSDB local
distribution target.
Change-Id: I11fc6bae0fb8c471fc8518baacf3e96eeefce1d1
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Madhu Venugopal [Tue, 8 Jul 2014 08:04:05 +0000 (01:04 -0700)]
Bug 1327 : Fixing a few Connection handling issues
Since the library and plugin layers are seperated out into its own OSGi bundles and the initial low-level
OVSDB connection is managed by the library layer, there are cases in which the plugin layer might become
ACTIVE at a later point in time after the actual Passive OVSDB connection is established with the Library.
Also, the ConnectionManager and higher application layers can independently be restarted.
This fix brings in the robustness in the Connection management interactions between Library, Plugin, AD-SAL
and Connection Manager NSF.
In turn this makes the printCache command to work consistently which addresses the issue raised in Bug 1327
Change-Id: Ifc004f01e0306f7e71f908c063472a0b38bb572c
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Dave Tucker [Tue, 8 Jul 2014 09:02:14 +0000 (09:02 +0000)]
Merge "Resolving possible NullPointerException during disconnect cases." into topic/schema
Dave Tucker [Tue, 8 Jul 2014 09:01:40 +0000 (09:01 +0000)]
Merge "Fixing a ClassCastException issue with an incorect Row to TypedClass cast introduced during the migration work." into topic/schema
Madhu Venugopal [Tue, 8 Jul 2014 07:59:55 +0000 (00:59 -0700)]
Resolving possible NullPointerException during disconnect cases.
During Connection Disconnect cases, the getTableName method can return null.
In such cases, an unprotected access to the return value can result in NullPointerException.
This fix addresses such a possibility.
Change-Id: Ia05c868dfd805af37f4a5fe9156d54582c753f1f
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Madhu Venugopal [Tue, 8 Jul 2014 07:54:38 +0000 (00:54 -0700)]
Fixing a ClassCastException issue with an incorect Row to TypedClass cast introduced during the migration work.
Change-Id: I8d60a4029db7986e852821148c3e6e1b8a619959
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Madhu Venugopal [Mon, 7 Jul 2014 22:50:09 +0000 (22:50 +0000)]
Merge "Bug-1190: Fix for select response" into topic/schema
Sudheendra Murthy [Thu, 3 Jul 2014 04:06:51 +0000 (21:06 -0700)]
Bug-1190: Fix for select response
Updated transact interface in OvsdbRPC to return JSON response and
deserializing to OperationResult being handled in OvsdbClientImpl
Change-Id: I061292435e68a638f83e69495710ffaa3a04479b
Signed-off-by: Sudheendra Murthy <sudhi.vm@gmail.com>
Madhu Venugopal [Mon, 7 Jul 2014 19:47:04 +0000 (19:47 +0000)]
Merge "Add ExceptionHandler to the Netty Channel Pipeline" into topic/schema
Madhu Venugopal [Mon, 7 Jul 2014 18:37:02 +0000 (18:37 +0000)]
Merge "Use port 12345 instead of 8080 in UT" into topic/schema
Madhu Venugopal [Mon, 7 Jul 2014 18:36:25 +0000 (18:36 +0000)]
Merge "Make connection initialization timeout constant" into topic/schema
Dave Tucker [Mon, 7 Jul 2014 18:21:38 +0000 (19:21 +0100)]
Add ExceptionHandler to the Netty Channel Pipeline
- Handle cases where an connection is quickly openend and closed
- Fix bug 1175
Change-Id: Ib0dc2f5c39e5418263222af7b50f82fa1bf31c88
Signed-off-by: Dave Tucker <djt@redhat.com>
Madhu Venugopal [Mon, 7 Jul 2014 06:37:41 +0000 (23:37 -0700)]
Removing Open_vSwitch static Typed table classes from Library and its dependencies
Change-Id: I866545a6d03a1d0821ff1bcaabdc6af8e35e86dc
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Dave Tucker [Mon, 7 Jul 2014 14:54:03 +0000 (15:54 +0100)]
Use port 12345 instead of 8080 in UT
Port 8080 is common. If something is using 8080, the UT will fail with a
cryptic error message. Adjust the UT to use poer 12345
Fix bug 1321
Change-Id: I0d5d69f89936e8c84b40d27d905051e9f293b6fc
Signed-off-by: Dave Tucker <djt@redhat.com>
Madhu Venugopal [Mon, 7 Jul 2014 05:18:29 +0000 (22:18 -0700)]
Neutron bundle migration to the new redesigned schema independent Library and Plugin.
- Bulk of the changes are API migration.
- Introduced a few convenience methods in the Plugin layer
- Disabled a Unit Test that is not applicable with the new redesign. We can enable it once the changes are tested.
Change-Id: I00f44a944f4dadb221791940d1e144b6aebb561b
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Signed-off-by: Dave Tucker <djt@redhat.com>
Dave Tucker [Mon, 7 Jul 2014 14:10:11 +0000 (15:10 +0100)]
Make connection initialization timeout constant
Fix bug 1294
Change-Id: I427522b642e8a98796f397c901b93a887976b8cd
Signed-off-by: Dave Tucker <djt@redhat.com>
Madhu Venugopal [Mon, 7 Jul 2014 01:30:10 +0000 (18:30 -0700)]
Fixing a few ColumType parsing / handling issues
1. the max value parsed from column schema response is not stored in the object and hence it is lost when the data is looked up from the cache.
2. isMultiValue method was incorrect in cases when min=1 and max>1
Change-Id: I93cb157b9e9cdded274bc957d90cde660003ba9e
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Madhu Venugopal [Mon, 7 Jul 2014 01:26:49 +0000 (18:26 -0700)]
Moving the Connection events to its own executorService thread.
During the neutron integration it is observed that connection events are immediately followed by OVSDB table
configuration events and causes a similar channel lock issue that we faced recently. Hence moving it in its
own thread to avoid the Channel locking issue.
Change-Id: Ibcf147e0ff107aecfcb7987956055f563a5a17a0
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Madhu Venugopal [Mon, 7 Jul 2014 01:24:31 +0000 (18:24 -0700)]
Changing the monitor operation in the library layer to return TableUpdates as per RFC7047.
Existing implementation pushes the Monitor response also as an asynchronous update() response.
Though it has similar effect, it does not comply with the RFC. Hence changing the monitor
reply as a synchronous response (using Future ofcourse) and continuing to use the update() as such.
Change-Id: I10bf114c52f37295efae70c8b9763570bcc11ce0
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Madhu Venugopal [Mon, 7 Jul 2014 01:19:36 +0000 (18:19 -0700)]
Including Typed Schema Bundles to Distribution
Change-Id: I737552faabef64c11c4c4ebaae7d0537e921a8fa
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Madhu Venugopal [Mon, 7 Jul 2014 01:39:29 +0000 (18:39 -0700)]
Disabling Northbound IT from PAX-Exam Integration Test will the LF server - Tomcat issues are resolved
Change-Id: I50fecb19d276196aa22f2a79a7022943f0ac949a
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Brent Salisbury [Mon, 30 Jun 2014 12:10:27 +0000 (08:10 -0400)]
IT for remaining dbs and type versions/completions bindings
Patchset4-6:Modified ConfigService setManager and controllertest
Patchset3:
Changed controller table, target column to Set<String>
Patchset2:
-Updated the TypedBaseTable
s/extends TypedBaseTable/TypedBaseTable<GenericTableSchema>/g
-Adding remaining tables and IT minus Capabilities
-Will modify tests to the new abbreviated update as Dave
mentioned in his review. Need to unload local commits
for today.
Patchset1:
-Prolly a couple bindings version typos. Patch them if
you see them as Im going to nap a bit. Checking build
against IT as much as anything.
Change-Id: Ia1d9a3907f8c012ad7b1f00887d237cca1e53741
Signed-off-by: Brent Salisbury <brent.salisbury@gmail.com>
Madhu Venugopal [Tue, 1 Jul 2014 08:11:34 +0000 (01:11 -0700)]
Northbound migration to use the new Schema independent Library based Plugin.
Following the Plugin Migration, this commit brings in the Northbound migration.
Due to the nature of the Library rearchiteture, the northbound APIs should not assume any schema.
But unfortunately, that is not the case with the existing APIs and hence we have split the APIs as V2 (older version)
and the newer V3.
This commit just migrates the V2 APIs to the newer Infra. V3 will be added soon.
Also, the GET serailization is still pending and will be addressed in subsequent commit.
But, all the IT tests are passing in this version.
Change-Id: I7c0e59f41499dadb2215fef3d597f98b2efa3c13
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Madhu Venugopal [Tue, 1 Jul 2014 08:11:34 +0000 (01:11 -0700)]
Plugin migration to use the new Schema independent Library.
Plugin layer is completely migrated to use the new Schema independent Library.
Since the existing plugin layer has a lot of Open_vSwitch assumption, this migration did not remove such an assumption
and break functionalities. Rather, a few design compromises were made in an effort to make this transition smoother.
Once these commits are merged, we will introduce more Schema independent APIs that will have no assumption on the
underlying Schemas.
Because of this reason, you will see a few places with access to OvsVswitchdSchemaConstants class, which indicates that
the Open_vSwitch schema assumption is made. Also, there are a few "special" case handling done on the ConfigurationService
to deal with existing API assumptions. These assumptions are marked as Special. Again, when the new APIs are introduced
these Assumptions can be easily removed.
The plugin layer changes helped in hardening the Library layer and hence resulted in some Library changes as well.
Enough effort is invested in both the PAX-EXAM based IT and regular Plugin IT code to ensure smooth migration.
Change-Id: Ie6365a23e3fa9b6ca4431d3eba7494330c8a07ca
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Madhu Venugopal [Mon, 30 Jun 2014 16:24:17 +0000 (09:24 -0700)]
Removed the option to not-cache the database schema from the library.
There is no valid reason not to cache the database schema for a ovsdb connection once it is learnt once.
The schema can never change after the connection is established & hence having this dynamic capability is
unneccessary and causes unncessary API confusion.
Change-Id: If147d90a1070beaf85a3d7f9f7f844d73d53acb0
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Madhu Venugopal [Mon, 30 Jun 2014 11:48:29 +0000 (04:48 -0700)]
Replacing the older version of insertRow with a Schema-independent version.
This new API is still considered Deprecated version due to the assumptions on a single Row insertion
(similar to the deprecated vswitchd specific insertRow API).
There are a lot more changes coming along the way and this is the first installment of the migration changes.
Change-Id: Id29326923c794eb5de5d030cd2beaaeeda01d2c5
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Madhu Venugopal [Sat, 28 Jun 2014 07:07:53 +0000 (00:07 -0700)]
Adding Passive connection support to plugin layer.
Change-Id: Iaf8aed4d19e6ce45d6fce0e75389d4696fd86cc7
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Madhu Venugopal [Sat, 28 Jun 2014 06:28:20 +0000 (06:28 +0000)]
Merge "Added missing columns to flow table db and tests" into topic/schema
Brent Salisbury [Tue, 24 Jun 2014 09:36:48 +0000 (05:36 -0400)]
Added missing columns to flow table db and tests
Changed external-id column insert from 7.4.0 to 7.5.0
Changed prefixes insert from 7.3.0 to 7.4.0
Change-Id: Ic49aa37c756fb59c931a3d4f39e874b41e9b148e
Signed-off-by: Brent Salisbury <brent.salisbury@gmail.com>
Signed-off-by: Dave Tucker <djt@redhat.com>
Signed-off-by: Brent Salisbury <brent.salisbury@gmail.com>
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Madhu Venugopal [Fri, 27 Jun 2014 23:23:31 +0000 (16:23 -0700)]
Migrating ovsdb_plugin's connection service to the newly redesigned Schema independent Library.
This is just step-1. More to follow soon.
Change-Id: Ifdff0f11ea7cabaac93b67a822ac88120f023619
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Dave Tucker [Fri, 27 Jun 2014 17:42:09 +0000 (18:42 +0100)]
Fix bug in Ipfix table and TearDown IT code
The cache columns weren't added until schema version 7.3.0
This commit adds splits the IPFIX tests with Junit assumptions and as
such OVS 1.11.0 IT's will no longer fail
TearDown tries to delete a FlowSampleCollectorSet row which will not
have been created unless the schema version is greater than 7.1.0. This
commit conditionally adds this transaction in the teardown code.
Change-Id: I1dc5b13329f0f1f5bcee60625737871719d77df7
Signed-off-by: Dave Tucker <djt@redhat.com>
Madhu Venugopal [Fri, 27 Jun 2014 19:58:50 +0000 (19:58 +0000)]
Merge "Version information/columns to FlowSampleCollector DB Table" into topic/schema
Madhu Venugopal [Fri, 27 Jun 2014 19:58:11 +0000 (19:58 +0000)]
Merge "Add missing table versions to Typed Table classes" into topic/schema
Brent Salisbury [Fri, 20 Jun 2014 17:46:50 +0000 (13:46 -0400)]
Version information/columns to FlowSampleCollector DB Table
Patchset2: Added versioning to the SetX methods
Note: Accompanying IT will be submitted shortly.
Change-Id: I53b06ce187a79d4a9cb34291b6eef4de88241997
Signed-off-by: Brent Salisbury <brent.salisbury@gmail.com>
Signed-off-by: Dave Tucker <djt@redhat.com>
Dave Tucker [Fri, 27 Jun 2014 18:05:51 +0000 (19:05 +0100)]
Add missing table versions to Typed Table classes
Change-Id: I1f8628260309decb41ae20e298bab1acfb862684
Signed-off-by: Dave Tucker <djt@redhat.com>
Dave Tucker [Sat, 21 Jun 2014 23:48:55 +0000 (00:48 +0100)]
Improve Exception Handling in Library
- Create new exception types that support exception wrapping
- Move exceptions to a "error" package
- Fix bug in version check logic
Change-Id: I067f746aaeb828215130ff01297b1af564e06e9f
Signed-off-by: Dave Tucker <djt@redhat.com>
Dave Tucker [Thu, 26 Jun 2014 23:36:04 +0000 (00:36 +0100)]
Refactor Open vSwitch Schema Integration Tests
- Add a Junit suite that runs the test in correct order
- Make changes to the pom to ensure only the suite is run rather than
the individual test cases
- Fix failing IT's for the IPFIX table using Junit Assumptions
- Add test case to check correct exception is raised when a table is not
supported in the current schema
Change-Id: I074f047e964610c7397af040946dde1b562754c0
Signed-off-by: Dave Tucker <djt@redhat.com>
Dave Tucker [Fri, 27 Jun 2014 00:27:06 +0000 (01:27 +0100)]
Use "integrationtest" as the IT profile in maven
Fix the pom to use "integrationtest" as the IT profile name
This runs both Pax Exam IT and OVS IT in the same profile.
Change-Id: Ic0d5f877ea5b0315f2e6ccec137f656d8bf11fab
Signed-off-by: Dave Tucker <djt@redhat.com>