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 [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>
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>
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>
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
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>
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>
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>
Madhu Venugopal [Thu, 26 Jun 2014 15:46:04 +0000 (15:46 +0000)]
Merge "Add tests to increase NB-API coverage"
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>
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
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>
Madhu Venugopal [Wed, 25 Jun 2014 17:05:17 +0000 (17:05 +0000)]
Merge "Add Initial Pax Exam IT for OVSDB Northbound API"
Madhu Venugopal [Wed, 25 Jun 2014 14:21:57 +0000 (14:21 +0000)]
Merge "Re-organise the Pax Exam IT infrastructure"
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>
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>
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>
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>
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>
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"
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>
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>
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>
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>
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>
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>
Madhu Venugopal [Sat, 21 Jun 2014 15:02:30 +0000 (15:02 +0000)]
Merge "Add Interface Table Columns and Version Info" into topic/schema
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>
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>
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>
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>
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>
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>
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>
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
Dave Tucker [Fri, 20 Jun 2014 17:19:02 +0000 (17:19 +0000)]
Merge "Simplifying the User facing APIs in TyperUtils." into topic/schema
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>
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>
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>
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
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>
Madhu Venugopal [Fri, 20 Jun 2014 01:26:38 +0000 (01:26 +0000)]
Merge "Add version information to the Bridge table" into topic/schema
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>
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>
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>
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
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Madhu Venugopal [Tue, 10 Jun 2014 21:15:13 +0000 (21:15 +0000)]
Merge "explicitly parsing JsonNode for updates" into topic/schema
Brent Salisbury [Tue, 10 Jun 2014 19:34:41 +0000 (19:34 +0000)]
Merge "Adding Pax-Exam infra with a basic IT for plugin"
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>
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>
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>
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>
Madhu Venugopal [Wed, 4 Jun 2014 05:08:00 +0000 (05:08 +0000)]
Merge "Add unit test for JsonRpcDecoder" into topic/schema
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>
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>
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>
Madhu Venugopal [Tue, 27 May 2014 21:00:01 +0000 (21:00 +0000)]
Merge "Added Mutate operation" into topic/schema
Matt Oswalt [Tue, 27 May 2014 20:56:53 +0000 (16:56 -0400)]
Added Mutate operation
Signed-off-by: Matt Oswalt <matt@keepingitclassless.net>
Madhu Venugopal [Tue, 27 May 2014 15:49:43 +0000 (15:49 +0000)]
Merge "Adding neutron api v2.0 security group/rules handlers"
Brent Salisbury [Fri, 23 May 2014 18:33:50 +0000 (14:33 -0400)]
Adding neutron api v2.0 security group/rules handlers
Patch3:
-Verified with merged patches and rolled back
whitespace formatting on Activator and Tenantmanager.
-Removed the comments Sam wanted removed.
-Only dependancy is commit 7410 that registers
the service in networkconfig.neutron.
https://git.opendaylight.org/gerrit/#/c/7410/
Patch2: Pulled the TenantManager adds since it was just
for a usage preview. Added NeutronPortSecurityHandler
parent handler for NeutronSecurityGroup and
NeutronSecurityRule. Still depends on NBAPI merges and
OF merges.
Change-Id: Idbdfcd4e0accba1f98951d052318a1aba9a337f8
Signed-off-by: Brent Salisbury <brent.salisbury@gmail.com>
Brent Salisbury [Mon, 26 May 2014 22:14:18 +0000 (18:14 -0400)]
Sample OpenStack/Neutron v2.0 Postman API Collection
-Example v2.0 NBAPI Neutron calls to import into Postman
for development testing. All calls are either implemented
or pending merges.
-OpenStack Neutron v2.0 API reference:
https://wiki.openstack.org/wiki/Neutron/APIv2-specification
Change-Id: Ifd1bbc8b77579c8af67dd33bb6f55303a34c16fb
Signed-off-by: Brent Salisbury <brent.salisbury@gmail.com>
Madhu Venugopal [Mon, 26 May 2014 18:16:13 +0000 (11:16 -0700)]
Added assert operation as per RFC 7047 section 5.2.10
Change-Id: I31087a39bffc1f395652f0132fb5881cc45f8554
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Madhu Venugopal [Mon, 26 May 2014 17:30:08 +0000 (10:30 -0700)]
Added Comment operation as per RFC7047 section 5.2.9
Change-Id: I4adf77cf3823683c63a324a9ba690f99dc33e1fa
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Madhu Venugopal [Mon, 26 May 2014 17:24:29 +0000 (10:24 -0700)]
Fixed a bug introduced due to a recent commit. Thanks to Integration tests, we were able to identify the issue.
We need to add good Asserts to catch and Fail Verify and Merge jobs. That will prevent from these happening.
We are waiting on the Mutate operation to et merged before we could write better Asserts.
Change-Id: I62e42c27032b8502937394d50934c2cf4038eed9
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Madhu Venugopal [Sat, 24 May 2014 14:54:32 +0000 (14:54 +0000)]
Merge "Add unit tests for getPhysicalInterfaceName"
Ashwin Raveendran [Fri, 23 May 2014 01:12:02 +0000 (18:12 -0700)]
renamed old package to temp and fixes for min/max
Renamed the old package for TableUpdates to temp and have a newer one that
can be enhanced for the current use caes while slowly deprecating the old
one. Also fixes a bug and added support for Set based field
Change-Id: If36c9c143eff2a8cc0cd1a0af5f1572ce1dbced5
Signed-off-by: Ashwin Raveendran <ashw7n@gmail.com>
Madhu Venugopal [Thu, 22 May 2014 22:50:48 +0000 (22:50 +0000)]
Merge "getPhysicalInterfaceName not finding match in some cases"
Sam Hague [Thu, 22 May 2014 21:34:23 +0000 (17:34 -0400)]
Add unit tests for getPhysicalInterfaceName
Change-Id: I616dcc2f8c06db7c33246ee84478fd3eb70a4b42
Signed-off-by: Sam Hague <shague@redhat.com>
Sam Hague [Thu, 22 May 2014 21:13:40 +0000 (17:13 -0400)]
getPhysicalInterfaceName not finding match in some cases
Cases where there are multiple Open_vSwitch rows would cause
the method to not find a match. The method should loop through
all the rows until a match is found, but an early break was causing
the method to exit after the first row is processed.
Change-Id: I624bbd2aeede7c99bad62d1c5356bcf2af1dd0c8
Signed-off-by: Sam Hague <shague@redhat.com>
Madhu Venugopal [Thu, 22 May 2014 14:16:25 +0000 (07:16 -0700)]
Added a test-case to include non-atomic column to test the ser/de-ser pipeline in the new schema base code.
Please note that, this is added to make sure we will replace the ugliness of OvsDBSet/OvsDBMap from the Client
facing API towards internals.
Change-Id: I3d798816e697f53af3f07b504ad06715e5ab7393
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Madhu Venugopal [Thu, 22 May 2014 13:48:23 +0000 (13:48 +0000)]
Merge "Stop isReady method always returning true" into topic/schema
Dave Tucker [Fri, 16 May 2014 17:24:54 +0000 (18:24 +0100)]
Stop isReady method always returning true
The OvsdbClientImpl.isReady() method will always return true as the
schema variable is initialized when the class is created and an
instance of a list can never be null.
This commit implements the timeout in the ToDo and changes the logic
to check if the schema.isEmpty
Change-Id: I1d48fa56f5a93e227fc3b623d3405d07a1751972
Signed-off-by: Dave Tucker <djt@redhat.com>
Giovanni Meo [Thu, 22 May 2014 13:38:54 +0000 (15:38 +0200)]
ovsdb has a dependency on artifacts from integration project, that shall be removed
- ovsdb has a dependency on artifact from integration project, while
integration project depends on ovsdb. This is a circular dependency
for the release process because we cannot release OVSDB without
releasing INTEGRATION and viceversa. To break the circular dependency
i'm proposing to build the ovsdb distribution starting from the
controller one adding the few deltas needed. Yes this cause some
duplication but i couldn't find a better way to break it. Suggestions
are more then welcome!
Change-Id: Ifed07caddce549a96a7f6eb92d6c977f2f938d5c
Signed-off-by: Giovanni Meo <gmeo@cisco.com>
Madhu Venugopal [Thu, 22 May 2014 13:17:34 +0000 (13:17 +0000)]
Merge "Add OVSDB Select Operation" into topic/schema
Dave Tucker [Sat, 10 May 2014 18:08:00 +0000 (19:08 +0100)]
Add OVSDB Select Operation
Add the OVSDB Select Operation to the new OVSDB Library
Change-Id: Ie59033a7628f02e85bc3babba56c5723406398d0
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Dave Tucker [Wed, 21 May 2014 14:03:10 +0000 (15:03 +0100)]
Update .gitreview to use topic/schema branch
`git review` will push to topic/schema by default.
Change-Id: I8cebaa5344202495894441bf4973fac6fe0c23ca
Signed-off-by: Dave Tucker <djt@redhat.com>
Brent Salisbury [Wed, 21 May 2014 17:52:54 +0000 (17:52 +0000)]
Merge "Abort operation as per Section 5.2.8 of RFC 7047" into topic/schema
Brent Salisbury [Wed, 21 May 2014 17:50:39 +0000 (17:50 +0000)]
Merge changes Idd1bb88c,I9fd5ef99 into topic/schema
* changes:
Fixed a bug in where condition usage in Update & Delete operations. Also moved Delete operation to a seperate transaction in the Test code to test multiple transactions.
Commit operation as per Section 5.2.7 of RFC 7047
Brent Salisbury [Wed, 21 May 2014 17:44:04 +0000 (17:44 +0000)]
Merge "Cleaned up Integration Test setup" into topic/schema
Madhu Venugopal [Wed, 21 May 2014 13:25:02 +0000 (06:25 -0700)]
Abort operation as per Section 5.2.8 of RFC 7047
Change-Id: I74dd7e09b4ffc3a44e9876570e004c6637a6666f
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Madhu Venugopal [Wed, 21 May 2014 13:05:43 +0000 (06:05 -0700)]
Fixed a bug in where condition usage in Update & Delete operations.
Also moved Delete operation to a seperate transaction in the Test code to test multiple transactions.
Change-Id: Idd1bb88ccbda75047c83d8e825992f8ee6aad881
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
Madhu Venugopal [Wed, 21 May 2014 12:51:44 +0000 (05:51 -0700)]
Commit operation as per Section 5.2.7 of RFC 7047
Change-Id: I9fd5ef994163549ea18e1fee7979c3105e8eb5f8
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>