[OVSDB-325] plugin is not able to delete local mcast mac entry from operational ds Created: 18/Mar/16  Updated: 30/Oct/17  Resolved: 19/Apr/16

Status: Resolved
Project: ovsdb
Component/s: Southbound.hw_vtep
Affects Version/s: unspecified
Fix Version/s: None

Type: Bug
Reporter: suneel verma Assignee: Vishal Thapar
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: File operational.topology    
External issue ID: 5556

 Description   

plugin is not able to delete ucast mac local entry from operational ds

Following msgs are from karaf.log
Attached the output from operational topology.

2016-03-18 11:39:01,308 | TRACE | ntLoopGroup-11-1 | JsonRpcEndpoint | 213 - org.opendaylight.ovsdb.library - 1.2.2.SNAPSHOT | Request : null "update" ["ba8f3c8a-5ae5-4e36-bd6e-eb3fa44c5431",{"Physical_Locator":{"4cacb63a-4ff4-4376-9b42-e2c87fb50a4d":{"old":

{"bfd":["map",[]],"_uuid":["uuid","4cacb63a-4ff4-4376-9b42-e2c87fb50a4d"],"_version":["uuid","d04b9b39-1438-4625-94e1-0c9ef82aebbf"],"dst_ip":"10.10.10.10","bfd_status":["map",[]],"encapsulation_type":"vxlan_over_ipv4"}

}},"Physical_Locator_Set":{"a315f653-8aee-43ee-bf39-8bdc0a9e68c6":{"old":

{"locators":["uuid","4cacb63a-4ff4-4376-9b42-e2c87fb50a4d"],"_uuid":["uuid","a315f653-8aee-43ee-bf39-8bdc0a9e68c6"],"_version":["uuid","ead71bfd-f52e-4981-8ebe-c2d96aa70b77"]}

}},"Mcast_Macs_Local":{"ce08af18-b755-4030-857f-2fa1e25f1bc5":{"old":{"ipaddr":"","_uuid":["uuid","ce08af18-b755-4030-857f-2fa1e25f1bc5"],"_version":["uuid","c93c4957-e11f-43e2-bb3a-493caa722c25"],"locator_set":["uuid","a315f653-8aee-43ee-bf39-8bdc0a9e68c6"],"logical_switch":["uuid","1ba43e0c-fbb9-465a-8e2a-729ed20960f0"],"MAC":"unknown-dst"}}}}]
2016-03-18 11:39:01,316 | TRACE | ntLoopGroup-11-1 | HwvtepMonitorCallback | 228 - org.opendaylight.ovsdb.hwvtepsouthbound-impl - 1.2.2.SNAPSHOT | result: TableUpdates [map={Physical_Locator_Set=TableUpdate [{a315f653-8aee-43ee-bf39-8bdc0a9e68c6=RowUpdate [uuid=a315f653-8aee-43ee-bf39-8bdc0a9e68c6, oldRow=Row [columns={_version=[_version=ead71bfd-f52e-4981-8ebe-c2d96aa70b77], _uuid=[_uuid=a315f653-8aee-43ee-bf39-8bdc0a9e68c6], locators=[locators=[4cacb63a-4ff4-4376-9b42-e2c87fb50a4d]]}], newRow=null]}], Physical_Locator=TableUpdate [{4cacb63a-4ff4-4376-9b42-e2c87fb50a4d=RowUpdate [uuid=4cacb63a-4ff4-4376-9b42-e2c87fb50a4d, oldRow=Row [columns={_version=[_version=d04b9b39-1438-4625-94e1-0c9ef82aebbf], bfd=[bfd={}], dst_ip=[dst_ip=10.10.10.10], bfd_status=[bfd_status={}], encapsulation_type=[encapsulation_type=vxlan_over_ipv4], _uuid=[_uuid=4cacb63a-4ff4-4376-9b42-e2c87fb50a4d]}], newRow=null]}], Mcast_Macs_Local=TableUpdate [{ce08af18-b755-4030-857f-2fa1e25f1bc5=RowUpdate [uuid=ce08af18-b755-4030-857f-2fa1e25f1bc5, oldRow=Row [columns={_version=[_version=c93c4957-e11f-43e2-bb3a-493caa722c25], logical_switch=[logical_switch=1ba43e0c-fbb9-465a-8e2a-729ed20960f0], ipaddr=[ipaddr=], locator_set=[locator_set=a315f653-8aee-43ee-bf39-8bdc0a9e68c6], MAC=[MAC=unknown-dst], _uuid=[_uuid=ce08af18-b755-4030-857f-2fa1e25f1bc5]}], newRow=null]}]}, error=null, details=null, getError()=null, getDetails()=null, getClass()=class org.opendaylight.ovsdb.lib.message.TableUpdates, hashCode()=924916088, toString()=org.opendaylight.ovsdb.lib.message.TableUpdates@37211978] dbSchema: hardware_vtep

2016-03-18 11:39:01,318 | WARN | n-invoker-impl-0 | TransactionInvokerImpl | 228 - org.opendaylight.ovsdb.hwvtepsouthbound-impl - 1.2.2.SNAPSHOT | Exception invoking Transaction:
java.lang.IllegalArgumentException: All keys must be specified for class org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.LocalMcastMacsKey. Missing key is getLogicalSwitchRef. Supplied key is LocalMcastMacsKey [_macEntryKey=MacAddress [_value=00:00:00:00:00:00]]
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:145)[39:com.google.guava:18.0.0]
at org.opendaylight.yangtools.binding.data.codec.impl.ValueContext.getAndSerialize(ValueContext.java:46)[86:org.opendaylight.mdsal.binding-dom-codec:0.8.1.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.IdentifiableItemCodec.serialize(IdentifiableItemCodec.java:124)[86:org.opendaylight.mdsal.binding-dom-codec:0.8.1.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.IdentifiableItemCodec.serialize(IdentifiableItemCodec.java:31)[86:org.opendaylight.mdsal.binding-dom-codec:0.8.1.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.KeyedListNodeCodecContext.addYangPathArgument(KeyedListNodeCodecContext.java:52)[86:org.opendaylight.mdsal.binding-dom-codec:0.8.1.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.DataObjectCodecContext.bindingPathArgumentChild(DataObjectCodecContext.java:193)[86:org.opendaylight.mdsal.binding-dom-codec:0.8.1.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.getCodecContextNode(BindingCodecContext.java:127)[86:org.opendaylight.mdsal.binding-dom-codec:0.8.1.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.InstanceIdentifierCodec.serialize(InstanceIdentifierCodec.java:29)[86:org.opendaylight.mdsal.binding-dom-codec:0.8.1.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.InstanceIdentifierCodec.serialize(InstanceIdentifierCodec.java:19)[86:org.opendaylight.mdsal.binding-dom-codec:0.8.1.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry.toYangInstanceIdentifier(BindingNormalizedNodeCodecRegistry.java:87)[86:org.opendaylight.mdsal.binding-dom-codec:0.8.1.SNAPSHOT]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toYangInstanceIdentifierBlocking(BindingToNormalizedNodeCodec.java:99)[121:org.opendaylight.controller.sal-binding-broker-impl:1.3.1.SNAPSHOT]
at org.opendaylight.controller.md.sal.binding.impl.AbstractWriteTransaction.doDelete(AbstractWriteTransaction.java:129)[121:org.opendaylight.controller.sal-binding-broker-impl:1.3.1.SNAPSHOT]
at org.opendaylight.controller.md.sal.binding.impl.BindingDOMWriteTransactionAdapter.delete(BindingDOMWriteTransactionAdapter.java:73)[121:org.opendaylight.controller.sal-binding-broker-impl:1.3.1.SNAPSHOT]
at org.opendaylight.ovsdb.hwvtepsouthbound.transactions.md.MacEntriesRemoveCommand.removeMcastMacsLocal(MacEntriesRemoveCommand.java:108)[228:org.opendaylight.ovsdb.hwvtepsouthbound-impl:1.2.2.SNAPSHOT]
at org.opendaylight.ovsdb.hwvtepsouthbound.transactions.md.MacEntriesRemoveCommand.execute(MacEntriesRemoveCommand.java:59)[228:org.opendaylight.ovsdb.hwvtepsouthbound-impl:1.2.2.SNAPSHOT]
at org.opendaylight.ovsdb.hwvtepsouthbound.transactions.md.HwvtepOperationalCommandAggregator.execute(HwvtepOperationalCommandAggregator.java:46)[228:org.opendaylight.ovsdb.hwvtepsouthbound-impl:1.2.2.SNAPSHOT]
at org.opendaylight.ovsdb.hwvtepsouthbound.transactions.md.TransactionInvokerImpl.run(TransactionInvokerImpl.java:88)[228:org.opendaylight.ovsdb.hwvtepsouthbound-impl:1.2.2.SNAPSHOT]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)[:1.7.0_85]
at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_85]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_85]



 Comments   
Comment by suneel verma [ 18/Mar/16 ]

Attachment operational.topology has been added with description: operational topology output

Comment by Vishal Thapar [ 29/Mar/16 ]

Mac updates/deletes in OperDS require LogicalSwitch name for instance identifier. But row updates from HWVTEP device don't contain LogicalSwitch updates which means we can't get logical switch name to create IID.

Comment by Vishal Thapar [ 29/Mar/16 ]

Gerrit: https://git.opendaylight.org/gerrit/#/c/36846/

Generated at Wed Feb 07 20:36:06 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.