[NETVIRT-1677] L3VPN Exceptions seen at org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.l3vpn.rev200204.AdjacenciesBuilder.setAdjacency(AdjacenciesBuilder.java:113) ~[?:?] Created: 26/Jun/20  Updated: 29/Jun/20  Resolved: 29/Jun/20

Status: Resolved
Project: netvirt
Component/s: None
Affects Version/s: Aluminium
Fix Version/s: Aluminium

Type: Bug Priority: Medium
Reporter: Srinivas Rachakonda Assignee: Srinivas Rachakonda
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: 0 minutes
Time Spent: 2 days
Original Estimate: Not Specified


 Description   

Post MRI patch merge (List to Map conversion) dual stack network feature got broken in Aluminium and please take a look at the below problem which I have observed in my local TB testing. I will also try to find the appropriate fix to solve this issue. Meantime if you find the fix please let me know.

 

 

Exception while trying to add the second adjacency to the existing VPN interface:

2020-06-26T11:11:24,153 | INFO  | VpnInterfaceManager-0 | VpnInterfaceManager              | 366 - org.opendaylight.netvirt.vpnmanager-impl - 0.11.0.SNAPSHOT | add: intfName a24d4cb8-b431-4174-a1f7-7ddd8eae2eb3 onto vpnName [73d6297b-fe26-4563-a228-496ad11f1178]

2020-06-26T11:11:24,156 | ERROR | jobcoordinator-main-task-9 | NeutronvpnManager                | 360 - org.opendaylight.netvirt.neutronvpn-impl - 0.11.0.SNAPSHOT | Future (eventually) failed: addSubnetToVpn: Failed while creating VPN interface for vpnId 73d6297b-fe26-4563-a228-496ad11f1178, portId Uuid{_value=6673c43c-9731-4e17-aef0-c4c8abf42829}a5a9eed3-9d77-4ce0-870e-94adb2b89f15, subnetId {}

java.lang.IllegalArgumentException: Multiple entries with same key: AdjacencyKey{_ipAddress=10.0.0.2/32}=Adjacency{_adjacencyType=PrimaryAdjacency, _ipAddress=10.0.0.2/32, _macAddress=fa:16:3e:97:64:b9, _subnetId=Uuid{_value=125223dd-be4a-404a-b34a-5fcac0b609d3}, augmentation=[]} and AdjacencyKey{_ipAddress=10.0.0.2/32}=Adjacency{getAdjacencyType=PrimaryAdjacency, getIpAddress=10.0.0.2/32, getMacAddress=fa:16:3e:97:64:b9, getSubnetId=Uuid{_value=125223dd-be4a-404a-b34a-5fcac0b609d3}, isPhysNetworkFunc=false, augmentation=[]}. To index multiple values under a key, use Multimaps.index.

            at com.google.common.collect.Maps.uniqueIndex(Maps.java:1338) ~[bundleFile:?]

            at com.google.common.collect.Maps.uniqueIndex(Maps.java:1293) ~[bundleFile:?]

            at org.opendaylight.yangtools.yang.binding.CodeHelpers.compatMap(CodeHelpers.java:296) ~[bundleFile:?]

            at org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.l3vpn.rev200204.AdjacenciesBuilder.setAdjacency(AdjacenciesBuilder.java:113) ~[?:?]

            at org.opendaylight.netvirt.neutronvpn.NeutronvpnManager.createPortIpAdjacencies(NeutronvpnManager.java:868) ~[?:?]

            at org.opendaylight.netvirt.neutronvpn.NeutronvpnManager.lambda$addSubnetToVpn$1(NeutronvpnManager.java:1663) ~[?:?]

            at org.opendaylight.genius.infra.ManagedTransactionFactoryImpl.lambda$callWithNewTransactionAndSubmit$3(ManagedTransactionFactoryImpl.java:89) ~[bundleFile:?]

            at org.opendaylight.genius.infra.ManagedTransactionFactoryImpl.applyWithNewTransactionAndSubmit(ManagedTransactionFactoryImpl.java:105) ~[bundleFile:?]

            at org.opendaylight.genius.infra.ManagedTransactionFactoryImpl.callWithNewTransactionAndSubmit(ManagedTransactionFactoryImpl.java:88) ~[bundleFile:?]

            at org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl.callWithNewWriteOnlyTransactionAndSubmit(ManagedNewTransactionRunnerImpl.java:63) ~[bundleFile:?]

            at org.opendaylight.netvirt.neutronvpn.NeutronvpnManager.lambda$addSubnetToVpn$2(NeutronvpnManager.java:1661) [bundleFile:?]

            at org.opendaylight.infrautils.jobcoordinator.internal.JobCoordinatorImpl$MainTask.run(JobCoordinatorImpl.java:416) [bundleFile:?]

            at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1426) [?:?]

            at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290) [?:?]

            at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020) [?:?]

            at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656) [?:?]

            at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594) [?:?]

            at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177) [?:?]



 Comments   
Comment by Karthikeyan Krishnan [ 29/Jun/20 ]

Fix[0] got merged into Aluminium release.

 

[0]https://git.opendaylight.org/gerrit/c/netvirt/+/90728

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