Bug 1487792 - Java.lang.IllegalArgumentException: All keys must be specified for class org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn.instance.op.data.VpnInstanceOpDataEntryKey. Missing key is getVrfId. Supplied key is VpnInstanceOpDataEntryK
Summary: Java.lang.IllegalArgumentException: All keys must be specified for class org....
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: opendaylight
Version: 12.0 (Pike)
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: beta
: 13.0 (Queens)
Assignee: Sam Hague
QA Contact: Sai Sindhur Malleni
URL:
Whiteboard: scale_lab
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-09-01 22:45 UTC by Sai Sindhur Malleni
Modified: 2018-10-18 07:22 UTC (History)
5 users (show)

Fixed In Version: opendaylight-6.2.0-4
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
N/A
Last Closed: 2018-06-27 13:36:15 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
OpenDaylight Bug NETVIRT-828 None None None 2018-02-26 15:17:09 UTC
OpenDaylight gerrit 61804 None None None 2018-02-26 15:20:11 UTC
Red Hat Product Errata RHEA-2018:2086 None None None 2018-06-27 13:37:07 UTC

Description Sai Sindhur Malleni 2017-09-01 22:45:24 UTC
Description of problem:

When running a Browbeat+Rally use case which does:
Create a network
Create a sbunet
Create a router
Attach router to subnet and oublic network
Boot VM with floating IP
Ping VM

with concurrency 8 and times set to 50 we see that some VMs remain unpingable even after 300 seconds and we see a lot of the following exceptions in karaf logs
Java.lang.IllegalArgumentException: All keys must be specified for class org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn.instance.op.data.VpnInstanceOpDataEntryKey. Missing key is getVrfId. Supplied key is VpnInstanceOpDataEntryKey []
        at com.google.common.base.Preconditions.checkArgument(Preconditions.java:145)[65:com.google.guava:18.0.0]
        at org.opendaylight.yangtools.binding.data.codec.impl.ValueContext.getAndSerialize(ValueContext.java:43)[117:org.opendaylight.mdsal.binding-dom-codec:0.10.2.Carbon]
        at org.opendaylight.yangtools.binding.data.codec.impl.IdentifiableItemCodec.serialize(IdentifiableItemCodec.java:116)[117:org.opendaylight.mdsal.binding-dom-codec:0.10.2.Carbon]
        at org.opendaylight.yangtools.binding.data.codec.impl.IdentifiableItemCodec.serialize(IdentifiableItemCodec.java:30)[117:org.opendaylight.mdsal.binding-dom-codec:0.10.2.Carbon]
        at org.opendaylight.yangtools.binding.data.codec.impl.KeyedListNodeCodecContext.addYangPathArgument(KeyedListNodeCodecContext.java:52)[117:org.opendaylight.mdsal.binding-dom-codec:0.10.2.Carbon]
        at org.opendaylight.yangtools.binding.data.codec.impl.DataObjectCodecContext.bindingPathArgumentChild(DataObjectCodecContext.java:187)[117:org.opendaylight.mdsal.binding-dom-codec:0.10.2.Carbon]
        at org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.getCodecContextNode(BindingCodecContext.java:127)[117:org.opendaylight.mdsal.binding-dom-codec:0.10.2.Carbon]
        at org.opendaylight.yangtools.binding.data.codec.impl.InstanceIdentifierCodec.serialize(InstanceIdentifierCodec.java:29)[117:org.opendaylight.mdsal.binding-dom-codec:0.10.2.Carbon]
        at org.opendaylight.yangtools.binding.data.codec.impl.InstanceIdentifierCodec.serialize(InstanceIdentifierCodec.java:19)[117:org.opendaylight.mdsal.binding-dom-codec:0.10.2.Carbon]
        at org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry.toYangInstanceIdentifier(BindingNormalizedNodeCodecRegistry.java:87)[117:org.opendaylight.mdsal.binding-dom-codec:0.10.2.Carbon]
        at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toYangInstanceIdentifierBlocking(BindingToNormalizedNodeCodec.java:101)[173:org.opendaylight.controller.sal-binding-broker-impl:1.5.2.Carbon]
        at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedTransaction.doRead(AbstractForwardedTransaction.java:64)[173:org.opendaylight.controller.sal-binding-broker-impl:1.5.2.Carbon]
        at org.opendaylight.controller.md.sal.binding.impl.BindingDOMReadTransactionAdapter.read(BindingDOMReadTransactionAdapter.java:31)[173:org.opendaylight.controller.sal-binding-broker-impl:1.5.2.Carbon]
        at org.opendaylight.genius.datastoreutils.SingleTransactionDataBroker.syncReadOptionalAndTreatReadFailedExceptionAsAbsentOptional(SingleTransactionDataBroker.java:158)[319:org.opendaylight.genius.mdsalutil-api:0.2.2.Carbon]
        at org.opendaylight.netvirt.natservice.internal.NatEvpnUtil.getVpnInstanceOpData(NatEvpnUtil.java:133)[369:org.opendaylight.netvirt.natservice-impl:0.4.2.Carbon]
        at org.opendaylight.netvirt.natservice.internal.NatEvpnUtil.getL3Vni(NatEvpnUtil.java:124)[369:org.opendaylight.netvirt.natservice-impl:0.4.2.Carbon]
        at org.opendaylight.netvirt.natservice.internal.NatEvpnUtil.releaseLPortTagForRouter(NatEvpnUtil.java:76)[369:org.opendaylight.netvirt.natservice-impl:0.4.2.Carbon]
        at org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.removeNaptSwitch(ExternalRoutersListener.java:1792)[369:org.opendaylight.netvirt.natservice-impl:0.4.2.Carbon]
        at org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.handleDisableSnat(ExternalRoutersListener.java:1676)[369:org.opendaylight.netvirt.natservice-impl:0.4.2.Carbon]
        at org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.remove(ExternalRoutersListener.java:1644)[369:org.opendaylight.netvirt.natservice-impl:0.4.2.Carbon]
        at org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.remove(ExternalRoutersListener.java:139)[369:org.opendaylight.netvirt.natservice-impl:0.4.2.Carbon]
        at org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase$DataTreeChangeHandler.run(AsyncDataTreeChangeListenerBase.java:151)[319:org.opendaylight.genius.mdsalutil-api:0.2.2.Carbon]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)[:1.8.0_141]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)[:1.8.0_141]
        at java.lang.Thread.run(Thread.java:748)[:1.8.0_141]


Version-Release number of selected component (if applicable):
ODL Caarbon+OSP12
opendaylight/6.2.0-0.1.20170829rel1948.el7.noarch
python-networking-odl-11.0.0-0.20170806093629.2e78dca.el7ost.noarch

How reproducible:
100%


Steps to Reproduce:
1. Deploy overcloud with ODL
2. Run custom Browbeat+Rally plugin which boots vm and pings floatingip
3. 

Actual results:
Tracebacks in karaf logs

Expected results:
No tracebacks in karaf

Additional info:

Comment 3 Tim Rozet 2018-02-14 20:26:56 UTC
Can you please link the gerrit fix in the external tracker?

Comment 4 Lon Hohberger 2018-03-07 13:52:10 UTC
According to our records, this should be resolved by opendaylight-6.2.0-4.el7ost.  This build is available now.

Comment 8 Sai Sindhur Malleni 2018-04-15 13:26:05 UTC
Running the usecase mentioned above, the exception is no longer seen in karaf logs.

Comment 10 errata-xmlrpc 2018-06-27 13:36:15 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2018:2086


Note You need to log in before you can comment on or make changes to this bug.