ovsdb.git
9 years agoFixing a ClassCastException issue with an incorect Row to TypedClass cast introduced... 75/8775/1
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>
9 years agoMerge "Use port 12345 instead of 8080 in UT" 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

9 years agoMerge "Make connection initialization timeout constant" 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

9 years agoRemoving Open_vSwitch static Typed table classes from Library and its dependencies 21/8721/4
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>
9 years agoUse port 12345 instead of 8080 in UT 41/8741/1
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>
9 years agoNeutron bundle migration to the new redesigned schema independent Library and Plugin. 17/8717/2
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>
9 years agoMake connection initialization timeout constant 39/8739/1
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>
9 years agoFixing a few ColumType parsing / handling issues 15/8715/1
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>
9 years agoMoving the Connection events to its own executorService thread. 14/8714/1
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>
9 years agoChanging the monitor operation in the library layer to return TableUpdates as per... 13/8713/1
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>
9 years agoIncluding Typed Schema Bundles to Distribution 12/8712/1
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>
9 years agoDisabling Northbound IT from PAX-Exam Integration Test will the LF server - Tomcat... 11/8711/1
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>
9 years agoIT for remaining dbs and type versions/completions bindings 54/8454/6
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>
9 years agoNorthbound migration to use the new Schema independent Library based Plugin. 49/8649/1
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>
9 years agoPlugin migration to use the new Schema independent Library. 14/8614/3
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>
9 years agoRemoved the option to not-cache the database schema from the library. 13/8613/1
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>
9 years agoReplacing the older version of insertRow with a Schema-independent version. 12/8612/1
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>
9 years agoAdding Passive connection support to plugin layer. 11/8611/1
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>
9 years agoMerge "Added missing columns to flow table db and tests" into topic/schema
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

9 years agoAdded missing columns to flow table db and tests 83/8283/7
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>
9 years agoMigrating ovsdb_plugin's connection service to the newly redesigned Schema independen... 30/8430/2
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>
9 years agoFix bug in Ipfix table and TearDown IT code 16/8416/4
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>
9 years agoMerge "Version information/columns to FlowSampleCollector DB Table" into topic/schema
Madhu Venugopal [Fri, 27 Jun 2014 19:58:50 +0000 (19:58 +0000)]
Merge "Version information/columns to FlowSampleCollector DB Table" into topic/schema

9 years agoMerge "Add missing table versions to Typed Table classes" 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

9 years agoVersion information/columns to FlowSampleCollector DB Table 87/8187/6
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>
9 years agoAdd missing table versions to Typed Table classes 20/8420/1
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>
9 years agoImprove Exception Handling in Library 17/8217/4
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>
9 years agoRefactor Open vSwitch Schema Integration Tests 87/8387/4
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>
9 years agoUse "integrationtest" as the IT profile in maven 93/8393/1
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>
9 years agoSimplified the insert API with an ability to just pass the Typed Row object without... 85/8385/1
Madhu Venugopal [Thu, 26 Jun 2014 21:55:38 +0000 (14:55 -0700)]
Simplified the insert API with an ability to just pass the Typed Row object without the need to set individual fields.

Also, introduced strong typing for the TypedBaseTable.

Change-Id: I42818bf944862135959edd226e0a761bb1248aa2
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoAdded PAX-EXAM for OVSDB Library OSGI bundle & excluded plugin, northbount IT to... 84/8384/2
Madhu Venugopal [Thu, 26 Jun 2014 19:44:31 +0000 (12:44 -0700)]
Added PAX-EXAM for OVSDB Library OSGI bundle & excluded plugin, northbount IT to run till the migration is completed.

Change-Id: I9174c6bfa5e9bb3e88275d80726b0cf416e6881c
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoMerge "Introduced Activator in the Library module to make it OSGi friendly." into...
Dave Tucker [Thu, 26 Jun 2014 18:37:23 +0000 (18:37 +0000)]
Merge "Introduced Activator in the Library module to make it OSGi friendly." into topic/schema

9 years agoIntroduced Activator in the Library module to make it OSGi friendly. 59/8359/4
Madhu Venugopal [Thu, 26 Jun 2014 17:40:25 +0000 (10:40 -0700)]
Introduced Activator in the Library module to make it OSGi friendly.

PAX-exam is not included due to the current merge resolution happening in parallel.

Change-Id: Ic25ae261905d2ea081d2bd936300cb92e7df4542
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoRun Pax Exam IT with latest artifacts 77/8377/2
Dave Tucker [Thu, 26 Jun 2014 17:35:31 +0000 (18:35 +0100)]
Run Pax Exam IT with latest artifacts

This change uses the latest artifacts in the Pax Exam ITs.
Currently, these tests will fail until the both the plugin and
northbound bundles have been migrated to the new library.

Change-Id: Ie8d1d52ca671fb06cebd5799c0462faee5aef2d6
Signed-off-by: Dave Tucker <djt@redhat.com>
9 years agoMerge branch 'master' into topic/schema 76/8376/1
Dave Tucker [Thu, 26 Jun 2014 15:48:38 +0000 (16:48 +0100)]
Merge branch 'master' into topic/schema

Change-Id: I4fb484be5b48297a3af4f2b41762e5971f9cc980
Signed-off-by: Dave Tucker <djt@redhat.com>
9 years agoMerge "Add tests to increase NB-API coverage"
Madhu Venugopal [Thu, 26 Jun 2014 15:46:04 +0000 (15:46 +0000)]
Merge "Add tests to increase NB-API coverage"

9 years agoAdd tests to increase NB-API coverage 41/8341/4
Dave Tucker [Wed, 25 Jun 2014 16:37:56 +0000 (17:37 +0100)]
Add tests to increase NB-API coverage

- Add test cases for CRUD operations on common tables
- Add UuidHelper to maintain some state between test cases
- Fix issues with Tomcat
- Use the native OSGi container
- Update failsafe configuration to run each class in seperate JVM and
  to not re-use JVMs

Change-Id: I225861bc4eef952f1f4232ea558fe8a0d7d4e052
Signed-off-by: Dave Tucker <djt@redhat.com>
9 years agoMerge "Introduced a new Connection Service in the library which abstracts all the...
Dave Tucker [Thu, 26 Jun 2014 15:22:48 +0000 (15:22 +0000)]
Merge "Introduced a new Connection Service in the library which abstracts all the Netty related code into the Library layer." into topic/schema

9 years agoDB table interfaces for ipfix, netflow and sflow 14/8214/6
Brent Salisbury [Sat, 21 Jun 2014 10:43:09 +0000 (06:43 -0400)]
DB table interfaces for ipfix, netflow and sflow

Patchset5: ugh git add ftw.
Patchset4: more typos ftw
Patchset3: spelling typos

patchset2: These are the ones with IT I have done.
Abondoning the other commits, the groupings are wrong
as some IT tests have dependencies on tables that
I had grouped in another commit.

note: breaking up commits for easier review. next up
is IT for the tables in the new schema.

Change-Id: I8983305659066ee6ab80a166d3ddb0ef55773700
Signed-off-by: Brent Salisbury <brent.salisbury@gmail.com>
9 years agoMerge "Add Initial Pax Exam IT for OVSDB Northbound API"
Madhu Venugopal [Wed, 25 Jun 2014 17:05:17 +0000 (17:05 +0000)]
Merge "Add Initial Pax Exam IT for OVSDB Northbound API"

9 years agoMerge "Re-organise the Pax Exam IT infrastructure"
Madhu Venugopal [Wed, 25 Jun 2014 14:21:57 +0000 (14:21 +0000)]
Merge "Re-organise the Pax Exam IT infrastructure"

9 years agoAdd Initial Pax Exam IT for OVSDB Northbound API 31/8331/1
Dave Tucker [Wed, 25 Jun 2014 13:52:29 +0000 (14:52 +0100)]
Add Initial Pax Exam IT for OVSDB Northbound API

- Add nortbound.yaml for defining test cases
- OvsdbNorthboundIT which parses yaml file and uses parameterized
  runner to run each test case
- Add coverage for the common GET operations

Change-Id: Ia24e2e6605335060cc8ed1d6a39d59853a16ccad
Signed-off-by: Dave Tucker <djt@redhat.com>
9 years agoRe-organise the Pax Exam IT infrastructure 15/8315/3
Dave Tucker [Wed, 25 Jun 2014 02:08:06 +0000 (03:08 +0100)]
Re-organise the Pax Exam IT infrastructure

- Move parent pom to commons/integrationtest
- Move paxexam to integrationtest
- Change IT packages to be outside of system under test
- Add ConfigurationBundles to simplify creating new tests
- Use a common base class for Pax Exam based IT

Change-Id: Iefb2e3d7b0de2184d78b547ef2eb3b70ce686ce3
Signed-off-by: Dave Tucker <djt@redhat.com>
9 years agoIntroduced a new Connection Service in the library which abstracts all the Netty... 19/8319/3
Madhu Venugopal [Wed, 25 Jun 2014 03:39:14 +0000 (20:39 -0700)]
Introduced a new Connection Service in the library which abstracts all the Netty related code into the Library layer.

The changes here just provides the functionality aspects of the Connection Service and is suitable for a non-osgi environment.
But the code is reorganized (by providing service interface vs implementation and moving them into different package) in lieu
of the upcoming OSGi-friendly library changes.

This commit includes the following changes.

- Removed all the existing code that creates the Netty Channel and replaced it with the new ConnectionService APIs.
- ConnectionService implementation now supports both Active and Passive connection management.
- Added a new ConnectionListener for the Passive connect / disconnect events.
- Split the Library API and impl specific to the Connection management into separate packages.
- Removed all the direct access to OvsDBClientImpl and replaced with its interface OvsDBClient
- Modified all the Integration tests that was using the older method of channel creation to the new ConnectionService mechanism.
- Added a Test for Passive Connection in the Library bundle’s OvsDBClientTestIT class.
- Removed an unused SchemaObjs class
- Renamed file names from OvsDB* to Ovsdb* for the affected classes.

Change-Id: If8a31e4b62cc217f8fe980a5417f35fe53825e26
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoAdded ArpSourcesLocal, ArpSourcesRemote and Tunnel to be inline with version 1.3... 75/8275/1
Madhu Venugopal [Tue, 24 Jun 2014 04:25:55 +0000 (21:25 -0700)]
Added ArpSourcesLocal, ArpSourcesRemote and Tunnel to be inline with version 1.3.0 of hardware_vtep schema

Change-Id: I060b1a9805557de2735a0746bf82ea0d96fd23e5
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoFixed Enum processing in BaseType 74/8274/1
Madhu Venugopal [Tue, 24 Jun 2014 04:05:00 +0000 (21:05 -0700)]
Fixed Enum processing in BaseType

There is an incorrect assumption that all Enum types will be a Set/Array.
Thanks to the minimal IT written for hardware_vtep, this assumption is caught for an enum type for "encapsulation_type" field :
"type": { "key": { "enum": "vxlan_over_ipv4", "type": "string" } }

The incorrect assumption caused null pointer exception on the IT run.
Caused by: java.lang.NullPointerException: null
at org.opendaylight.ovsdb.lib.schema.BaseType$StringBaseType.populateEnum(BaseType.java:307)

This fix addresses that problem.

Change-Id: I1cf1a278b6963765cf90268b616de7d721d2ef30
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoMerge "Set the interface type as internal when an internal port is created"
Madhu Venugopal [Mon, 23 Jun 2014 19:28:37 +0000 (19:28 +0000)]
Merge "Set the interface type as internal when an internal port is created"

9 years agoAdding Schemas/OpenVSwitch to the main pom.xml in order to trigger build and IT for... 26/8226/3
Madhu Venugopal [Sun, 22 Jun 2014 15:30:35 +0000 (08:30 -0700)]
Adding Schemas/OpenVSwitch to the main pom.xml in order to trigger build and IT for Typed classes.

Schemas/hardware_vtep is deliberately not included due to lack of hardware_vtep emulator infra.
We can include hardware_vtep once the setup is made available.

Change-Id: I3e57674f01f39a652193312c9cc36eab0c1f7b21
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agohardware_vtep Ucast/Mcast remote/local mac tables (Ucast_Macs_Local, Ucast_Macs_Remot... 25/8225/2
Madhu Venugopal [Sun, 22 Jun 2014 15:24:01 +0000 (08:24 -0700)]
hardware_vtep Ucast/Mcast remote/local mac tables (Ucast_Macs_Local, Ucast_Macs_Remote, Mcast_Macs_Local, Mcast_Macs_Remote)

Change-Id: Ia3520231eafc3f135d159f9e97e58835b979f81f
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agohardware_vtep Physical Tables (Physical_Switch, Physical_Port, Physical_Locator,... 24/8224/2
Madhu Venugopal [Sun, 22 Jun 2014 15:22:53 +0000 (08:22 -0700)]
hardware_vtep Physical Tables (Physical_Switch, Physical_Port, Physical_Locator, Physical_LocatorSet)
IT cases will be added once the hardware_vtep emulator setup is in place.

Change-Id: I6f2b284d2d63755425023c59d0ad85429d14ec3a
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agohardware_vtep schema's Logical Tables (Logical_Switch, Logical_Router, Logical_Bindin... 23/8223/2
Madhu Venugopal [Sun, 22 Jun 2014 15:20:34 +0000 (08:20 -0700)]
hardware_vtep schema's Logical Tables (Logical_Switch, Logical_Router, Logical_Binding_Stats)

IT cases will be added once the hardware_vtep emulator setup is in place.

Change-Id: Ibb0defc7c198420ff800abd0f2b3441be1b8e0f0
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoInitial hardware_vtep schema changes 21/8221/2
Madhu Venugopal [Sun, 22 Jun 2014 15:13:43 +0000 (08:13 -0700)]
Initial hardware_vtep schema changes

These initial fixes wont consider IntegrationTests because vtep schema is not enabled in OpenVSwitch soft switches
and we need an vtep emulator to have this Integration Tested.

We need to invest extra effort in getting such a IT infra in place & hence the IT for hardware_vtep schema can be
considered once the hardware_vtep emulator setup is in place.

Change-Id: Ia60bac094a7ca3321be531ad3d16b9fd17ca18da
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoFixed export-package bug in Open_vSwitch schema bundle 16/8216/1
Madhu Venugopal [Sat, 21 Jun 2014 21:14:34 +0000 (14:14 -0700)]
Fixed export-package bug in Open_vSwitch schema bundle

Change-Id: I30bbb00f6515911fb3e651976a7f8e31064e9247
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoMerge "Add Interface Table Columns and Version Info" into topic/schema
Madhu Venugopal [Sat, 21 Jun 2014 15:02:30 +0000 (15:02 +0000)]
Merge "Add Interface Table Columns and Version Info" into topic/schema

9 years agoAdd Interface Table Columns and Version Info 96/8196/2
Dave Tucker [Fri, 20 Jun 2014 21:18:10 +0000 (22:18 +0100)]
Add Interface Table Columns and Version Info

Also adds IT for Port and Interface tables
Additionally fixes camel case errors in OVS Table

Change-Id: I795821a75c162fc72d491176a8ec7cf8651ce718
Signed-off-by: Dave Tucker <djt@redhat.com>
9 years agoChanged the Monitor to include all the columns (including _uuid) to workaround the... 04/8204/1
Madhu Venugopal [Fri, 20 Jun 2014 23:54:42 +0000 (16:54 -0700)]
Changed the Monitor to include all the columns (including _uuid) to workaround the limitation.

As per RFC 7047, section 4.1.5, if a Monitor request is sent without any columns, the update response will not include the _uuid column.
This fix works around that limitation by monitoring all the columns including _uuid.

Change-Id: Ifd69370c11f3b5af1ef15e1563954727831cd062
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoAdding generic GETDATA and GETCOLUMN proxy methods for _uuid and _version in TypedBas... 01/8201/1
Madhu Venugopal [Fri, 20 Jun 2014 23:07:48 +0000 (16:07 -0700)]
Adding generic GETDATA and GETCOLUMN proxy methods for _uuid and _version in TypedBaseTable and enhanced the IT to monitor on OpenVSwitch Table

Please note that as per RFC 7047, the _uuid column will not be included for filter-less monitors and hence getUuid will not work if we are monitoring with no Filters.
But the TableUpdate contains the UUID for each of the update and a monitoring solution should manage that.
Please refer to TypedVSwitchdSchemaIT.java 's getOpenVSwitchTableUuid() for more info on how this is used.

Change-Id: Ia758ed726bbcfdb9fa0b6a7873f50831aed217e4
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoAdded Tests to test the Typed Class helper routine getTypedRowWrapper() and the Proxy... 93/8193/1
Madhu Venugopal [Fri, 20 Jun 2014 20:40:09 +0000 (13:40 -0700)]
Added Tests to test the Typed Class helper routine getTypedRowWrapper() and the Proxy getters with the help of monitor/update messages.

The tests are incrementally built on top of the existing Bridge create and Controller update test-cases.

Change-Id: If1f966ca34fa8f9f7f1b04a1eefd2701ea1ed86e
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoAdd missing check for status when doing programTunnelRules after addTunnelPort 91/8191/1
Flavio Fernandes [Fri, 20 Jun 2014 19:16:14 +0000 (15:16 -0400)]
Add missing check for status when doing programTunnelRules after addTunnelPort

Change-Id: I91d4c7db53b2d696e54176f99bbd6d53e99dc803
Signed-off-by: Flavio Fernandes <ffernand@redhat.com>
9 years agoBUG-1188: Missing callback to provider 90/8190/1
Flavio Fernandes [Fri, 20 Jun 2014 19:05:07 +0000 (15:05 -0400)]
BUG-1188: Missing callback to provider

When SouthboundHandler::processRowUpdate() gets invoked for a port,
the code was missing a callback to handleInterfaceUpdate() which
should be needed for all the interfaces for the given port.

Change-Id: I9016e3f7427a08a1d95669dd81b9257b66e81195
Signed-off-by: Flavio Fernandes <ffernand@redhat.com>
9 years agoFixed UUID deserialization issue 84/8184/1
Madhu Venugopal [Fri, 20 Jun 2014 17:39:01 +0000 (10:39 -0700)]
Fixed UUID deserialization issue

As per RFC7047, UUID notation is defined as :

   <uuid>
      A 2-element JSON array that represents a UUID.  The first element
      of the array must be the string "uuid", and the second element
      must be a 36-character string giving the UUID in the format
      described by RFC 4122 [RFC4122].  For example, the following
      <uuid> represents the UUID 550e8400-e29b-41d4-a716-446655440000:
      ["uuid", "550e8400-e29b-41d4-a716-446655440000"]

But our current parsing in BaseType and ColumnType didnt take this into account.
This fix addresses the issue.

Change-Id: Iddf6cb90666298169d7e61b7741ea2d3ee3b2f1b
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoMerge changes I6244de55,I20d073c2 into topic/schema
Brent Salisbury [Fri, 20 Jun 2014 17:23:20 +0000 (17:23 +0000)]
Merge changes I6244de55,I20d073c2 into topic/schema

* changes:
  IT for Typed schema Table : Controller
  Removed unneccessary usage of Maps.newHashMap from the IT files

9 years agoMerge "Simplifying the User facing APIs in TyperUtils." into topic/schema
Dave Tucker [Fri, 20 Jun 2014 17:19:02 +0000 (17:19 +0000)]
Merge "Simplifying the User facing APIs in TyperUtils." into topic/schema

9 years agoIT for Typed schema Table : Controller 83/8183/2
Madhu Venugopal [Fri, 20 Jun 2014 16:49:05 +0000 (09:49 -0700)]
IT for Typed schema Table : Controller

Change-Id: I6244de556684ea4148bed4c658b1bcd68dedef66
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoRemoved unneccessary usage of Maps.newHashMap from the IT files 82/8182/2
Madhu Venugopal [Fri, 20 Jun 2014 10:00:33 +0000 (03:00 -0700)]
Removed unneccessary usage of Maps.newHashMap from the IT files

Change-Id: I20d073c28110a4e4c64adeea5e7d892bd06e695e
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoSimplifying the User facing APIs in TyperUtils. 60/8160/7
Madhu Venugopal [Fri, 20 Jun 2014 08:41:33 +0000 (01:41 -0700)]
Simplifying the User facing APIs in TyperUtils.

Based on Ashwin's comment to the library infra gerrit (8104), more simplified User Facing APIs are introduced :
1. Bridge rBridge = ovs.createTypedRowWrapper(TestBridge.class);
   replaces
   TestBridge rBridge = TyperUtils.getTypedRowWrapper(dbSchema, TestBridge.class, new Row<GenericTableSchema>());

2. rBridge.getSchema()
   replaces
   GenericTableSchema rBridgeSchema = TyperUtils.getTableSchema(dbSchema, TestBridge.class);

More such Simplified alternative APIs will be added based on usage.

Change-Id: Ibdee07b308145bf792c9309d7095a94aac2d23b3
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoMerge "Add version information and columns to Port Table" into topic/schema
Brent Salisbury [Fri, 20 Jun 2014 16:13:55 +0000 (16:13 +0000)]
Merge "Add version information and columns to Port Table" into topic/schema

9 years agoAdd version information and columns to Port Table 78/8178/2
Dave Tucker [Fri, 20 Jun 2014 14:50:59 +0000 (15:50 +0100)]
Add version information and columns to Port Table

Change-Id: I8d06a4cc79058699d5806210766d6c357e9632bb
Signed-off-by: Dave Tucker <djt@redhat.com>
9 years agoMerge "Add version information to the Bridge table" into topic/schema
Madhu Venugopal [Fri, 20 Jun 2014 01:26:38 +0000 (01:26 +0000)]
Merge "Add version information to the Bridge table" into topic/schema

9 years agoAdd version information to the Bridge table 64/8164/1
Dave Tucker [Fri, 20 Jun 2014 00:58:59 +0000 (01:58 +0100)]
Add version information to the Bridge table

Change-Id: Ice66ec487efab5279576df34fa221e08e4aa0d85
Signed-off-by: Dave Tucker <djt@redhat.com>
9 years agoAdd version information to Open_vSwitch table 62/8162/1
Dave Tucker [Fri, 20 Jun 2014 00:34:52 +0000 (01:34 +0100)]
Add version information to Open_vSwitch table

- Fix typo in `cur_cfg`
- Remove `status` as it is not a valid column

Change-Id: I06b254409bb5487b396d670913f8a21ca5a9f245
Signed-off-by: Dave Tucker <djt@redhat.com>
9 years agoAdd fromVersion and untilVersion to Typed Annotations 29/8129/6
Dave Tucker [Thu, 19 Jun 2014 03:03:30 +0000 (04:03 +0100)]
Add fromVersion and untilVersion to Typed Annotations

This allows a column or row to be validated against a specific version
of the schema. This gives better error messages to the user than a
simply asserting that a Table or Column does not exist

Change-Id: I3d5a76c7c33d49311cecd92c0e5f9714f7522b83
Signed-off-by: Dave Tucker <djt@redhat.com>
9 years agoMerge "Adding rest of the Open_vSwitch schema typed tables." into topic/schema
Brent Salisbury [Thu, 19 Jun 2014 18:58:34 +0000 (18:58 +0000)]
Merge "Adding rest of the Open_vSwitch schema typed tables." into topic/schema

9 years agoMerge "Introducing Open_vSwitch Typed Schema wrapper on top of the Schema indepedent...
Brent Salisbury [Thu, 19 Jun 2014 18:56:15 +0000 (18:56 +0000)]
Merge "Introducing Open_vSwitch Typed Schema wrapper on top of the Schema indepedent Library." into topic/schema

9 years agoAdd schema version to DatabaseSchema 27/8127/6
Dave Tucker [Thu, 19 Jun 2014 01:37:42 +0000 (02:37 +0100)]
Add schema version to DatabaseSchema

This commit also adds a Version class to lib.notation that allows
versions to be compared. This is necessary for adding fromVersion
and toVersion to the TypedTable and TypedClass annotations

Change-Id: I30c821cd570a6b78e6eee874dafff269399a7120
Signed-off-by: Dave Tucker <djt@redhat.com>
9 years agoAdding rest of the Open_vSwitch schema typed tables. 56/8156/1
Madhu Venugopal [Thu, 19 Jun 2014 17:08:28 +0000 (10:08 -0700)]
Adding rest of the Open_vSwitch schema typed tables.

Please note that these contain exactly the same column definitions as in the existing plugin.
We need to spend time filling up all the missing columns.

Also IT is not included for these Typed Interfaces. They will follow soon.

Change-Id: I28078aca9464073e2e2bdd1ea659552b86caf97c
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoIntroducing Open_vSwitch Typed Schema wrapper on top of the Schema indepedent Library. 55/8155/1
Madhu Venugopal [Thu, 19 Jun 2014 04:13:42 +0000 (21:13 -0700)]
Introducing Open_vSwitch Typed Schema wrapper on top of the Schema indepedent Library.

Adding Bridge & OpenVSwitch Tables along with IT for these 2 tables.
These tables are refactored from the old plugin and hence not all Columns are statically Typed yet.
Those will be added gradually based on usage pattern.

More OpenVSwitch tables will be added soon.

Change-Id: I1d253df432937281f2303d015cc85c3e91da8b22
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoAdded proper Typed Schema Wrapper infra to Library which enables a simple mechanism... 04/8104/3
Madhu Venugopal [Wed, 18 Jun 2014 05:41:47 +0000 (22:41 -0700)]
Added proper Typed Schema Wrapper infra to Library which enables a simple mechanism to introduce any Schema specific Java Objects.

* Added ovsdb.lib.schema.typed package with infra classes that supports this functionality.
* TyperUtils.java uses Reflection to provide the required Wrapper functionality with the help of Java annotations (TypedTable & TypedColumn)
* MethodType option of TypedColumn is modified to support GETCOLUMN in addition to GETDATA and SETDATA method types
* Changed the existing Typed IT code and introduced TestBridge.java (Bridge Table of ovs-vswitchd schema)

Change-Id: Ica6d14474ccecfd38fd025f7d5911b951312e9f7
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoMerge remote-tracking branch 'origin/master' into merge-branch 55/8055/2
Madhu Venugopal [Mon, 16 Jun 2014 23:07:37 +0000 (16:07 -0700)]
Merge remote-tracking branch 'origin/master' into merge-branch

Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Conflicts:
.gitignore
distribution/opendaylight/pom.xml
neutron/pom.xml
neutron/src/main/java/org/opendaylight/ovsdb/neutron/InternalNetworkManager.java
neutron/src/main/java/org/opendaylight/ovsdb/neutron/SouthboundHandler.java
neutron/src/main/java/org/opendaylight/ovsdb/neutron/TenantNetworkManager.java
neutron/src/main/java/org/opendaylight/ovsdb/neutron/provider/OF10Provider.java
neutron/src/main/java/org/opendaylight/ovsdb/neutron/provider/OF13ProviderManager.java
neutron/src/main/java/org/opendaylight/ovsdb/neutron/provider/ProviderNetworkManager.java
northbound/pom.xml
ovsdb/pom.xml
ovsdb/src/test/java/org/opendaylight/ovsdb/lib/message/OVSDBNettyFactoryIT.java
ovsdb/src/test/java/org/opendaylight/ovsdb/plugin/OvsdbTestDeletePortIT.java
plugin/src/main/java/org/opendaylight/ovsdb/plugin/ConfigurationService.java
plugin/src/test/java/org/opendaylight/ovsdb/plugin/OvsdbTestBase.java

Change-Id: Ib84968636e29a86a2308c112f251e7b5fd0ab0dc
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoRemoved the ovsdb subdirectory properly in lieu of the upcoming rebase with master 19/8019/1
Madhu Venugopal [Sun, 15 Jun 2014 06:40:33 +0000 (23:40 -0700)]
Removed the ovsdb subdirectory properly in lieu of the upcoming rebase with master

Change-Id: I01b52f4feae383daf9bfe8ffc2cf2603d9e5f875
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoFixed the broken Typed IT tests & included it to run as part of failsafe maven plugin. 18/8018/1
Madhu Venugopal [Sun, 15 Jun 2014 04:27:23 +0000 (21:27 -0700)]
Fixed the broken Typed IT tests & included it to run as part of failsafe maven plugin.

Change-Id: I269c200646b83c336b253d2dfa9a089e0e0595eb
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoMoved the code to normalize the java objects (Set and Map) to OVSDB json friendly... 13/8013/1
Madhu Venugopal [Sat, 14 Jun 2014 14:24:22 +0000 (07:24 -0700)]
Moved the code to normalize the java objects (Set and Map) to OVSDB json friendly format into ColumnSchema class

Change-Id: Ia04cdc74dd5733df187ea1e7a9b99952f9566a3d
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoAdded safety check for a case in which getSchema may not report a "hidden" Column... 91/7991/1
Madhu Venugopal [Fri, 13 Jun 2014 13:53:15 +0000 (06:53 -0700)]
Added safety check for a case in which getSchema may not report a "hidden" Column, but Monitor respond with data for that "hidden" column.

Change-Id: I21e5e9c48985ff4a79b6beecbc88891d1c83a831
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoAdding support for Unfiltered Monitoring 89/7989/1
Madhu Venugopal [Fri, 13 Jun 2014 13:29:47 +0000 (06:29 -0700)]
Adding support for Unfiltered Monitoring

RFC 7047 supports unfiltered monitoring, wherein an application can send a Table Monitor request without specifying any
Columns to filter upon. OVSDB server will respond with TableUpdate for the requested table with data from all of its
columns (except _uuid).
In order to add this support, changes were made to MonitorRequest with an option of keeping its "columns" member as null.
Jackson serialization will ignore any member with a null value which will aid in the unfiltered monitor request.

Tests were added to cover this case as well.
Also thanks to this IT test, an existing bug is unearthed wherein the special column name was "_version" instead of "version".

Change-Id: I8e43624b09a2bf38a8846bd33ed1b493c14695ee
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoFixed Mutate operation to handle MultiValued {Key, Value} ColumnType. 77/7977/1
Madhu Venugopal [Fri, 13 Jun 2014 06:52:29 +0000 (23:52 -0700)]
Fixed Mutate operation to handle MultiValued {Key, Value} ColumnType.

Change-Id: I56d1ca186c7f6907d5a93bd47a8fc06db2310762
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoResolved the Serialization and Deserialization issues for MultiValued Columns with... 70/7970/1
Madhu Venugopal [Fri, 13 Jun 2014 06:11:47 +0000 (23:11 -0700)]
Resolved the Serialization and Deserialization issues for MultiValued Columns with the specialized "set" and "map" indicators.

Fixed various classes where the KeyValue ColumnType is not handled.
Also added IT tests to cover both Serialization and Deserialization aspects of KeyValue ColumntType by using the external_ids column of Bridge table.

Change-Id: I067bba372da8c02b0befbdb5210dda9068ea397f
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoModified the Library to be more friendlier towards the uuid value obtained through... 33/7933/3
Madhu Venugopal [Thu, 12 Jun 2014 07:59:42 +0000 (00:59 -0700)]
Modified the Library to be more friendlier towards the uuid value obtained through Table updates and the _uuid column.

This change involves the following :

- Populated columnschema for internally generated columns(_uuid and version) by default to the TableSchema (Refer RFC 7047 section 3.2)
- Added "uuid" field in TableUpdate, without which the applications were unable to get the Row identifier
- Moved the generic Object in OperationResult to Row<GenericTableSchema>. But this change alone is not enough to make Select operation
  work as expected. We need a more richer way to populate the "columns" in Row class during the Select response (Bug 1190)
- Modified OvsDBClientTestIT.java to use the uuid column obtained from open_vSwitch monitor in order to insert and delete Bridges during
  add and delete operation (Note that the current IT code updates the open_vSwitch row without this where clause).

Change-Id: Ie0a58c6e45be72993a52a93d8c4374eda72fe687
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoAddressing review comments for 7920 26/7926/3
Madhu Venugopal [Thu, 12 Jun 2014 05:54:54 +0000 (22:54 -0700)]
Addressing review comments for 7920
Changes include :
- Changes variable name from tval to untypedValue in Insert and Mutate classes
- Fixed most of the review comments in the IT

Change-Id: I83197b63aa2874f0c7136ec4dc3b7b629b2407a7
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoFixed the Basic Bridge create Integration Test by performing mutate on OpenVSwitch... 20/7920/1
Madhu Venugopal [Wed, 11 Jun 2014 21:44:13 +0000 (14:44 -0700)]
Fixed the Basic Bridge create Integration Test by performing mutate on OpenVSwitch Table.

Also added
- Fixed a multiValue bug in Mutate
- the cleanup @After method to delete the created br-test
- few global variables that can be reused across test and cleanup (such as BridgeUuid)
- Fixed a Compiler warning in Insert

Change-Id: I091d7fa7b59d36718d9cca42cc8669a73461a764
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoMerge "explicitly parsing JsonNode for updates" into topic/schema
Madhu Venugopal [Tue, 10 Jun 2014 21:15:13 +0000 (21:15 +0000)]
Merge "explicitly parsing JsonNode for updates" into topic/schema

9 years agoMerge "Adding Pax-Exam infra with a basic IT for plugin"
Brent Salisbury [Tue, 10 Jun 2014 19:34:41 +0000 (19:34 +0000)]
Merge "Adding Pax-Exam infra with a basic IT for plugin"

9 years agoexplicitly parsing JsonNode for updates 50/7650/3
Ashwin Raveendran [Sat, 24 May 2014 22:37:05 +0000 (15:37 -0700)]
explicitly parsing JsonNode for updates

Change-Id: Ib9f420c9f9d8eb11d459e3fc903b7280fa1431cb
Signed-off-by: Ashwin Raveendran <ashw7n@gmail.com>
9 years agoSet the interface type as internal when an internal port is created 76/7876/1
Vishal Patil [Mon, 9 Jun 2014 21:45:37 +0000 (17:45 -0400)]
Set the interface type as internal when an internal port is created

Change-Id: I8b12c41d7cd44052f92927f2087556b91839f775
Signed-off-by: Vishal Patil <vpatil@extremenetworks.com>
9 years agoAdding Pax-Exam infra with a basic IT for plugin 73/7773/2
Madhu Venugopal [Fri, 6 Jun 2014 10:09:55 +0000 (03:09 -0700)]
Adding Pax-Exam infra with a basic IT for plugin

Change-Id: I4bdfdda16e81d539c002f683066238ada2355f27
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoBUG-1147: Fix programming of NORMAL flow entry when using OF 1.3 Provider. 52/7752/2
Thomas Bachman [Thu, 5 Jun 2014 14:30:36 +0000 (14:30 +0000)]
BUG-1147: Fix programming of NORMAL flow entry when using OF 1.3 Provider.

The OVSDB Plugin programs the br-int and br-ex bridges with the appropriate
flows as they are discovered by the plugin. The OpenFlow 1.0 provider
correctly installs the LLDP and NORMAL flows, but the OpenFlow 1.3 provider
does not install the NORMAL flow on the br-ex bridge (note: the NORMAL flows
are only installed on br-ex bridges, and not br-int bridges, when using
OpenFlow 1.3).

This patch fixes this by programming of the NORMAL flow on br-ex
bridges when using the OpenFlow 1.3 provider.`

Change-Id: I32e5179cc94ca7afb513a5a6fb6bc6c6dc5cf84d
Signed-off-by: Thomas Bachman <tbachman@yahoo.com>
9 years agoMerge "Add unit test for JsonRpcDecoder" into topic/schema
Madhu Venugopal [Wed, 4 Jun 2014 05:08:00 +0000 (05:08 +0000)]
Merge "Add unit test for JsonRpcDecoder" into topic/schema

9 years agoAdd unit test for JsonRpcDecoder 51/7651/4
Dave Tucker [Tue, 3 Jun 2014 17:59:24 +0000 (18:59 +0100)]
Add unit test for JsonRpcDecoder

Change-Id: Ia4bb681814fa3dc7a1b79ccb6131080d292c0484
Signed-off-by: Dave Tucker <djt@redhat.com>
9 years agoBugFix #958 in OVSDB setting LLDP length to 0xffff 44/7144/4
Brent Salisbury [Sat, 17 May 2014 22:39:35 +0000 (18:39 -0400)]
BugFix #958 in OVSDB setting LLDP length to 0xffff

Patch4: rebase

Patch3: Setting the max length to the max value
to prevent truncation of the packets. The default
contrustor was (0). Packets are no longer being
truncated now.

-For the commentors here is the output of removing
maxlength():
-----------
OFPT_PACKET_IN (OF1.3) (xid=0x0): total_len=89
in_port=1 tun_src=172.16.86.129
tun_dst=172.16.86.128 (via action) data_len=0
(unbuffered) (***total_len != data_len***)

-With output.setMaxLength(0xffff); at max val
output is as follows:
--------------------
OFPT_PACKET_IN (OF1.3) (xid=0x0): total_len=90
in_port=LOCAL (via no_match) data_len=90
buffer=0x00000101

Patch2:
Pulling the max_len all together should solve
the truncating issue. Hard to tell as only half of
the flowmods are getting installed at the moment
and this creates lots of deserialization errors
from some IPv6 punts. It doesnt solve the issues
in the Neutron plugin at the moment. The original
error doesnt appear for me outside of OVS logs. There
isnt a need to send any packet payload which is what
the max_length field is for per the spec. I was thining
zero would send the whole payload but per the spec
and thought ofprovider had a good reason to use 40bits
but not so much. Will add comments there.

/*
From of1.3 spec section A.2.5
"The max_len indicates the maximum amount of data from
 a packet that should be sent when the port is
OFPP_CONTROLLER. If max_len is zero, the switch must
send zero bytes of the packet. A max_len of
OFPCML_NO_BUFFER means that the complete packet
should be sent, and it should not be buffered."
*/
Change-Id: Ifcbe22e38d599096a2e451144b461e128a41ee08
Signed-off-by: Brent Salisbury <brent.salisbury@gmail.com>
9 years agoRemoving the Open_vSwitch schema hardcoding in OvsDBClient. 70/7470/1
Madhu Venugopal [Wed, 28 May 2014 22:26:27 +0000 (15:26 -0700)]
Removing the Open_vSwitch schema hardcoding in OvsDBClient.

Though it is an harmless constant string, it goes against the motivation of the library redesign to be
schema independent. Hence moving the schema string to a more appropriate place (to the applications),
in this case, to the Integration Test files.
Also, modified the initialize functionality to include a test to check for the list_dbs to contain Open_vSwitch
schema as all the tests in this file are based on Open_vSwitch schema tables.

Change-Id: I3210abf1fa18b5707a27b719f7d481b5de76d6be
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoMerge "Added Mutate operation" into topic/schema
Madhu Venugopal [Tue, 27 May 2014 21:00:01 +0000 (21:00 +0000)]
Merge "Added Mutate operation" into topic/schema