netvirt.git
8 years agoMerge "Change logical-switch-ref to iid in hwvtep.yang"
Sam Hague [Mon, 21 Dec 2015 21:12:04 +0000 (21:12 +0000)]
Merge "Change logical-switch-ref to iid in hwvtep.yang"

8 years agoMerge "Remove Macs by Listening on ConfigDS"
Sam Hague [Mon, 21 Dec 2015 21:11:58 +0000 (21:11 +0000)]
Merge "Remove Macs by Listening on ConfigDS"

8 years agoMerge "Close the OVSDB connection after the last test"
Sam Hague [Mon, 21 Dec 2015 21:11:05 +0000 (21:11 +0000)]
Merge "Close the OVSDB connection after the last test"

8 years agoAdd controller target to log output for NetvirtIT
Sam Hague [Mon, 21 Dec 2015 14:10:32 +0000 (09:10 -0500)]
Add controller target to log output for NetvirtIT

Change-Id: I9646c16e05cc90050ef0efaff398b192efb367e6
Signed-off-by: Sam Hague <shague@redhat.com>
8 years agoChange logical-switch-ref to iid in hwvtep.yang
Peng Zhang [Thu, 17 Dec 2015 16:31:39 +0000 (00:31 +0800)]
Change logical-switch-ref to iid in hwvtep.yang

Change the type of logical-switch-ref from string to instance-identifier in hwvtep.yang

PatchSet 2:
1. fix logical-switch-ref in postman collection

Change-Id: I67fc5f80ac0fea88ed3f6ac7eaeeee9e63f0da92
Signed-off-by: Peng Zhang <pzhang@ctbri.com.cn>
8 years agoRemove Macs by Listening on ConfigDS
Peng Zhang [Thu, 10 Dec 2015 08:04:09 +0000 (16:04 +0800)]
Remove Macs by Listening on ConfigDS

PatchSet 2:
1. fix "unknown-dst" exception
2. add local McastMacs remove command

PatchSet 3:
1. add UcastMacs remove command

Change-Id: Ia79cdbc3ea89991b71b6e77a322a3c8539f3de33
Signed-off-by: Peng Zhang <pzhang@ctbri.com.cn>
8 years agoMerge "Bug 4789 - allowed address pair doesn't have port id"
Flavio Fernandes [Fri, 18 Dec 2015 13:24:22 +0000 (13:24 +0000)]
Merge "Bug 4789 - allowed address pair doesn't have port id"

8 years agoClose the OVSDB connection after the last test
Stephen Kitt [Fri, 18 Dec 2015 11:49:24 +0000 (12:49 +0100)]
Close the OVSDB connection after the last test

Change-Id: Iba99e08bde33fbb72e9387f0ae70a991f64699be
Signed-off-by: Stephen Kitt <skitt@redhat.com>
8 years agoCleanup NetvirtIT
Sam Hague [Fri, 18 Dec 2015 01:52:58 +0000 (20:52 -0500)]
Cleanup NetvirtIT

Removed methods that were added to SouthboundUtils.
Moved the Neutron IAware methods to their own class.
Remove the controller methods and used those defined in BridgeConfigurationManager.

Change-Id: I573d698805888e0dcefe1dddfbd47df5dc8828cf
Signed-off-by: Sam Hague <shague@redhat.com>
8 years agoMerge "Remove Physical Switch by Listening on DS"
Sam Hague [Thu, 17 Dec 2015 18:31:22 +0000 (18:31 +0000)]
Merge "Remove Physical Switch by Listening on DS"

8 years agoMerge "Fix Physical Switch Update Command"
Sam Hague [Thu, 17 Dec 2015 18:31:14 +0000 (18:31 +0000)]
Merge "Fix Physical Switch Update Command"

8 years agoMerge "Remove Physical Port by Listening on ConfigDS"
Sam Hague [Thu, 17 Dec 2015 18:30:56 +0000 (18:30 +0000)]
Merge "Remove Physical Port by Listening on ConfigDS"

8 years agoMerge "ManagerUpdate/Remove Command"
Sam Hague [Thu, 17 Dec 2015 18:30:00 +0000 (18:30 +0000)]
Merge "ManagerUpdate/Remove Command"

8 years agoRemove Physical Switch by Listening on DS
Peng Zhang [Thu, 10 Dec 2015 04:35:37 +0000 (12:35 +0800)]
Remove Physical Switch by Listening on DS

PatchSet 2:
1. add mutation to Global table
2. remove a unused import

PatchSet 3:
1. fix typos in postman collection

Change-Id: I7a13208f16feb0a0f3af7a09f2a3a263dcc1f9cf
Signed-off-by: Peng Zhang <pzhang@ctbri.com.cn>
8 years agoFix Physical Switch Update Command
Peng Zhang [Wed, 16 Dec 2015 09:42:16 +0000 (17:42 +0800)]
Fix Physical Switch Update Command

Change-Id: Ibcb66f43bead8b381f8f6ad98050401c2e8b5de1
Signed-off-by: Peng Zhang <pzhang@ctbri.com.cn>
8 years agosouthbound should only monitor Open_vSwitch tables
Sam Hague [Tue, 15 Dec 2015 19:13:58 +0000 (14:13 -0500)]
southbound should only monitor Open_vSwitch tables

The patch also adds more clear logging to indicate connection events and indicate which direction the events happened.

Patch Set 4: Review comments. Remove the filter since it doesn't make sense because the caller is asking explictly for the table to monitor.
Patch Set 2, 3: fix unit tests and update commit message

Change-Id: I4ea511906911bf9296e78f57f1b63dc2608c9501
Signed-off-by: Sam Hague <shague@redhat.com>
8 years agoManagerUpdate/Remove Command
karanrajsingh [Tue, 8 Dec 2015 06:44:53 +0000 (12:14 +0530)]
ManagerUpdate/Remove Command

Manager Update and Remove Commands done.Updated as per the comments.
Redundant HwvtepTunnelUpdateCommand.java removed.Tunnel updates would be
handled as a part of PhysicalSwitchUpdate.
Updated as per comment for Patchset4 and Patschset6.
VlanBindings deletion updated in PhysicalPortUpdateCommand.
Updated for comments in Patchset7

Change-Id: I081935a1adbe237e14efb16a0e694e8f912ab617
Signed-off-by: karanrajsingh <karan.raj.s.singh@ericsson.com>
8 years agoBug 4789 - allowed address pair doesn't have port id
Isaku Yamahata [Wed, 16 Dec 2015 05:23:49 +0000 (21:23 -0800)]
Bug 4789 - allowed address pair doesn't have port id

So getPortId, setPortId methods aren't defined.
This is the ovsdb part of Bug 4789.

Change-Id: Id9ad4762b5ed92c5b84e6fab1d7c5135782ca528
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agoRemove Physical Port by Listening on ConfigDS
Peng Zhang [Thu, 10 Dec 2015 05:35:16 +0000 (13:35 +0800)]
Remove Physical Port by Listening on ConfigDS

PatchSet 2:
change according to review comments

Change-Id: I47436608877bfd05985263a6f27837662635bb4a
Signed-off-by: Peng Zhang <pzhang@ctbri.com.cn>
8 years agoBug 4776 - handle cases when network/subnet contains no tentant id
Flavio Fernandes [Tue, 15 Dec 2015 04:27:41 +0000 (23:27 -0500)]
Bug 4776 - handle cases when network/subnet contains no tentant id

When ODL is used with l3 agent and l3_ha subnet/network for handling
keep alive traffic contains no tenant id. Added missing checks that
handle these cases gracefully.

Change-Id: Ia9e2e963bc0d2df6d7a08b493c1f9bbcbae5659f
Signed-off-by: Flavio Fernandes <ffernand@redhat.com>
8 years agoMerge "Bug 4579 - Periodic ARP resolver is missing callback for MAC updates"
Sam Hague [Tue, 15 Dec 2015 02:00:24 +0000 (02:00 +0000)]
Merge "Bug 4579 - Periodic ARP resolver is missing callback for MAC updates"

8 years agoMerge "Require min ovs version for SG IT"
Sam Hague [Tue, 15 Dec 2015 01:57:07 +0000 (01:57 +0000)]
Merge "Require min ovs version for SG IT"

8 years agoRequire min ovs version for SG IT
Sam Hague [Mon, 14 Dec 2015 21:29:46 +0000 (16:29 -0500)]
Require min ovs version for SG IT

Change-Id: I535fcfc5b29a3ddadfd22a7461d252e0899ddcfe
Signed-off-by: Sam Hague <shague@redhat.com>
8 years agoMerge "Remove ovs-sfc bundle"
Sam Hague [Mon, 14 Dec 2015 21:28:09 +0000 (21:28 +0000)]
Merge "Remove ovs-sfc bundle"

8 years agoMerge "Remove commons/parent bundle"
Sam Hague [Mon, 14 Dec 2015 21:28:00 +0000 (21:28 +0000)]
Merge "Remove commons/parent bundle"

8 years agoRemove ovs-sfc bundle
adetalhouet [Mon, 14 Dec 2015 14:50:36 +0000 (09:50 -0500)]
Remove ovs-sfc bundle

Change-Id: I6108515d7cc1738b6fc68f0f9ea7546a21637bc5
Signed-off-by: adetalhouet <adetalhouet@inocybe.com>
8 years agoRemove commons/parent bundle
adetalhouet [Fri, 11 Dec 2015 13:54:45 +0000 (08:54 -0500)]
Remove commons/parent bundle

- Reformat aggregator so they use odlparent and don't deploy themselves as they are used only for build purposes

Change-Id: Ia70c0bff4327d376a985c263569aebbc37cfec32
Signed-off-by: adetalhouet <adetalhouet@inocybe.com>
8 years agoBug 4579 - Periodic ARP resolver is missing callback for MAC updates
Flavio Fernandes [Wed, 9 Dec 2015 12:42:26 +0000 (07:42 -0500)]
Bug 4579 - Periodic ARP resolver is missing callback for MAC updates

Patch set 2: fix formatting

Change-Id: I21523c0c6e06c21f4dbf5b914f5dec625a40ab83
Signed-off-by: Flavio Fernandes <ffernand@redhat.com>
Also-By: Andre Fredette <afredette@redhat.com>
8 years agoMerge "Attempt to fix report in sonar for test coverage"
Sam Hague [Mon, 14 Dec 2015 14:43:31 +0000 (14:43 +0000)]
Merge "Attempt to fix report in sonar for test coverage"

8 years agoAttempt to fix report in sonar for test coverage
adetalhouet [Fri, 11 Dec 2015 22:23:27 +0000 (17:23 -0500)]
Attempt to fix report in sonar for test coverage

Current coverage reported for this class is 1.1%

Change-Id: I41a2498dff15dbb1d474040abd667dfddb33a149
Signed-off-by: adetalhouet <adetalhouet@inocybe.com>
8 years agoClean up ovsdb feature
adetalhouet [Fri, 11 Dec 2015 13:55:31 +0000 (08:55 -0500)]
Clean up ovsdb feature

- Remove ovs-sfc feature
- Move feature-ovsdb under /features
- clean-up feature-ovsdb
- unify version number by using project.version everywhere in the project

Change-Id: I0a795d81e4422a5677981a1396ac36f90e103d35
Signed-off-by: adetalhouet <adetalhouet@inocybe.com>
8 years agoBug 4752 - Distributed arp only needed on compute nodes that have tenant net
Flavio Fernandes [Thu, 10 Dec 2015 15:57:38 +0000 (10:57 -0500)]
Bug 4752 - Distributed arp only needed on compute nodes that have tenant net

Missing logic to avoid adding unnecessary rules for distributed arp in
compute nodes that did not have any tenant vms for a particular
segmentation id

Patch set 2: Fix UT

Change-Id: Ib9183be4bdc6a23e0b748acfff13992e6a36c684
Signed-off-by: Flavio Fernandes <ffernand@redhat.com>
8 years agoMerge "Fold netvirtsfc-env demo into ovsdb project"
Sam Hague [Thu, 10 Dec 2015 15:48:41 +0000 (15:48 +0000)]
Merge "Fold netvirtsfc-env demo into ovsdb project"

8 years agoMerge "Drop dependencies on netty-all"
Sam Hague [Thu, 10 Dec 2015 14:50:07 +0000 (14:50 +0000)]
Merge "Drop dependencies on netty-all"

8 years agoFold netvirtsfc-env demo into ovsdb project
Flavio Fernandes [Thu, 10 Dec 2015 13:55:20 +0000 (08:55 -0500)]
Fold netvirtsfc-env demo into ovsdb project

Keeping the ovsdb netvirt-sfc demo together with the ovsdb project itself.

Original location: https://github.com/flavio-fernandes/netvirtsfc-env

Change-Id: I747694a9860433c4d4deab06aed537ecba1a96f5
Signed-off-by: Flavio Fernandes <ffernand@redhat.com>
8 years agoMerge "Remove Logical Switch by Listening on ConfigDS"
Sam Hague [Thu, 10 Dec 2015 13:32:51 +0000 (13:32 +0000)]
Merge "Remove Logical Switch by Listening on ConfigDS"

8 years agoMerge "Fix Port UUID in hwvtep.yang"
Sam Hague [Thu, 10 Dec 2015 13:32:05 +0000 (13:32 +0000)]
Merge "Fix Port UUID in hwvtep.yang"

8 years agoMerge "Fix "unknown-dst" Exception"
Sam Hague [Thu, 10 Dec 2015 13:31:40 +0000 (13:31 +0000)]
Merge "Fix "unknown-dst" Exception"

8 years agoDrop dependencies on netty-all
Stephen Kitt [Thu, 10 Dec 2015 13:12:34 +0000 (14:12 +0100)]
Drop dependencies on netty-all

Use specific dependencies instead; this also allows ovsdb to depend on
the upstream versions provided by odlparent.

Change-Id: Ice5b76300e08a6985dff9ad10c6ad92476315c7e
Signed-off-by: Stephen Kitt <skitt@redhat.com>
8 years agoRemove Logical Switch by Listening on ConfigDS
Peng Zhang [Thu, 10 Dec 2015 03:20:54 +0000 (11:20 +0800)]
Remove Logical Switch by Listening on ConfigDS

PatchSet 2:
1. change according to review comments

Change-Id: Ia40effbf63a66db94a733d2017009abf18627e79
Signed-off-by: Peng Zhang <pzhang@ctbri.com.cn>
8 years agoAvoid producing controller artifacts
Stephen Kitt [Thu, 10 Dec 2015 09:23:32 +0000 (10:23 +0100)]
Avoid producing controller artifacts

Specify the groupId for artifacts inheriting from
org.opendaylight.controller:config-parent to avoid producing
controller artifacts.

Change-Id: Ic1f8ccbbcc109f9e538d01c6494c33d020b5fe9d
Signed-off-by: Stephen Kitt <skitt@redhat.com>
8 years agoFix Port UUID in hwvtep.yang
Peng Zhang [Thu, 10 Dec 2015 06:01:19 +0000 (14:01 +0800)]
Fix Port UUID in hwvtep.yang

'leaf physical-port-uuid' was within 'list vlan-bindings'. It should not be there
since uuid is an attribute of Port.

Change-Id: I01e1794cdb39b1f93f559df295d38c950dcd2160
Signed-off-by: Peng Zhang <pzhang@ctbri.com.cn>
8 years agoFix "unknown-dst" Exception
Peng Zhang [Wed, 9 Dec 2015 10:57:37 +0000 (18:57 +0800)]
Fix "unknown-dst" Exception

Since the type of mac-entry-key is yang:mac and does not accept "unknown-dst",
use "00:00:00:00:00:00" instead of "unknown-dst".

PatchSet 2:
1. change according review comments
2. delete unused "locator-set-ref" in hwvtep.yang

PatchSet 3:
1. rebase on "Cleanup on Hwvtepsouthbound"

Change-Id: I46258fc749bc0df5608010c0fb76e4c3319dc74f
Signed-off-by: Peng Zhang <pzhang@ctbri.com.cn>
8 years agoMerge "Clean up pom files"
Sam Hague [Thu, 10 Dec 2015 02:20:24 +0000 (02:20 +0000)]
Merge "Clean up pom files"

8 years agoMerge "Clean up hwvtepsouthbound"
Sam Hague [Thu, 10 Dec 2015 02:17:49 +0000 (02:17 +0000)]
Merge "Clean up hwvtepsouthbound"

8 years agoClean up pom files
adetalhouet [Wed, 9 Dec 2015 00:28:53 +0000 (19:28 -0500)]
Clean up pom files

Change-Id: Ifdb9c2bf63249f90b8813cd5fbe67bc80cd772e9
Signed-off-by: adetalhouet <adetalhouet@inocybe.com>
8 years agoMake utils bundles use config-parent
adetalhouet [Wed, 9 Dec 2015 00:27:24 +0000 (19:27 -0500)]
Make utils bundles use config-parent

Instead of using either common or binding-parent use config-parent

Change-Id: I61ab66a511e9c3a372f7bacbd3f053864d048d16
Signed-off-by: adetalhouet <adetalhouet@inocybe.com>
8 years agoMerge "Bug 4735 - null pointer exception in SouthboundImpl"
Sam Hague [Wed, 9 Dec 2015 21:13:42 +0000 (21:13 +0000)]
Merge "Bug 4735 - null pointer exception in SouthboundImpl"

8 years agoMerge "Bug 4734 - netvirt/GatewayMacResolverService: null pinter exception"
Sam Hague [Wed, 9 Dec 2015 21:13:31 +0000 (21:13 +0000)]
Merge "Bug 4734 - netvirt/GatewayMacResolverService: null pinter exception"

8 years agoMerge "Bug 4733 - impl/SecurityServicesImpl.java: null pointer exception"
Sam Hague [Wed, 9 Dec 2015 21:13:06 +0000 (21:13 +0000)]
Merge "Bug 4733 - impl/SecurityServicesImpl.java: null pointer exception"

8 years agoMerge "Bug 4736 - Add null poiner check of getFixedIPs()"
Sam Hague [Wed, 9 Dec 2015 21:12:15 +0000 (21:12 +0000)]
Merge "Bug 4736 - Add null poiner check of getFixedIPs()"

8 years agoDrop duplicate classes
Stephen Kitt [Tue, 8 Dec 2015 18:01:48 +0000 (19:01 +0100)]
Drop duplicate classes

Use a single copy of MdsalUtils, SouthboundUtils, SouthboundConstants
and SouthboundMapper.

Minor clean-ups.

Check the operational ingress flow at the end of testDefaultsSG().

Change-Id: Ib8713f6ad0e8f5eec1693ef36ebf6095fd43ce09
Signed-off-by: Stephen Kitt <skitt@redhat.com>
8 years agoClean up hwvtepsouthbound
Stephen Kitt [Wed, 9 Dec 2015 16:22:33 +0000 (17:22 +0100)]
Clean up hwvtepsouthbound

General code clean-up:
* use optimal operations on maps: iterate over values if only values
  are needed; avoid double gets; use entry sets if both keys and
  values are needed;
* use the single-parameter variant of firstKeyOf();
* drop unused methods, fields and imports;
* limit variable scope;
* use Java 7 <> operator;
* since TyperUtils.extractRows...() never returns null, remove all
  such null-checks and rely on the for loops to check for emptiness.

Change-Id: Id9e4643a46a96d819146b04a146c2ac00c88509d
Signed-off-by: Stephen Kitt <skitt@redhat.com>
8 years agotest code to debug it getFlow errors 2
Sam Hague [Tue, 8 Dec 2015 21:36:09 +0000 (16:36 -0500)]
test code to debug it getFlow errors 2

Change-Id: I0086ddb3f846893c7c48cb24ebf1eaff21a4e5f9
Signed-off-by: Sam Hague <shague@redhat.com>
8 years agoMerge "Adding integration tests for Security Groups (fixed and default SG)"
Sam Hague [Tue, 8 Dec 2015 21:44:19 +0000 (21:44 +0000)]
Merge "Adding integration tests for Security Groups (fixed and default SG)"

8 years agoMerge "Use SouthboundUtils in SouthboundIT"
Sam Hague [Tue, 8 Dec 2015 21:12:39 +0000 (21:12 +0000)]
Merge "Use SouthboundUtils in SouthboundIT"

8 years agoMerge "Extract neutron-utils from mdsal-utils"
Sam Hague [Tue, 8 Dec 2015 20:48:31 +0000 (20:48 +0000)]
Merge "Extract neutron-utils from mdsal-utils"

8 years agoBug 4735 - null pointer exception in SouthboundImpl
Isaku Yamahata [Mon, 7 Dec 2015 23:39:50 +0000 (15:39 -0800)]
Bug 4735 - null pointer exception in SouthboundImpl

This patch adds null pointer check in SouthboundImpl.
NOTE: this patch doesn't address to handle race condition. it only
prevents null pointer exception.

> 2015-12-03 18:52:34,554 | ERROR | ntDispatcherImpl | EventDispatcher                  | 267 - org.opendaylight.ovsdb.openstack.net-virt - 1.2.1.SNAPSHOT | Exception in dispatching event SouthboundEvent [type=PORT, action=DELETE, augmentationData=OvsdbTerminationPointAugmentation{getInterfaceType=class org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.InterfaceTypeInternal, getInterfaceUuid=Uuid [_value=971b84f3-5bff-4368-82b3-6c24aa9cb257], getName=br-int, getOfport=65534, getPortUuid=Uuid [_value=89b73b42-4f07-42f3-b9dc-1ee2b4f6667a]}, node=Node{getNodeId=Uri [_value=ovsdb://uuid/8f75c49c-52b9-4303-8633-a80f0361429b/bridge/br-int], getTerminationPoint=[TerminationPoint{getTpId=Uri [_value=br-int], augmentations={interface org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbTerminationPointAugmentation=OvsdbTerminationPointAugmentation{getInterfaceType=class org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.InterfaceTypeInternal, getInterfaceUuid=Uuid [_value=971b84f3-5bff-4368-82b3-6c24aa9cb257], getName=br-int, getOfport=65534, getPortUuid=Uuid [_value=89b73b42-4f07-42f3-b9dc-1ee2b4f6667a]}}}, TerminationPoint{getTpId=Uri [_value=tap1ecd746e-40], augmentations={interface org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbTerminationPointAugmentation=OvsdbTerminationPointAugmentation{getInterfaceExternalIds=[InterfaceExternalIds{getExternalIdKey=iface-id, getExternalIdValue=1ecd746e-4018-4795-9105-ee70d86449be, augmentations={}}, InterfaceExternalIds{getExternalIdKey=attached-mac, getExternalIdValue=fa:16:3e:c6:03:aa, augmentations={}}, InterfaceExternalIds{getExternalIdKey=iface-status, getExternalIdValue=active, augmentations={}}], getInterfaceType=class org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.InterfaceTypeInternal, getInterfaceUuid=Uuid [_value=e5c88292-80de-41bb-ba83-4869d6a4d013], getName=tap1ecd746e-40, getOfport=1, getPortUuid=Uuid [_value=7d8776ca-5f99-4332-96b3-6e4d04a7f732]}}}, TerminationPoint{getTpId=Uri [_value=patch-ext], augmentations={interface org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbTerminationPointAugmentation=OvsdbTerminationPointAugmentation{getInterfaceType=class org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.InterfaceTypePatch, getInterfaceUuid=Uuid [_value=cf25e881-75c3-4022-9a31-fc5eb7f0edd0], getName=patch-ext, getOfport=2, getOptions=[Options{getOption=peer, getValue=patch-int, augmentations={}}], getPortExternalIds=[PortExternalIds{getExternalIdKey=opendaylight-iid, getExternalIdValue=/network-topology:network-topology/network-topology:topology[network-topology:topology-id='ovsdb:1']/network-topology:node[network-topology:node-id='ovsdb://uuid/8f75c49c-52b9-4303-8633-a80f0361429b/bridge/br-int']/network-topology:termination-point[network-topology:tp-id='patch-ext'], augmentations={}}], getPortUuid=Uuid [_value=b90b5a4b-c32b-4194-a789-cb676c7096f1]}}}], augmentations={interface org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbBridgeAugmentation=OvsdbBridgeAugmentation{getBridgeExternalIds=[BridgeExternalIds{getBridgeExternalIdKey=opendaylight-iid, getBridgeExternalIdValue=/network-topology:network-topology/network-topology:topology[network-topology:topology-id='ovsdb:1']/network-topology:node[network-topology:node-id='ovsdb://uuid/8f75c49c-52b9-4303-8633-a80f0361429b/bridge/br-int'], augmentations={}}], getBridgeName=OvsdbBridgeName [_value=br-int], getBridgeOpenflowNodeRef=KeyedInstanceIdentifier{targetType=interface org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node, path=[org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology, org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology[key=TopologyKey [_topologyId=Uri [_value=ovsdb:1]]], org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node[key=NodeKey [_nodeId=Uri [_value=ovsdb://uuid/8f75c49c-52b9-4303-8633-a80f0361429b]]]]}, getBridgeOtherConfigs=[BridgeOtherConfigs{getBridgeOtherConfigKey=disable-in-band, getBridgeOtherConfigValue=true, augmentations={}}], getBridgeUuid=Uuid [_value=1909fea5-3201-487a-a1f6-09b53d9c4c9d], getControllerEntry=[ControllerEntry{getControllerUuid=Uuid [_value=523b204f-c75a-41cb-b953-ab16dfb29259], getTarget=Uri [_value=tcp:143.183.96.62:6653], isIsConnected=true, augmentations={}}], getDatapathId=DatapathId [_value=00:00:a6:fe:09:19:7a:48], getDatapathType=class org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.DatapathTypeSystem, getFailMode=class org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbFailModeSecure, getManagedBy=OvsdbNodeRef [_value=KeyedInstanceIdentifier{targetType=interface org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node, path=[org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology, org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology[key=TopologyKey [_topologyId=Uri [_value=ovsdb:1]]], org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node[key=NodeKey [_nodeId=Uri [_value=ovsdb://uuid/8f75c49c-52b9-4303-8633-a80f0361429b]]]]}], getProtocolEntry=[ProtocolEntry{getProtocol=class org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbBridgeProtocolOpenflow13, augmentations={}}]}}}]
> java.lang.NullPointerException
>         at org.opendaylight.ovsdb.openstack.netvirt.impl.SouthboundImpl.extractNodeAugmentation(SouthboundImpl.java:427)[267:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
>         at org.opendaylight.ovsdb.openstack.netvirt.impl.SouthboundImpl.getOtherConfig(SouthboundImpl.java:658)[267:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
>         at org.opendaylight.ovsdb.openstack.netvirt.impl.BridgeConfigurationManagerImpl.getAllPhysicalInterfaceNames(BridgeConfigurationManagerImpl.java:264)[267:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
>         at org.opendaylight.ovsdb.openstack.netvirt.SouthboundHandler.processPortDelete(SouthboundHandler.java:136)[267:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
>         at org.opendaylight.ovsdb.openstack.netvirt.SouthboundHandler.processPortEvent(SouthboundHandler.java:289)[267:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
>         at org.opendaylight.ovsdb.openstack.netvirt.SouthboundHandler.processEvent(SouthboundHandler.java:232)[267:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
>         at org.opendaylight.ovsdb.openstack.netvirt.impl.EventDispatcherImpl.dispatchEvent(EventDispatcherImpl.java:94)[267:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
>         at org.opendaylight.ovsdb.openstack.netvirt.impl.EventDispatcherImpl.access$200(EventDispatcherImpl.java:27)[267:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
>         at org.opendaylight.ovsdb.openstack.netvirt.impl.EventDispatcherImpl$1.run(EventDispatcherImpl.java:56)[267:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_45-internal]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_45-internal]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_45-internal]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_45-internal]

Change-Id: I0887d7fd205ba8f743a2730eb6f4b39dddf900e4
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agoUse SouthboundUtils in SouthboundIT
Stephen Kitt [Tue, 8 Dec 2015 08:08:17 +0000 (09:08 +0100)]
Use SouthboundUtils in SouthboundIT

Change-Id: I2fd8466e650df77af031f75cfa36a04275847124
Signed-off-by: Stephen Kitt <skitt@redhat.com>
8 years agoExtract neutron-utils from mdsal-utils
Stephen Kitt [Tue, 8 Dec 2015 08:07:26 +0000 (09:07 +0100)]
Extract neutron-utils from mdsal-utils

NeutronModelsDataStoreHelper adds a dependency on neutron, so it
should really be in its own bundle.

Change-Id: I051b304c77aeee9cbe5a1309bb2f512d87d7387a
Signed-off-by: Stephen Kitt <skitt@redhat.com>
8 years agoMerge "Create McastMacs by Listening DS Changes"
Sam Hague [Tue, 8 Dec 2015 13:47:19 +0000 (13:47 +0000)]
Merge "Create McastMacs by Listening DS Changes"

8 years agoMerge "test code to debug it getFlow errors"
Sam Hague [Tue, 8 Dec 2015 13:39:38 +0000 (13:39 +0000)]
Merge "test code to debug it getFlow errors"

8 years agoAdding integration tests for Security Groups (fixed and default SG)
raveek [Tue, 8 Dec 2015 11:01:36 +0000 (16:31 +0530)]
Adding integration tests for Security Groups (fixed and default SG)

Change-Id: I83eda5e2d78cda71cf9563ed3309af743c212ade
Signed-off-by: raveek <raveek@hp.com>
8 years agoCreate McastMacs by Listening DS Changes
Peng Zhang [Tue, 8 Dec 2015 06:26:28 +0000 (14:26 +0800)]
Create McastMacs by Listening DS Changes

PathSet 2:
1. change according review comments

Change-Id: I446a25ad8a4abed4866285d24442b3405375bdd0
Signed-off-by: Peng Zhang <pzhang@ctbri.com.cn>
8 years agotest code to debug it getFlow errors
Sam Hague [Tue, 8 Dec 2015 02:01:11 +0000 (21:01 -0500)]
test code to debug it getFlow errors

Change-Id: Ieb0acaa495a3e7f917d540d93d95086aa8cd486d
Signed-off-by: Sam Hague <shague@redhat.com>
8 years agoBug 4736 - Add null poiner check of getFixedIPs()
Isaku Yamahata [Tue, 1 Sep 2015 18:49:45 +0000 (11:49 -0700)]
Bug 4736 - Add null poiner check of getFixedIPs()

NeutronPort.getFixedIPs() can return null.  In netvirt code, some
codes have null pointer check, some doesn't inconsistently.  Add null
pointer check consistently to avoid potential null pointer exception.

Change-Id: I69054f21bd2b18d6861e310a2f5e3e34d8b5a6de
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agoBug 4734 - netvirt/GatewayMacResolverService: null pinter exception
Isaku Yamahata [Mon, 7 Dec 2015 23:26:35 +0000 (15:26 -0800)]
Bug 4734 - netvirt/GatewayMacResolverService: null pinter exception

Null pointer exception happens as follows. there is no guarantee that
gatewayToArpMetadataMap caches entry for gatewayIp.  This patch only
addresses null pointer exception. The race condition should be handled
somehow.

> 2015-12-03 18:48:38,091 | ERROR | ntLoopGroup-11-2 | ExecutionList                    | 37 - com.google.guava - 18.0.0 | RuntimeException while executing runnable com.google.common.util.concurrent.Futures$6@4c708463 with executor INSTANCE
> java.lang.NullPointerException
>         at org.opendaylight.ovsdb.openstack.netvirt.providers.openflow13.services.arp.GatewayMacResolverService$3.onSuccess(GatewayMacResolverService.java:262)[268:org.opendaylight.ovsdb.openstack.net-virt-providers:1.2.1.SNAPSHOT]
>         at org.opendaylight.ovsdb.openstack.netvirt.providers.openflow13.services.arp.GatewayMacResolverService$3.onSuccess(GatewayMacResolverService.java:249)[268:org.opendaylight.ovsdb.openstack.net-virt-providers:1.2.1.SNAPSHOT]
>         at com.google.common.util.concurrent.Futures$6.run(Futures.java:1319)[37:com.google.guava:18.0.0]
>         at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:457)[37:com.google.guava:18.0.0]
>         at com.google.common.util.concurrent.ExecutionList.executeListener(ExecutionList.java:156)[37:com.google.guava:18.0.0]
>         at com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:145)[37:com.google.guava:18.0.0]
>         at com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:185)[37:com.google.guava:18.0.0]
>         at com.google.common.util.concurrent.Futures$ChainingListenableFuture$1.run(Futures.java:918)[37:com.google.guava:18.0.0]
>         at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:457)[37:com.google.guava:18.0.0]
>         at com.google.common.util.concurrent.Futures$ImmediateFuture.addListener(Futures.java:106)[37:com.google.guava:18.0.0]
>         at com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:914)[37:com.google.guava:18.0.0]
>         at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:457)[37:com.google.guava:18.0.0]
>         at com.google.common.util.concurrent.ExecutionList.executeListener(ExecutionList.java:156)[37:com.google.guava:18.0.0]
>         at com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:145)[37:com.google.guava:18.0.0]
>         at com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:185)[37:com.google.guava:18.0.0]
>         at com.google.common.util.concurrent.Futures$ChainingListenableFuture$1.run(Futures.java:918)[37:com.google.guava:18.0.0]
>         at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:457)[37:com.google.guava:18.0.0]
>         at com.google.common.util.concurrent.ExecutionList.executeListener(ExecutionList.java:156)[37:com.google.guava:18.0.0]
>         at com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:145)[37:com.google.guava:18.0.0]
>         at com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:185)[37:com.google.guava:18.0.0]
>         at com.google.common.util.concurrent.Futures$ChainingListenableFuture$1.run(Futures.java:918)[37:com.google.guava:18.0.0]
>         at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:457)[37:com.google.guava:18.0.0]
>         at com.google.common.util.concurrent.Futures$ImmediateFuture.addListener(Futures.java:106)[37:com.google.guava:18.0.0]
>         at com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:914)[37:com.google.guava:18.0.0]
>         at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:457)[37:com.google.guava:18.0.0]
>         at com.google.common.util.concurrent.ExecutionList.executeListener(ExecutionList.java:156)[37:com.google.guava:18.0.0]
>         at com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:145)[37:com.google.guava:18.0.0]
>         at com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:185)[37:com.google.guava:18.0.0]
>         at com.google.common.util.concurrent.SettableFuture.set(SettableFuture.java:53)[37:com.google.guava:18.0.0]
>         at org.opendaylight.openflowjava.protocol.impl.core.connection.AbstractRpcListener.successfulRpc(AbstractRpcListener.java:88)[249:org.opendaylight.openflowjava.openflow-protocol-impl:0.7.0.SNAPSHOT]
>         at org.opendaylight.openflowjava.protocol.impl.core.connection.SimpleRpcListener.operationSuccessful(SimpleRpcListener.java:17)[249:org.opendaylight.openflowjava.openflow-protocol-impl:0.7.0.SNAPSHOT]
>         at org.opendaylight.openflowjava.protocol.impl.core.connection.AbstractRpcListener.operationComplete(AbstractRpcListener.java:63)[249:org.opendaylight.openflowjava.openflow-protocol-impl:0.7.0.SNAPSHOT]
>         at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:680)[100:io.netty.common:4.0.30.Final]
>         at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:567)[100:io.netty.common:4.0.30.Final]
>         at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:406)[100:io.netty.common:4.0.30.Final]
>         at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:82)[101:io.netty.transport:4.0.30.Final]
>         at io.netty.channel.ChannelOutboundBuffer.safeSuccess(ChannelOutboundBuffer.java:672)[101:io.netty.transport:4.0.30.Final]
>         at io.netty.channel.ChannelOutboundBuffer.remove(ChannelOutboundBuffer.java:262)[101:io.netty.transport:4.0.30.Final]
>         at io.netty.channel.ChannelOutboundBuffer.removeBytes(ChannelOutboundBuffer.java:342)[101:io.netty.transport:4.0.30.Final]
>         at io.netty.channel.socket.nio.NioSocketChannel.doWrite(NioSocketChannel.java:318)[101:io.netty.transport:4.0.30.Final]
>         at io.netty.channel.AbstractChannel$AbstractUnsafe.flush0(AbstractChannel.java:761)[101:io.netty.transport:4.0.30.Final]
>         at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.flush0(AbstractNioChannel.java:311)[101:io.netty.transport:4.0.30.Final]
>         at io.netty.channel.AbstractChannel$AbstractUnsafe.flush(AbstractChannel.java:729)[101:io.netty.transport:4.0.30.Final]
>         at io.netty.channel.DefaultChannelPipeline$HeadContext.flush(DefaultChannelPipeline.java:1127)[101:io.netty.transport:4.0.30.Final]
>         at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:663)[101:io.netty.transport:4.0.30.Final]
>         at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:644)[101:io.netty.transport:4.0.30.Final]
>         at io.netty.channel.ChannelOutboundHandlerAdapter.flush(ChannelOutboundHandlerAdapter.java:115)[101:io.netty.transport:4.0.30.Final]
>         at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:663)[101:io.netty.transport:4.0.30.Final]
>         at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:644)[101:io.netty.transport:4.0.30.Final]
>         at io.netty.channel.DefaultChannelPipeline.flush(DefaultChannelPipeline.java:897)[101:io.netty.transport:4.0.30.Final]
>         at io.netty.channel.AbstractChannel.flush(AbstractChannel.java:192)[101:io.netty.transport:4.0.30.Final]
>         at org.opendaylight.openflowjava.protocol.impl.core.connection.ChannelOutboundQueue.flush(ChannelOutboundQueue.java:212)[249:org.opendaylight.openflowjava.openflow-protocol-impl:0.7.0.SNAPSHOT]
>         at org.opendaylight.openflowjava.protocol.impl.core.connection.ChannelOutboundQueue.access$000(ChannelOutboundQueue.java:37)[249:org.opendaylight.openflowjava.openflow-protocol-impl:0.7.0.SNAPSHOT]
>         at org.opendaylight.openflowjava.protocol.impl.core.connection.ChannelOutboundQueue$1.run(ChannelOutboundQueue.java:81)[249:org.opendaylight.openflowjava.openflow-protocol-impl:0.7.0.SNAPSHOT]
>         at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:327)[100:io.netty.common:4.0.30.Final]
>         at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350)[101:io.netty.transport:4.0.30.Final]
>         at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:110)[100:io.netty.common:4.0.30.Final]
>         at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)[100:io.netty.common:4.0.30.Final]
>         at java.lang.Thread.run(Thread.java:745)[:1.8.0_45-internal]

Change-Id: I0f7d233b14b672c98ff41d6295eded51da3d4e2a
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agoBug 4733 - impl/SecurityServicesImpl.java: null pointer exception
Isaku Yamahata [Mon, 7 Dec 2015 21:36:48 +0000 (13:36 -0800)]
Bug 4733 - impl/SecurityServicesImpl.java: null pointer exception

This patch masks the following null pointer exception.
The code assumes that there is always nodes(ovs switch) corresponding to
neutron port always exists. But this is not always true because there are
race conditions and some tempests tests only run neutron without nova.
So the code shouldn't assume that nodes always exists and also external
attributes in ovsdb always exists. The latter case will be addressed by
another patch.
NOTE: this patch only addresses null pointer exception. The race condition
should be handled somehow later.

> 2015-12-03 18:48:15,562 | ERROR | ntDispatcherImpl | TenantNetworkManagerImpl         | 267 - org.opendaylight.ovsdb.openstack.net-virt - 1.2.1.SNAPSHOT | Exception during handlingNeutron network delete
> java.lang.NullPointerException
>         at org.opendaylight.ovsdb.openstack.netvirt.impl.SouthboundImpl.extractTerminationPointAugmentations(SouthboundImpl.java:482)[267:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
>         at org.opendaylight.ovsdb.openstack.netvirt.impl.SouthboundImpl.getTerminationPointsOfBridge(SouthboundImpl.java:437)[267:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
>         at org.opendaylight.ovsdb.openstack.netvirt.impl.SecurityServicesImpl.getInterface(SecurityServicesImpl.java:435)[267:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
>         at org.opendaylight.ovsdb.openstack.netvirt.impl.SecurityServicesImpl.syncSecurityRule(SecurityServicesImpl.java:371)[267:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
>         at org.opendaylight.ovsdb.openstack.netvirt.PortSecurityHandler.syncSecurityGroup(PortSecurityHandler.java:165)[267:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
>         at org.opendaylight.ovsdb.openstack.netvirt.PortSecurityHandler.processNeutronSecurityRuleAdded(PortSecurityHandler.java:144)[267:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
>         at org.opendaylight.ovsdb.openstack.netvirt.PortSecurityHandler.processEvent(PortSecurityHandler.java:130)[267:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
>         at org.opendaylight.ovsdb.openstack.netvirt.impl.EventDispatcherImpl.dispatchEvent(EventDispatcherImpl.java:94)[267:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
>         at org.opendaylight.ovsdb.openstack.netvirt.impl.EventDispatcherImpl.access$200(EventDispatcherImpl.java:27)[267:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
>         at org.opendaylight.ovsdb.openstack.netvirt.impl.EventDispatcherImpl$1.run(EventDispatcherImpl.java:56)[267:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_45-internal]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_45-internal]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_45-internal]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_45-internal]
>         at java.lang.Thread.run(Thread.java:745)[:1.8.0_45-internal]

Change-Id: I37e0a72c4bc4361b678f748bf1df6c926c101cb1
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agoCreate UcastMacs by Listening DS Changes
Peng Zhang [Fri, 4 Dec 2015 14:41:30 +0000 (22:41 +0800)]
Create UcastMacs by Listening DS Changes

PathSet 1:
1. create UcastMacsLocal/Remote command
2. add UcastMacs restconf api to postman collection
3. delete physical locator update/remove command

PatchSet 2:
1. change according review comments

PathSet 3:
1. change according review comments

Change-Id: If926651a84d4ae4bac496eb9ca76b36f67b0a3f3
Signed-off-by: Peng Zhang <pzhang@ctbri.com.cn>
8 years agoMerge "standalone demo fixes for SFC model changes"
Sam Hague [Sat, 5 Dec 2015 02:43:03 +0000 (02:43 +0000)]
Merge "standalone demo fixes for SFC model changes"

8 years agoMerge "BUG 4718 - null pointer exception in NeutronSubnetChangeListener.java"
Flavio Fernandes [Sat, 5 Dec 2015 02:32:48 +0000 (02:32 +0000)]
Merge "BUG 4718 - null pointer exception in NeutronSubnetChangeListener.java"

8 years agostandalone demo fixes for SFC model changes
Sam Hague [Fri, 4 Dec 2015 22:36:01 +0000 (17:36 -0500)]
standalone demo fixes for SFC model changes

Change-Id: I8b9d6fac59f3c3002e7af8843df2fcb1d5ab43d8
Signed-off-by: Sam Hague <shague@redhat.com>
8 years agoMerge "Use a logger instead of printStackTrace"
Sam Hague [Fri, 4 Dec 2015 16:19:25 +0000 (16:19 +0000)]
Merge "Use a logger instead of printStackTrace"

8 years agoMerge "Fix updatedUMacsRemoteRows null check"
Flavio Fernandes [Fri, 4 Dec 2015 16:05:15 +0000 (16:05 +0000)]
Merge "Fix updatedUMacsRemoteRows null check"

8 years agoMerge "update IT for new SFC model changes for DPLs"
Sam Hague [Fri, 4 Dec 2015 14:52:29 +0000 (14:52 +0000)]
Merge "update IT for new SFC model changes for DPLs"

8 years agoMerge "OVSDB QoS - move QoS and Queue lists to OVSDB Node"
Sam Hague [Fri, 4 Dec 2015 13:43:32 +0000 (13:43 +0000)]
Merge "OVSDB QoS - move QoS and Queue lists to OVSDB Node"

8 years agoMerge "Create Physical Port By Listening on DS changes"
Sam Hague [Fri, 4 Dec 2015 13:38:43 +0000 (13:38 +0000)]
Merge "Create Physical Port By Listening on DS changes"

8 years agoupdate IT for new SFC model changes for DPLs
Sam Hague [Wed, 2 Dec 2015 23:13:34 +0000 (18:13 -0500)]
update IT for new SFC model changes for DPLs

Change-Id: Ia9f13fb72da10d21d521e5ba1d7746f6980356fe
Signed-off-by: Sam Hague <shague@redhat.com>
8 years agoUse a logger instead of printStackTrace
Stephen Kitt [Fri, 4 Dec 2015 11:36:00 +0000 (12:36 +0100)]
Use a logger instead of printStackTrace

Drop commented code.

local_ip -> localIp to follow conventions.

Change-Id: I6b6f674d70af3eb894819d15fb80b762678e3742
Signed-off-by: Stephen Kitt <skitt@redhat.com>
8 years agoFix updatedUMacsRemoteRows null check
Stephen Kitt [Fri, 4 Dec 2015 10:25:54 +0000 (11:25 +0100)]
Fix updatedUMacsRemoteRows null check

The null check confuses Sonar; since the member variables are never
null (TyperUtils.extractRowsUpdated never returns null), and are only
initialised in the constructor, make them final and drop the null
check. The isEmpty() check is redundant with the for loop.

Remove the logger which isn't used.

Clean up some whitespace issues.

Change-Id: Ia234546957ff11901300149a5bac45c7bc0c9c96
Signed-off-by: Stephen Kitt <skitt@redhat.com>
8 years agoBUG 4718 - null pointer exception in NeutronSubnetChangeListener.java
Isaku Yamahata [Thu, 3 Dec 2015 22:00:20 +0000 (14:00 -0800)]
BUG 4718 - null pointer exception in NeutronSubnetChangeListener.java

When subnet are created/deleted, the following null pointer exception
occurs.
Although the bug highlights only neutron subnet case, this patch
synchronizes null pointer checks in org.opendaylight.ovsdb.openstack.
netvirt.translator.iaware.impl.Neutron*ChangeListener.fromMd() to
the corresponding ones in
org.opendaylight.neutron.transcriber.Neutron*Interface.fromMd()

> 2015-12-03 10:18:45,889 | TRACE | lt-dispatcher-32 | NeutronSubnetChangeListener      | 267 - org.opendaylight.ovsdb.openstack.net-virt - 1.2.1.SNAPSHOT | Data changes : Translated
> DataChangeEvent{created={KeyedInstanceIdentifier{targetType=interface org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.subnets.rev150712.subnets.attributes.subnets.Subnet, pat
> h=[org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.rev150712.Neutron, org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.subnets.rev150712.subnets.attributes.Subnets, org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.subnets.rev150712.subnets.attributes.subnets.Subnet[key=SubnetKey [_uuid=Uuid [_value=0c103011-92f2-4e88-985a-10dd56b67a95]]]]}=Subnet{getAllocationPools=[AllocationPools{getEnd=10.100.0.14, getStart=10.100.0.1, augmentations={}}], getCidr=10.100.0.0/28, getDnsNameservers=[], getIpVersion=class org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.constants.rev150712.IpVersionV4, getName=, getNetworkId=Uuid [_value=17ce32b1-455e-4c2f-8819-b5a1374637ed], getTenantId=Uuid [_value=dee4a5dd-9482-4cf5-9c26-fc492cef01a2], getUuid=Uuid [_value=0c103011-92f2-4e88-985a-10dd56b67a95], isEnableDhcp=true, augmentations={}}}, updated={}, removed=[], dom=DOMImmutableDataChangeEvent [created=[/(urn:opendaylight:neutron?revision=2015-07-12)neutron/subnets/subnet/subnet[{(urn:opendaylight:neutron?revision=2015-07-12)uuid=0c103011-92f2-4e88-985a-10dd56b67a95}]/ip-version, /(urn:opendaylight:neutron?revision=2015-07-12)neutron/subnets/subnet/subnet[{(urn:opendaylight:neutron?revision=2015-07-12)uuid=0c103011-92f2-4e88-985a-10dd56b67a95}]/enable-dhcp, /(urn:opendaylight:neutron?revision=2015-07-12)neutron/subnets/subnet/subnet[{(urn:opendaylight:neutron?revision=2015-07-12)uuid=0c103011-92f2-4e88-985a-10dd56b67a95}]/network-id, /(urn:opendaylight:neutron?revision=2015-07-12)neutron/subnets/subnet/subnet[{(urn:opendaylight:neutron?revision=2015-07-12)uuid=0c103011-92f2-4e88-985a-10dd56b67a95}], /(urn:opendaylight:neutron?revision=2015-07-12)neutron/subnets/subnet/subnet[{(urn:opendaylight:neutron?revision=2015-07-12)uuid=0c103011-92f2-4e88-985a-10dd56b67a95}]/allocation-pools, /(urn:opendaylight:neutron?revision=2015-07-12)neutron/subnets/subnet/subnet[{(urn:opendaylight:neutron?revision=2015-07-12)uuid=0c103011-92f2-4e88-985a-10dd56b67a95}]/tenant-id, /(urn:opendaylight:neutron?revision=2015-07-12)neutron/subnets/subnet/subnet[{(urn:opendaylight:neutron?revision=2015-07-12)uuid=0c103011-92f2-4e88-985a-10dd56b67a95}]/uuid, /(urn:opendaylight:neutron?revision=2015-07-12)neutron/subnets/subnet/subnet[{(urn:opendaylight:neutron?revision=2015-07-12)uuid=0c103011-92f2-4e88-985a-10dd56b67a95}]/name, /(urn:opendaylight:neutron?revision=2015-07-12)neutron/subnets/subnet/subnet[{(urn:opendaylight:neutron?revision=2015-07-12)uuid=0c103011-92f2-4e88-985a-10dd56b67a95}]/dns-nameservers, /(urn:opendaylight:neutron?revision=2015-07-12)neutron/subnets/subnet/subnet[{(urn:opendaylight:neutron?revision=2015-07-12)uuid=0c103011-92f2-4e88-985a-10dd56b67a95}]/cidr], updated=[], removed=[]]}
> 2015-12-03 10:18:45,889 | ERROR | lt-dispatcher-32 | DataChangeListener               | 140 - org.opendaylight.controller.sal-distributed-datastore - 1.3.0.SNAPSHOT | Error notifying listener org.opendaylight.ovsdb.openstack.netvirt.translator.iaware.impl.NeutronSubnetChangeListener
> java.lang.NullPointerException
>         at org.opendaylight.ovsdb.openstack.netvirt.translator.iaware.impl.NeutronSubnetChangeListener.fromMd(NeutronSubnetChangeListener.java:145)[267:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
>         at org.opendaylight.ovsdb.openstack.netvirt.translator.iaware.impl.NeutronSubnetChangeListener.createSubnet(NeutronSubnetChangeListener.java:97)[267:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
>         at org.opendaylight.ovsdb.openstack.netvirt.translator.iaware.impl.NeutronSubnetChangeListener.onDataChanged(NeutronSubnetChangeListener.java:87)[267:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
>         at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatingDataChangeInvoker.onDataChanged(AbstractForwardedDataBroker.java:143)[115:org.opendaylight.controller.sal-binding-broker-impl:1.3.0.SNAPSHOT]
>         at org.opendaylight.controller.cluster.datastore.DataChangeListener.dataChanged(DataChangeListener.java:66)[140:org.opendaylight.controller.sal-distributed-datastore:1.3.0.SNAPSHOT]
>         at org.opendaylight.controller.cluster.datastore.DataChangeListener.handleReceive(DataChangeListener.java:39)[140:org.opendaylight.controller.sal-distributed-datastore:1.3.0.SNAPSHOT]
>         at org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor.onReceive(AbstractUntypedActor.java:34)[136:org.opendaylight.controller.sal-clustering-commons:1.3.0.SNAPSHOT]
>         at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:167)[125:com.typesafe.akka.actor:2.3.14]
>         at akka.actor.Actor$class.aroundReceive(Actor.scala:467)[125:com.typesafe.akka.actor:2.3.14]
>         at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:97)[125:com.typesafe.akka.actor:2.3.14]
>         at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)[125:com.typesafe.akka.actor:2.3.14]
>         at akka.actor.ActorCell.invoke(ActorCell.scala:487)[125:com.typesafe.akka.actor:2.3.14]
>         at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238)[125:com.typesafe.akka.actor:2.3.14]
>         at akka.dispatch.Mailbox.run(Mailbox.scala:220)[125:com.typesafe.akka.actor:2.3.14]
>         at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397)[125:com.typesafe.akka.actor:2.3.14]
>         at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)[122:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
>         at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)[122:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
>         at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)[122:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
>         at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)[122:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]

Change-Id: Icc0957fc961aae7ef277b57df9d8ce4f4b923d24
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agoFix for wrong tun_dst
Sam Hague [Wed, 2 Dec 2015 23:12:42 +0000 (18:12 -0500)]
Fix for wrong tun_dst

Change-Id: Iee2066da9c3f4af393583e013462bf8caa7d96eb
Signed-off-by: Sam Hague <shague@redhat.com>
8 years agoCreate Physical Port By Listening on DS changes
Peng Zhang [Thu, 26 Nov 2015 14:14:22 +0000 (22:14 +0800)]
Create Physical Port By Listening on DS changes

PatchSet 2&3:
share code and change it according comments

PatchSet 4:
rebase on 'Create Physical Switch'

PathchSet 5:
1.rebase on 'Yang changes and cleanup'
2.finish creating physical port
3.rewrite HwvtepOperationalState

PatchSet 6:
change code according comments

PatchSet 7:
rebase on master branch

PathchSet 8:
fix a nullpoint bug

Change-Id: I425336aea3b055ee4d7e75bd26490e194340e3af
Signed-off-by: Peng Zhang <pzhang@ctbri.com.cn>
8 years agoOVSDB QoS - move QoS and Queue lists to OVSDB Node
Eric Multanen [Tue, 1 Dec 2015 21:50:18 +0000 (13:50 -0800)]
OVSDB QoS - move QoS and Queue lists to OVSDB Node

The QoS and Queue tables are root tables in OVSDB.  Updates to
these tables can occur independently from the port table - so
this patch proposes to move lists of QoS and Queue entries to
the ovsdb-node-attributes (i.e. OVSDB Node) object in the MD-SAL.

v2 - removed the 'do not merge' notice from subject line

Change-Id: I77654f144ec6876f0a807b6b723d723e691215f1
Signed-off-by: Eric Multanen <eric.w.multanen@intel.com>
8 years agoBug 4704 - unbreak compile error of missing symbol of getSubnets
Isaku Yamahata [Thu, 3 Dec 2015 00:26:46 +0000 (16:26 -0800)]
Bug 4704 - unbreak compile error of missing symbol of getSubnets

Due to the changeset of neutron nerthbound of
8f43dc56a5e2684ffcc2de4435e87d8ea68a06e6, the following compilation errors
occurs. This patch resolves it by removing those unused functions.
NOTE: This is a compatibility breakage by neutron northbound and such
breakage should be fixed somehow.
Given that the result of getSubnets() will be unreliable (so its usage
is discouraged) and that ovsdb/netvirt already doesn't use
it and related methods, it makes sense to remove references to those
methods.

> [INFO] -------------------------------------------------------------
> [ERROR] COMPILATION ERROR :
> [INFO] -------------------------------------------------------------
> [ERROR] /home/yamahata/openstack/odl/odl/ovsdb/openstack/net-virt/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/translator/iaware/impl/NeutronNetworkChangeListener.java:[131,20] cannot find symbol
>   symbol:   method getSubnets()
>   location: variable network of type org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.Network
> [ERROR] /home/yamahata/openstack/odl/odl/ovsdb/openstack/net-virt/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/translator/iaware/impl/NeutronNetworkChangeListener.java:[133,39] cannot find symbol
>   symbol:   method getSubnets()
>   location: variable network of type org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.Network
> [ERROR] /home/yamahata/openstack/odl/odl/ovsdb/openstack/net-virt/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/translator/crud/impl/NeutronNetworkInterface.java:[137,20] cannot find symbol
>   symbol:   method getSubnets()
>   location: variable network of type org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.Network
> [ERROR] /home/yamahata/openstack/odl/odl/ovsdb/openstack/net-virt/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/translator/crud/impl/NeutronNetworkInterface.java:[139,39] cannot find symbol
>   symbol:   method getSubnets()
>   location: variable network of type org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.Network
> [ERROR] /home/yamahata/openstack/odl/odl/ovsdb/openstack/net-virt/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/translator/crud/impl/NeutronNetworkInterface.java:[239,27] cannot find symbol
>   symbol:   method setSubnets(java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid>)
>   location: variable networkBuilder of type org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.NetworkBuilder

Change-Id: Ifdcc3c71968bfd2e1773b609b36d7902d66a30da
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agoMerge "Delete without reading"
Sam Hague [Wed, 2 Dec 2015 13:59:58 +0000 (13:59 +0000)]
Merge "Delete without reading"

8 years agoDelete without reading
Stephen Kitt [Thu, 26 Nov 2015 08:56:56 +0000 (09:56 +0100)]
Delete without reading

MD-SAL ignores deletions of non-present nodes, so it's safe to delete
without reading first.

Change-Id: I825e46f2e07310d3fddedc1d5200dc80b35d8456
Signed-off-by: Stephen Kitt <skitt@redhat.com>
8 years agoAdd Others Command Skeleton Code
Peng Zhang [Tue, 1 Dec 2015 12:04:28 +0000 (20:04 +0800)]
Add Others Command Skeleton Code

PatchSet2:
rebase on master

PatchSet3:
rebase on "Fix IT tests as per as API change in SFC"

Change-Id: I4b437c6c61f733d91a4bf7b63d8167e2f37f7a85
Signed-off-by: Peng Zhang <pzhang@ctbri.com.cn>
8 years agoMerge "Fix IT tests as per as API change in SFC"
Flavio Fernandes [Tue, 1 Dec 2015 19:18:38 +0000 (19:18 +0000)]
Merge "Fix IT tests as per as API change in SFC"

8 years agoMerge "Yang changes and cleanup"
Sam Hague [Tue, 1 Dec 2015 16:18:12 +0000 (16:18 +0000)]
Merge "Yang changes and cleanup"

8 years agoFix IT tests as per as API change in SFC
adetalhouet [Tue, 1 Dec 2015 16:03:53 +0000 (11:03 -0500)]
Fix IT tests as per as API change in SFC

Those changes were made in SFC:
https://git.opendaylight.org/gerrit/#/c/29303/16/sfc-model/src/main/yang/service-function-forwarder.yang

This patch reflects those changes

Change-Id: I4c07b8b0f9b9e5957b24824fd8da8edd2155cbc6
Signed-off-by: adetalhouet <adetalhouet@inocybe.com>
8 years agoMerge "Avoid exceptions with IPv6 subnets"
Flavio Fernandes [Tue, 1 Dec 2015 13:54:17 +0000 (13:54 +0000)]
Merge "Avoid exceptions with IPv6 subnets"

8 years agoYang changes and cleanup
Vishal Thapar [Tue, 1 Dec 2015 03:59:36 +0000 (09:29 +0530)]
Yang changes and cleanup

This commits changes how locator-sets are defined and used
in yang file. This also includes code changes to accomodate
yang file changes and some refactoring to make code bit more
simpler and added some error checking.

Patchset2:
1. Added uuid fields for some objects
2. Fixes some issues found in testing physicalLocatorUpdate

Change-Id: Ia55a3bbd15030c7a8fb5cf6276e705097e1da57e
Signed-off-by: Vishal Thapar <vishal.thapar@ericsson.com>
8 years agoAvoid exceptions with IPv6 subnets
SridharG [Thu, 26 Nov 2015 15:18:21 +0000 (15:18 +0000)]
Avoid exceptions with IPv6 subnets

In a setup where ODL is used for L2 support and Neutron L3 agent
is used for Routing, we see some Java exceptions when IPv6 subnets
are created. Because of the Java exception, Layer2 connectivity
is lost and we are unable to work with IPv6 subnets. In this patch,
we log an error instead of exception.

Patch set 2: add other places in netvirt code where ipv6 (address and prefix)
             could be used and it would be improperly interpreted.

Patch set 3: minor code review changes.

Change-Id: I4e253f8f86a1a3f027e57861549e9a1f98ff5fbf
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
Signed-off-by: SridharG <sgaddam@redhat.com>
8 years agoMerge "Use odlparent-lite as artifacts parent"
Sam Hague [Mon, 30 Nov 2015 16:36:01 +0000 (16:36 +0000)]
Merge "Use odlparent-lite as artifacts parent"

8 years agoMerge "Create Physical Switch by listening on DS"
Sam Hague [Mon, 30 Nov 2015 16:33:14 +0000 (16:33 +0000)]
Merge "Create Physical Switch by listening on DS"

8 years agoMerge changes from topic 'sonar-cleanup'
Sam Hague [Mon, 30 Nov 2015 16:30:50 +0000 (16:30 +0000)]
Merge changes from topic 'sonar-cleanup'

* changes:
  Remove unused code and imports
  General code cleanup
  Simplify AbstractNeutronInterface::readMd

8 years agoMerge "Drop redundant ofPort check"
Sam Hague [Mon, 30 Nov 2015 16:30:23 +0000 (16:30 +0000)]
Merge "Drop redundant ofPort check"

8 years agoMerge "Inline return values"
Sam Hague [Mon, 30 Nov 2015 16:29:50 +0000 (16:29 +0000)]
Merge "Inline return values"

8 years agoMerge "Added Update and Remove commands code"
Sam Hague [Mon, 30 Nov 2015 16:18:26 +0000 (16:18 +0000)]
Merge "Added Update and Remove commands code"