ovsdb.git
9 years agoAdding Karaf feature for openflow Nicira Extensions support 24/10424/1
Madhu Venugopal [Thu, 28 Aug 2014 05:59:20 +0000 (22:59 -0700)]
Adding Karaf feature for openflow Nicira Extensions support

Change-Id: I871c4c1d242770dd9b2f8a21b50f874388eeeb45
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoMoved ovsdb features into a sub-directory to accomodate related features to come 23/10423/1
Madhu Venugopal [Thu, 28 Aug 2014 03:46:11 +0000 (20:46 -0700)]
Moved ovsdb features into a sub-directory to accomodate related features to come

Change-Id: I1ba0294faef385bbd94e180e102be5542e36afd9
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoAdding Nicira action NXAST_MULTIPATH, appropriate SAL connectors, 54/10354/2
Srini Seetharaman [Wed, 27 Aug 2014 06:46:46 +0000 (23:46 -0700)]
Adding Nicira action NXAST_MULTIPATH, appropriate SAL connectors,
and utils.

Change-Id: Ia241fe5a728cf8f55449628a36a5bd2b160c7f61
Signed-off-by: Srini Seetharaman <srini.seetharaman@gmail.com>
9 years agoAdding plugin.shell to make OVSDB Karaf feature happy in integration branch 06/10406/1
Madhu Venugopal [Wed, 27 Aug 2014 23:55:20 +0000 (16:55 -0700)]
Adding plugin.shell to make OVSDB Karaf feature happy in integration branch

Change-Id: Id583df6317e56f5377aa51dbc32c7aed79b3905f
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoMerge "Adjusted OVSDB features to enable the Pax-exam tests"
Dave Tucker [Wed, 27 Aug 2014 23:32:35 +0000 (23:32 +0000)]
Merge "Adjusted OVSDB features to enable the Pax-exam tests"

9 years agoAdjusted OVSDB features to enable the Pax-exam tests 93/10393/2
Madhu Venugopal [Wed, 27 Aug 2014 19:31:09 +0000 (12:31 -0700)]
Adjusted OVSDB features to enable the Pax-exam tests

Change-Id: Ifdc6a60ac54e2dfae9e65376527778dec70de669
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoMerge "Don't build OVSDB Distribution in Jenkins"
Madhu Venugopal [Wed, 27 Aug 2014 18:28:10 +0000 (18:28 +0000)]
Merge "Don't build OVSDB Distribution in Jenkins"

9 years agoMerge "Add Interfaces for Openstack L3 forwarding"
Madhu Venugopal [Wed, 27 Aug 2014 15:59:05 +0000 (15:59 +0000)]
Merge "Add Interfaces for Openstack L3 forwarding"

9 years agoDon't build OVSDB Distribution in Jenkins 87/10387/1
Dave Tucker [Wed, 27 Aug 2014 15:57:16 +0000 (16:57 +0100)]
Don't build OVSDB Distribution in Jenkins

Change-Id: Ic45c74c7b3de5066ab34588062172fc366bb9372
Signed-off-by: Dave Tucker <djt@redhat.com>
9 years agoMerge "l3 support (partial): move event dispatch from southBoundHandler"
Dave Tucker [Wed, 27 Aug 2014 14:29:02 +0000 (14:29 +0000)]
Merge "l3 support (partial): move event dispatch from southBoundHandler"

9 years agoAdd Interfaces for Openstack L3 forwarding 79/10379/1
Dave Tucker [Wed, 27 Aug 2014 14:24:12 +0000 (15:24 +0100)]
Add Interfaces for Openstack L3 forwarding

Change-Id: I59c9b7f2d91edd5e9427cc1587ae8e4fc741b5c8
Signed-off-by: Dave Tucker <djt@redhat.com>
9 years agol3 support (partial): move event dispatch from southBoundHandler 54/10154/8
Flavio Fernandes [Fri, 22 Aug 2014 05:27:55 +0000 (01:27 -0400)]
l3 support (partial): move event dispatch from southBoundHandler

The event handling in southbound needs to move to a common location, so
neutron callbacks can also be enqueued. With these changes, we can now
create a nothBoundHandler, which will take neutron events and enqueue
envents to a shared dispatcher.

Patch set 3: Added copyright headers for the newly added files.
Patch set 4: Make neutron port handler use event dispatcher.
Patch set 5: Fix link to test log
Patch set 6: Use OSGI whiteboard pattern to register event handlers with the dispatcher.
Patch set 7: Code review changes.

Script for creating coke tenants in devstack:
https://gist.github.com/1ba897e7cde8dbd87fe8

Starting odl command:
./run.sh -virt ovsdb -Xms40m -Xmx1024m -XX:MaxPermSize=1024m

LogLevel:
setLogLevel org.opendaylight.ovsdb.openstack.netvirt.providers.OF13Provider trace
setLogLevel org.opendaylight.ovsdb.openstack.netvirt.api.EventDispatcher trace
setLogLevel org.opendaylight.ovsdb.openstack.netvirt.SouthboundHandler debug
setLogLevel org.opendaylight.ovsdb.openstack.netvirt.PortHandler debug

Log of test:
createTenants: https://gist.github.com/44b4ec87f3c89fe5683e
osgi: https://gist.github.com/47627762ed9d9b474b29

Change-Id: Ieaf8a91e65f82c37ac5fddd2ec824311cd1d5771
Signed-off-by: Flavio Fernandes <ffernand@redhat.com>
9 years agoMerge "Schema independent plugin insert operation for a traditional single Row &...
Brent Salisbury [Wed, 27 Aug 2014 02:21:37 +0000 (02:21 +0000)]
Merge "Schema independent plugin insert operation for a traditional single Row & more advanced insertTree for multi level Row insertion in a single operation."

9 years agoMerge changes Iec115491,I5b6f87c7,I6c05abf0
Brent Salisbury [Wed, 27 Aug 2014 02:15:07 +0000 (02:15 +0000)]
Merge changes Iec115491,I5b6f87c7,I6c05abf0

* changes:
  Added a few convenience methods in plugin that can be used with or without passing the Parent Table and Column info for inserting and deleting rows.
  Removed unused ObjectMapper which is potentially confusing
  GET API uses @Consumes annotation incorrectly, while it should be @Produces.

9 years agoSchema independent plugin insert operation for a traditional single Row & more advanc... 51/10351/1
Madhu Venugopal [Wed, 27 Aug 2014 01:20:46 +0000 (18:20 -0700)]
Schema independent plugin insert operation for a traditional single Row & more advanced insertTree for multi level Row insertion in a single operation.

This commit brings in the plugin support which will be used by northboundv3 APIs & more advanced applications that make use of the plugin.

Change-Id: If57d82da9234cc1d5a40ffd9b789ec3a81092383
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoAdded a few convenience methods in plugin that can be used with or without passing... 78/10278/2
Madhu Venugopal [Mon, 25 Aug 2014 01:31:47 +0000 (18:31 -0700)]
Added a few convenience methods in plugin that can be used with or without passing the Parent Table and Column info for inserting and deleting rows.

Change-Id: Iec11549178236efe5b1e5fa5d47b8de7e9b5f4e7
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoRemoved unused ObjectMapper which is potentially confusing 77/10277/2
Madhu Venugopal [Thu, 21 Aug 2014 01:54:18 +0000 (18:54 -0700)]
Removed unused ObjectMapper which is potentially confusing

Change-Id: I5b6f87c79e19c8b9ea7f2f7a30adc3ce4961c29a
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoAdded a method to return a list of augmented Nicira Instructions 91/10291/1
Brent Salisbury [Tue, 26 Aug 2014 09:42:45 +0000 (05:42 -0400)]
Added a method to return a list of augmented Nicira Instructions

-Example output of a needed flow using an NX action
and an OXM set_field metadata:
actions=resubmit(10,0),write_metadata:0xc/0xc

-This is indeed odd. Returned List<Instruction>
rather then InstructionBuilder since the first
param was variable etc. Made a new method to
avoid breaking SFC or anyone using the current
NX augmentation. Will knock out match next.

This is indeed odd :s
rev131026.instruction.list.Instruction
rev131026.instruction.Instruction

Signed-off-by: Brent Salisbury <brent.salisbury@gmail.com>
9 years agoMerge "Changed the tcp_flag match builder param in /util/md/match" topic/lbaas
Madhu Venugopal [Sun, 24 Aug 2014 12:31:41 +0000 (12:31 +0000)]
Merge "Changed the tcp_flag match builder param in /util/md/match"

9 years agoMerge "Added metadata match/instructions to md openflow utils"
Madhu Venugopal [Sun, 24 Aug 2014 12:28:49 +0000 (12:28 +0000)]
Merge "Added metadata match/instructions to md openflow utils"

9 years agoMerge "Fixing a couple of Integration distribution issues due to the legacy vs MD...
Brent Salisbury [Fri, 22 Aug 2014 21:08:24 +0000 (21:08 +0000)]
Merge "Fixing a couple of Integration distribution issues due to the legacy vs MD-SAL openflowplugin conflicts. After the introduction of NX-Extension support, the OVSDB project has moved from a soft-dependancy (via MD-SAL Apis) to a more hard-depedency with Openflowplugin/Openflowjava projects. Due to that reason, the filtering done during the [-of10|-of13] switch for legacy vs MD-SAL plugin selection needs some improvement and that is taken care in the integration project using https://git.opendaylight.org/gerrit/#/c/10003/."

9 years agoChanged the tcp_flag match builder param in /util/md/match 91/10191/2
Brent Salisbury [Fri, 22 Aug 2014 20:10:46 +0000 (16:10 -0400)]
Changed the tcp_flag match builder param in /util/md/match

Patch#2 -Did the same for the TCP port num.

Patch#1 -Changed the tcp builder to use the instance variable
passed in the match tcpflag util method rather then
hardcoded to 0x002(tcp_syn)

Change-Id: I29d54c87af24678a6e99692b986ae5a84d60ced2
Signed-off-by: Brent Salisbury <brent.salisbury@gmail.com>
9 years agoAdded metadata match/instructions to md openflow utils 90/10190/1
Brent Salisbury [Fri, 22 Aug 2014 19:58:30 +0000 (15:58 -0400)]
Added metadata match/instructions to md openflow utils

-Flowmod produced as follows:
metadata=0x14,dl_type=0x88cc actions=CONTROLLER:65535,write_metadata:0xc/0xc

- Added a missing instrucionbuilder.build() for a few of
the instructions to add after action builders to the
instruction being returned for the ARP related methods.

The mask on the instruction I beleive is optional but
I am seeing null pointers w/o it. It is marked with a
todo to investigate further but this should satisfy
what we need short term.

Signed-off-by: Brent Salisbury <brent.salisbury@gmail.com>
9 years agoMake it easier to run the IT 47/10147/1
Dave Tucker [Thu, 21 Aug 2014 17:55:33 +0000 (18:55 +0100)]
Make it easier to run the IT

The IT can now be run locally using Docker and Fig

 fig start
 mvn verify -Pintegrationtest <options here>
 fig stop

On OSX this requires the use of boot2docker, but this is much easier and
lighterweight than cloning the docker-ovs repo.

Different versions of openvswitch can be used by editing fig.yml

Change-Id: If4aea173c1ce366ce901808992d1f88e5c8e1a58
Signed-off-by: Dave Tucker <djt@redhat.com>
9 years agoGET API uses @Consumes annotation incorrectly, while it should be @Produces. 76/10276/1
Madhu Venugopal [Thu, 21 Aug 2014 01:41:19 +0000 (18:41 -0700)]
GET API uses @Consumes annotation incorrectly, while it should be @Produces.

Change-Id: I6c05abf0af436db0bdaceb9a94db17345e980353
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoMerge "Adding Javadocs comments to the different tests for OVSDB library and plugins."
Madhu Venugopal [Wed, 20 Aug 2014 03:41:31 +0000 (03:41 +0000)]
Merge "Adding Javadocs comments to the different tests for OVSDB library and plugins."

9 years agoMerge "Bug 1396 : Change from deprecated DataBrokerService to DataBroker"
Madhu Venugopal [Tue, 19 Aug 2014 20:44:37 +0000 (20:44 +0000)]
Merge "Bug 1396 : Change from deprecated DataBrokerService to DataBroker"

9 years agoAdding Javadocs comments to the different tests for OVSDB library and plugins. 52/10052/1
Srini Seetharaman [Tue, 19 Aug 2014 07:53:27 +0000 (00:53 -0700)]
Adding Javadocs comments to the different tests for OVSDB library and plugins.

Removing redundant test_schema.json, which is already available in the resources directory.

Change-Id: I914da1dcb761b60bf9bd56b33abb90d67f73a186
Signed-off-by: Srini Seetharaman <srini.seetharaman@gmail.com>
9 years agoMerge " Update Mininet VagrantBox (part 2)"
Madhu Venugopal [Tue, 19 Aug 2014 00:21:07 +0000 (00:21 +0000)]
Merge "    Update Mininet VagrantBox (part 2)"

9 years agoMerge "Update Mininet VagrantBox"
Madhu Venugopal [Tue, 19 Aug 2014 00:20:33 +0000 (00:20 +0000)]
Merge "Update Mininet VagrantBox"

9 years ago Update Mininet VagrantBox (part 2) 45/10045/1
Flavio Fernandes [Mon, 18 Aug 2014 21:18:56 +0000 (17:18 -0400)]
Update Mininet VagrantBox (part 2)

    Add xauth pkg to mininet
    Add file: resources/mininet/cheatsheet.txt
    Rename topology inside topo.py to L3TestTopo (instead of MyTopo)

Change-Id: Ia5b7ffe59a29cc1fef00bf77faac63bf27669343
Signed-off-by: Flavio Fernandes <ffernand@redhat.com>
9 years agoBug 1396 : Change from deprecated DataBrokerService to DataBroker 22/10022/1
Flavio Fernandes [Mon, 18 Aug 2014 13:09:41 +0000 (09:09 -0400)]
Bug 1396 : Change from deprecated DataBrokerService to DataBroker

As a follow up from my conversation with edwarnicke, it turns out that
OVSDB should be in charge of creating whatever missing parents it needs
for the flow creation configuration. An issue still remains in regards
to who/when removes the node portion of the tree once all flows are
removed. That will be tracked by another bug, and bug 1396 will be
linked with it.

For more details, see: https://gist.github.com/864043e0a96c4e704497

Change-Id: I0f28a369c55e7af3d84fc7ddbef93f0efe3f5b30
Signed-off-by: Flavio Fernandes <ffernand@redhat.com>
9 years agoMerge changes Iee05b833,I58312ab8,I170fd69f topic/netsal
Brent Salisbury [Sat, 16 Aug 2014 23:41:58 +0000 (23:41 +0000)]
Merge changes Iee05b833,I58312ab8,I170fd69f

* changes:
  Added Karaf Shell framework for OVSDB plugin and printCache command-line.
  Removed some unused files and dependencies.
  Added the missing TearDown for HardwareVtep IT.

9 years agoFixing a couple of Integration distribution issues due to the legacy vs MD-SAL openfl... 04/10004/1
Madhu Venugopal [Sat, 16 Aug 2014 08:01:53 +0000 (01:01 -0700)]
Fixing a couple of Integration distribution issues due to the legacy vs MD-SAL openflowplugin conflicts.
After the introduction of NX-Extension support, the OVSDB project has moved from a soft-dependancy (via MD-SAL Apis)
to a more hard-depedency with Openflowplugin/Openflowjava projects. Due to that reason, the filtering done during the
[-of10|-of13] switch for legacy vs MD-SAL plugin selection needs some improvement and that is taken care in the
integration project using https://git.opendaylight.org/gerrit/#/c/10003/.

Unfortunately, the net-virt-providers currently carries both OF10, OF13 providers together and hence, filtering that
bundle is not an option based on the above flag switch. Hence, added optional-dependency directive to make sure the
OSGi runtime dont scream when it finds a missing bundle for NX-Extension when running in legacy -of10 mode.

Better fix would have been to reorganize the providers to their own bundles and fitering them out using the above switch.
But since Integration project is impacted, this gives a good smooth transition to the newer model.

Change-Id: I11992a2ba872a0ac49c8a815dc7b4a5bce354b41
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoAdded Karaf Shell framework for OVSDB plugin and printCache command-line. 00/10000/2
Madhu Venugopal [Fri, 15 Aug 2014 18:34:30 +0000 (11:34 -0700)]
Added Karaf Shell framework for OVSDB plugin and printCache command-line.

More commands to follow soon.

Change-Id: Iee05b833d8d59394bf4ce09d99a9d85322e110c9
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoUpdate Mininet VagrantBox 93/9993/2
Dave Tucker [Fri, 15 Aug 2014 22:01:45 +0000 (23:01 +0100)]
Update Mininet VagrantBox

- Use Ubuntu 14.04 LTS
- Upgrade OVS to 2.1.0
- Note: Nasty hack to symlink ovs-controller to /usr/bin
- This can be reverted when it's reintroduced in the debian packages

Change-Id: I4ca320c361f8321a75c674c64bb5ddf37e4d803e
Signed-off-by: Dave Tucker <djt@redhat.com>
9 years agoRemoved some unused files and dependencies. 50/9950/2
Madhu Venugopal [Thu, 14 Aug 2014 12:41:05 +0000 (05:41 -0700)]
Removed some unused files and dependencies.

Change-Id: I58312ab8f683fc7c81bdbf89811bee0a806ac0d9
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoTweak Vagrant file, so it also works for fusion provider 72/9972/3
Flavio Fernandes [Fri, 15 Aug 2014 05:54:39 +0000 (01:54 -0400)]
Tweak Vagrant file, so it also works for fusion provider

Change-Id: Ie4b9b6c0abeeda2f65dd7e23df4549eaafccc2cd
Signed-off-by: Flavio Fernandes <ffernand@redhat.com>
9 years agoMerge "Moved MD-SAL openflow utility classes from net-virt-providers to its own Utili...
Dave Tucker [Thu, 14 Aug 2014 13:26:16 +0000 (13:26 +0000)]
Merge "Moved MD-SAL openflow utility classes from net-virt-providers to its own Utility library that can be embedded into various applications."

9 years agoMerge "Update ovssfc to use latest mdsal broker APIs"
Madhu Venugopal [Thu, 14 Aug 2014 13:18:11 +0000 (13:18 +0000)]
Merge "Update ovssfc to use latest mdsal broker APIs"

9 years agoAdded the missing TearDown for HardwareVtep IT. 49/9949/2
Madhu Venugopal [Thu, 14 Aug 2014 11:37:36 +0000 (04:37 -0700)]
Added the missing TearDown for HardwareVtep IT.

Change-Id: I170fd69f1a1cb1b44ae0bc4c36fef7072aec6783
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoMoved MD-SAL openflow utility classes from net-virt-providers to its own Utility... 41/9941/1
Madhu Venugopal [Thu, 14 Aug 2014 02:07:31 +0000 (19:07 -0700)]
Moved MD-SAL openflow utility classes from net-virt-providers to its own Utility library that can be embedded into various applications.

Change-Id: I87ff6ae4e61e1859bf0a32d76efc98fb483899cf
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoMerge "Added Nsi Utility method & resolved a multi-augmentation extension issue"
Brent Salisbury [Thu, 14 Aug 2014 00:59:39 +0000 (00:59 +0000)]
Merge "Added Nsi Utility method & resolved a multi-augmentation extension issue"

9 years agoMerge "NXM_NX_NSI openflow extended match support."
Brent Salisbury [Thu, 14 Aug 2014 00:59:16 +0000 (00:59 +0000)]
Merge "NXM_NX_NSI openflow extended match support."

9 years agoMerge "Augment postman neutron collection and added FloatingIPHandler skeleton."
Dave Tucker [Wed, 13 Aug 2014 21:41:21 +0000 (21:41 +0000)]
Merge "Augment postman neutron collection and added FloatingIPHandler skeleton."

9 years agoMerge "Utility method in net-virt-providers to set a NSP match."
Brent Salisbury [Wed, 13 Aug 2014 20:47:27 +0000 (20:47 +0000)]
Merge "Utility method in net-virt-providers to set a NSP match."

9 years agoMerge "NXM_NX_NSP openflow extended match support."
Brent Salisbury [Wed, 13 Aug 2014 20:46:55 +0000 (20:46 +0000)]
Merge "NXM_NX_NSP openflow extended match support."

9 years agoAdded Nsi Utility method & resolved a multi-augmentation extension issue 31/9931/1
Madhu Venugopal [Wed, 13 Aug 2014 20:40:01 +0000 (13:40 -0700)]
Added Nsi Utility method & resolved a multi-augmentation extension issue

If a MatchBuilder carries more than 1 extension, the last extension overrides all others.
Resolved the issue by creating an extensionList as and when the MatchBuilder is populated.

Change-Id: I0ef4260fd1635bd57f09b2c5e72aee970ce4e829
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoNXM_NX_NSI openflow extended match support. 29/9929/1
Madhu Venugopal [Wed, 13 Aug 2014 20:32:08 +0000 (13:32 -0700)]
NXM_NX_NSI openflow extended match support.

Sample output:
[root@localhost ~]# ovs-ofctl dump-flows br-int -O OpenFlow13
OFPST_FLOW reply (OF1.3) (xid=0x2):
 cookie=0x0, duration=3.639s, table=1, n_packets=0, n_bytes=0, send_flow_rem ip,nsp=1000,nsi=250,nw_dst=1.1.1.1 actions=set_nsp:0x3e8,set_nsi:45

Change-Id: I449b8179add3eb164eab45e97f8886cb4d8ed23f
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoUpdate ovssfc to use latest mdsal broker APIs 95/9895/2
Sam Hague [Tue, 12 Aug 2014 18:38:05 +0000 (14:38 -0400)]
Update ovssfc to use latest mdsal broker APIs

First pass: supported SFF Data Listener
Second pass:
- Added Abstract Data Listener to support more listeners
- Added SFC and SFP listeners.

Change-Id: Ia8c8d11ea0712e4654a20b8c4badb011feeb8bcb
Signed-off-by: Sam Hague <shague@redhat.com>
9 years agoAugment postman neutron collection and added FloatingIPHandler skeleton. 21/9921/1
Flavio Fernandes [Wed, 13 Aug 2014 16:33:14 +0000 (12:33 -0400)]
Augment postman neutron collection and added FloatingIPHandler skeleton.

Added more crud operations to postman neutron collection: floating ip.
Added FloatingIPHandler (which will be needed for L3 forwarding feature).

Change-Id: I91fa7accdc5ffc8561e886195d51d177ce95412c
Signed-off-by: Flavio Fernandes <ffernand@redhat.com>
9 years agoUtility method in net-virt-providers to set a NSP match. 16/9916/1
Madhu Venugopal [Wed, 13 Aug 2014 11:42:25 +0000 (04:42 -0700)]
Utility method in net-virt-providers to set a NSP match.

Change-Id: I9f2c3611b0b16c78d91615968509a0f93adf50a0
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoNXM_NX_NSP openflow extended match support. 15/9915/1
Madhu Venugopal [Wed, 13 Aug 2014 11:38:53 +0000 (04:38 -0700)]
NXM_NX_NSP openflow extended match support.

Sample output :
[root@localhost ~]# ovs-ofctl dump-flows br-int -O OpenFlow13
OFPST_FLOW reply (OF1.3) (xid=0x2):
 cookie=0x0, duration=12.100s, table=1, n_packets=0, n_bytes=0, send_flow_rem ip,nsp=1000,nw_dst=1.1.1.1 actions=set_nsp:0x3e8,set_nsi:45

Change-Id: I5c88114448972f9b5f561d438119b17b2e013a28
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoAugment postman neutron collection and added RouterHandler skeleton. 07/9907/2
Flavio Fernandes [Wed, 13 Aug 2014 03:43:36 +0000 (23:43 -0400)]
Augment postman neutron collection and added RouterHandler skeleton.

Added more crud operations to postman neutron collection: router.
Added RouterHandler (which will be needed for L3 forwarding feature).

Change-Id: Ifafb3b4892772f1704d2dd2479c0c2a77db36c67
Signed-off-by: Flavio Fernandes <ffernand@redhat.com>
9 years agoMerge "Removed the unused netconf config files (which are auto-populated using maven...
Brent Salisbury [Wed, 13 Aug 2014 06:09:30 +0000 (06:09 +0000)]
Merge "Removed the unused netconf config files (which are auto-populated using maven-dependency plugin) from the distribution resources folder"

9 years agoMerge changes Ic6cb8725,Ie533ed3e
Brent Salisbury [Wed, 13 Aug 2014 06:07:23 +0000 (06:07 +0000)]
Merge changes Ic6cb8725,Ie533ed3e

* changes:
  Added utility methods for set_nsp and set_nsi actions.
  set_nsp and set_nsi action NX support

9 years agoRemoved the unused netconf config files (which are auto-populated using maven-depende... 10/9910/1
Madhu Venugopal [Wed, 13 Aug 2014 05:21:48 +0000 (22:21 -0700)]
Removed the unused netconf config files (which are auto-populated using maven-dependency plugin) from the distribution resources folder

Change-Id: I3e44c6d8141753f4b048d4f1f76c5a5964510644
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoAdded utility methods for set_nsp and set_nsi actions. 09/9909/1
Madhu Venugopal [Wed, 13 Aug 2014 05:15:22 +0000 (22:15 -0700)]
Added utility methods for set_nsp and set_nsi actions.

Change-Id: Ic6cb8725f394251eb6f89e95e5ee8d9428468e62
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoset_nsp and set_nsi action NX support 08/9908/1
Madhu Venugopal [Wed, 13 Aug 2014 05:14:12 +0000 (22:14 -0700)]
set_nsp and set_nsi action NX support

Sample output from OVS:
[madhu@localhost ~]# sudo ovs-ofctl dump-flows br-int -O OpenFlow13
OFPST_FLOW reply (OF1.3) (xid=0x2):
 cookie=0x0, duration=20.337s, table=1, n_packets=0, n_bytes=0, send_flow_rem ip,nw_dst=1.1.1.1 actions=set_nsp:0x3e8,set_nsi:45

Change-Id: Ie533ed3eaca7f032a36bf19230a22004d75db424
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoAdded more crud operations to postman neutron collection 01/9901/1
Brent Salisbury [Tue, 12 Aug 2014 21:15:37 +0000 (17:15 -0400)]
Added more crud operations to postman neutron collection

added: port, subnet, network.

Signed-off-by: Brent Salisbury <brent.salisbury@gmail.com>
9 years agoAdded some useful flow-mod utilities including extensions from other projects into... 91/9891/1
Madhu Venugopal [Tue, 12 Aug 2014 16:31:55 +0000 (09:31 -0700)]
Added some useful flow-mod utilities including extensions from other projects into of13provider bundle.

Change-Id: I465deba06ebf5068aec69bfc643f45a3c97f570a
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoIntroducing Openflow NX Extension infrastructure and NX_RESUBMIT action in ovsdb... 67/9867/4
Madhu Venugopal [Mon, 11 Aug 2014 20:51:40 +0000 (13:51 -0700)]
Introducing Openflow NX Extension infrastructure and NX_RESUBMIT action in ovsdb project

- This infrastruture will make use of the openflowplugin's extension infrastructure to add to the Extensibility tree.
- Few of the NX actions and matches will be introduced here and ideally all the NX actions should reside in a OVS friendly place.
- NX_RESUBMIT and NX_RESUBMIT_TABLE codec are added and the appropriate action type will be used based on the data passed by the application
- Fixed Distribution to make use of this infra.

Change-Id: Ibdc634afe7704c9a4890a952ddb4bff5ef066610
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoPull in the NXM extension infrastructure support into ovsdb distribution 66/9866/2
Madhu Venugopal [Sat, 9 Aug 2014 17:31:56 +0000 (10:31 -0700)]
Pull in the NXM extension infrastructure support into ovsdb distribution

Change-Id: Id623088f6bd20ab121a53009156a90fe92a655d0
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agoAdding JavaDoc to one of the IT cases to demonstrate the Sonar IT Documentation 60/9860/1
Madhu Venugopal [Mon, 11 Aug 2014 15:16:17 +0000 (08:16 -0700)]
Adding JavaDoc to one of the IT cases to demonstrate the Sonar IT Documentation

Change-Id: I61380c1f95edef3029a4eb2fe29e00c1381204d3
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
9 years agorefactoring ovsdb of13 neutron 74/9474/5
Brent Salisbury [Tue, 29 Jul 2014 16:21:05 +0000 (12:21 -0400)]
refactoring ovsdb of13 neutron

patch#5:
renamed openflow constant

patch#4:
rebase

Patch#3:
-rebased, added a couple of constants and deleted old
commented out code from Hydrogen.

-I am getting so many node errors on the current
master that it is hard to tell if I am introducing
any new ones. We should probably verify the existing base
isnt broken for all of us before we merge this until md_sal
starts behaving like it did prior to all of the
normalization/node work by that team captured in Bug #1490.

Patch#2:
Changed a couple assessors in the match and comments
in instructions

-First of a few, was wanting  to put a builder wrapper around
all of the ofplug java API boiler plate sounded good in
theory but maintenance and tshooting mdsal RPCs,
threading etc from a loosely coupled wrapper may eventually
make us sad pandas.

-Pulled the ofplugin match/action APIs out of OF13Provider
and into a seperate package. Will work with Dave/Madhu
(or anyone else up to speed on karaf strategy) to package
it into Karaf or something if we are still aiming for
seperate bundles.
-Want to break it up into a progressive set of patches rather
then one biggy since we dont have IT yet to avoid any
impact.
-I have tests done just no PaxExam to run them against.
Can push them as a stub/example if someone wants.
-Added TCP_Flag and IPv4 Tunnel_Src/Dst.
-Modified and added a couple of constants.
-Later today will be adding a few methods to remove some
boiler plate jsut not as much as initially desired but
instantiating the MDSAL builders outside of of13provider
was getting mixed results with lots of rpc errors. Will
push it with a bug tomorrow anyways as a talking point for
out consumer APIs moving forward.

Change-Id: I05d7cccf3d7d0ae481070d8410e2328588faa348
Signed-off-by: Brent Salisbury <brent.salisbury@gmail.com>
9 years agoAdd Openflowplugin Extension API to OVSDB Distribution 04/9804/2
Dave Tucker [Fri, 8 Aug 2014 08:05:23 +0000 (09:05 +0100)]
Add Openflowplugin Extension API to OVSDB Distribution

Change-Id: I395549123fba6d85d0f9e35ac3b853c9cc081522
Signed-off-by: Dave Tucker <djt@redhat.com>
9 years agoMerge "Wait for result of Transactions in MD-SAL Adapter"
Madhu Venugopal [Wed, 6 Aug 2014 09:02:01 +0000 (09:02 +0000)]
Merge "Wait for result of Transactions in MD-SAL Adapter"

9 years agoMerge "Close the SouthboundHandler Executor Gracefully"
Madhu Venugopal [Wed, 6 Aug 2014 01:48:27 +0000 (01:48 +0000)]
Merge "Close the SouthboundHandler Executor Gracefully"

9 years agoWait for result of Transactions in MD-SAL Adapter 03/9703/3
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>
9 years agoMerge "Bug 1396 : Change from deprecated DataBrokerService to DataBroker"
Madhu Venugopal [Wed, 6 Aug 2014 01:10:00 +0000 (01:10 +0000)]
Merge "Bug 1396 : Change from deprecated DataBrokerService to DataBroker"

9 years agoClose the SouthboundHandler Executor Gracefully 10/9710/1
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>
9 years agoRemove reference to stale model-flow-management 98/9698/2
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>
9 years agoBug 1396 : Change from deprecated DataBrokerService to DataBroker 22/9322/8
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>
9 years agoMerge "Add MD-SAL Adapter for the OVSDB Plugin"
Madhu Venugopal [Tue, 5 Aug 2014 03:10:05 +0000 (03:10 +0000)]
Merge "Add MD-SAL Adapter for the OVSDB Plugin"

9 years agoAdd MD-SAL Adapter for the OVSDB Plugin 89/9589/2
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>
9 years agoDeprecating the Schma-dependent Plugin CRUD APIs and Introducing Schema-independent... 19/9619/4
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>
9 years agoRefactor of the OVSDB Plugin 98/9498/6
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>
9 years agoMerge "Added LBaaS/OS API calls to the project Postma collection"
Dave Tucker [Mon, 4 Aug 2014 12:27:02 +0000 (12:27 +0000)]
Merge "Added LBaaS/OS API calls to the project Postma collection"

9 years agoMerge "With the Controller Project exposing NSF features, we can enable OVSDB Northbo...
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"

9 years agoMerge "Bug 1471 : Fixing the Open_vSwitch Schema Controller Table's Target as String...
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>)"

9 years agoAdded LBaaS/OS API calls to the project Postma collection 44/9644/1
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>
9 years agoMerge "Init bundle files for ovs-sfc."
Madhu Venugopal [Sun, 3 Aug 2014 23:30:24 +0000 (23:30 +0000)]
Merge "Init bundle files for ovs-sfc."

9 years agoInit bundle files for ovs-sfc. 05/9505/3
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>
9 years agoWith the Controller Project exposing NSF features, we can enable OVSDB Northbound... 31/9631/1
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>
9 years agoBug 1471 : Fixing the Open_vSwitch Schema Controller Table's Target as String (from... 13/9613/1
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>
9 years agoImprove debug and trace logging in Neutron 67/9267/4
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>
9 years agoMerge "NBI v3 Method Stubs"
Madhu Venugopal [Sat, 2 Aug 2014 02:50:52 +0000 (02:50 +0000)]
Merge "NBI v3 Method Stubs"

9 years agoFixed OVSDB plugin Integration Test issue on Jenkins server 07/9507/8
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>
9 years agoInclude PAX Exam Code Coverage in Sonar 82/9482/2
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>
9 years agoMerge "Fix behaviour of listeners in the InventoryService"
Madhu Venugopal [Tue, 29 Jul 2014 19:09:59 +0000 (19:09 +0000)]
Merge "Fix behaviour of listeners in the InventoryService"

9 years agoNBI v3 Method Stubs 41/9441/1
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>
9 years agoMerge "Added per-flow TEP and per-port TEP example in SW schema IT"
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"

9 years agoUpdating an oudated README file 03/9303/2
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>
9 years agoKaraf features for OVSDB modules. 79/7779/3
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>
9 years agoAdded per-flow TEP and per-port TEP example in SW schema IT 28/9328/1
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>
9 years agoFix behaviour of listeners in the InventoryService 46/9246/2
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>
9 years agoRefactor OVSDB Neutron Code 70/9170/10
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>
9 years agoBug 1385 : Adding support for toString, equals and hashCode for the Typed Interfaces. 37/9237/2
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>
9 years agoBug 1401 : Resolving unrecognized field "syntax" error in OperationResult 36/9236/1
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>
9 years agoBug 1406 : Resolving an IndexOutOfBoundsException in Transact Response processing 35/9235/1
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>