Details
-
Bug
-
Status: Resolved
-
Resolution: Done
-
None
-
None
-
None
-
None
-
Operating System: Mac OS
Platform: PC
-
1467
Description
Not sure if related to https://bugs.opendaylight.org/show_bug.cgi?id=1466 or one more issue around Choice/Groups
I have the following model:
grouping ip-port-locator {
description
"Data plane-locator. The Service Function Forwarder uses the IP:port tuple
to send packets to this Service Function.";
leaf ip
leaf port
{ type inet:port-number; }}
grouping mac-address-locator {
description
"Data plane-locator. The Service Function Forwarder uses the mac-address
to send packets to this Service Function.";
leaf mac
}
grouping data-plane-locator {
choice locator-type {
mandatory true;
case ip
case mac
{ uses mac-address-locator; } }
}
}
In OnDataChanged() when I issue a getCreatedData, I get:
2014-08-01 09:03:31.618 PDT [pool-15-thread-1] WARN o.o.y.s.b.g.i.RuntimeGeneratedMappingServiceImpl - Failed to deserialize path KeyedInstanceIdentifier
{targetType=interface org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.sf.rev140701.service.functions.ServiceFunction, path=[org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.sf.rev140701.ServiceFunctions, org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.sf.rev140701.service.functions.ServiceFunction[key=ServiceFunctionKey [_name=fw-ca]]]} data Node[ImmutableCompositeNode], qName[service-function], modify[n/a], children.size = 5
2014-08-01 09:03:31.633 PDT [pool-15-thread-1] WARN o.o.c.m.s.b.i.AbstractForwardedDataBroker - Failed to transform (urn:cisco:params:xml:ns:yang:sfc-sf?revision=2014-07-01)service-functions/(urn:cisco:params:xml:ns:yang:sfc-sf?revision=2014-07-01)service-function/(urn:cisco:params:xml:ns:yang:sfc-sf?revision=2014-07-01)service-function[
]=ImmutableMapEntryNode{nodeIdentifier=(urn:cisco:params:xml:ns:yang:sfc-sf?revision=2014-07-01)service-function[
{(urn:cisco:params:xml:ns:yang:sfc-sf?revision=2014-07-01)name=fw-ca}], value=[ImmutableContainerNode{nodeIdentifier=(urn:cisco:params:xml:ns:yang:sfc-sf?revision=2014-07-01)sf-data-plane-locator, value=[ImmutableChoiceNode{nodeIdentifier=(urn:cisco:params:xml:ns:yang:sfc-sf?revision=2014-07-01)locator-type, value=[ImmutableLeafNode{nodeIdentifier=(urn:cisco:params:xml:ns:yang:sfc-sf?revision=2014-07-01)ip, value=172.16.155.100, attributes={}}, ImmutableLeafNode{nodeIdentifier=(urn:cisco:params:xml:ns:yang:sfc-sf?revision=2014-07-01)port, value=5050, attributes={}}]}], attributes={}}, ImmutableLeafNode{nodeIdentifier=(urn:cisco:params:xml:ns:yang:sfc-sf?revision=2014-07-01)ip-mgmt-address, value=2001::2, attributes={}}, ImmutableLeafNode{nodeIdentifier=(urn:cisco:params:xml:ns:yang:sfc-sf?revision=2014-07-01)service-function-forwarder, value=ovs-1, attributes={}}, ImmutableLeafNode{nodeIdentifier=(urn:cisco:params:xml:ns:yang:sfc-sf?revision=2014-07-01)name, value=fw-ca, attributes={}}, ImmutableLeafNode{nodeIdentifier=(urn:cisco:params:xml:ns:yang:sfc-sf?revision=2014-07-01)type, value=firewall, attributes={}}], attributes={}}, omitting it
org.opendaylight.yangtools.yang.data.impl.codec.DeserializationException: Data deserialization failed
at org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl.dataObjectFromDataDom(RuntimeGeneratedMappingServiceImpl.java:299) ~[bundlefile:na]
at org.opendaylight.controller.config.yang.md.sal.binding.impl.RuntimeMappingModule$RuntimeGeneratedMappingServiceProxy.dataObjectFromDataDom(RuntimeMappingModule.java:145) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toBinding(BindingToNormalizedNodeCodec.java:259) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toBinding(BindingToNormalizedNodeCodec.java:272) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker.toBinding(AbstractForwardedDataBroker.java:106) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatedDataChangeEvent.getCreatedData(AbstractForwardedDataBroker.java:223) [bundlefile:na]
at org.opendaylight.sfc.provider.SfcProviderSfEntryDataListener.onDataChanged(SfcProviderSfEntryDataListener.java:81) [bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatingDataChangeInvoker.onDataChanged(AbstractForwardedDataBroker.java:198) [bundlefile:na]
at org.opendaylight.controller.md.sal.dom.store.impl.ChangeListenerNotifyTask.run(ChangeListenerNotifyTask.java:33) [bundlefile:na]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [na:1.7.0_60]
at java.util.concurrent.FutureTask.run(FutureTask.java:262) [na:1.7.0_60]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_60]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_60]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_60]
Caused by: org.opendaylight.yangtools.sal.binding.generator.impl.TransformerGeneratorException: Failed to generate for type interface org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.sl.rev140701.data.plane.locator.locator.type.Mac
at org.opendaylight.yangtools.sal.binding.generator.impl.TransformerGeneratorException.wrap(TransformerGeneratorException.java:18) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.AbstractTransformerGenerator.caseCodecFor(AbstractTransformerGenerator.java:117) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.LazyGeneratedCodecRegistry.getCaseCodecFor(LazyGeneratedCodecRegistry.java:412) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.LazyGeneratedCodecRegistry$DispatchChoiceCodecImpl.tryToLoadImplementation(LazyGeneratedCodecRegistry.java:1031) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.LazyGeneratedCodecRegistry$DispatchChoiceCodecImpl.tryToLoadImplementation(LazyGeneratedCodecRegistry.java:1020) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.LazyGeneratedCodecRegistry$DispatchChoiceCodecImpl.tryToLoadImplementations(LazyGeneratedCodecRegistry.java:1045) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.LazyGeneratedCodecRegistry$DispatchChoiceCodecImpl.adaptForPathImpl(LazyGeneratedCodecRegistry.java:1055) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.LazyGeneratedCodecRegistry$LocationAwareDispatchCodec.adaptForPath(LazyGeneratedCodecRegistry.java:789) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.LazyGeneratedCodecRegistry$LocationAwareDispatchCodec.deserialize(LazyGeneratedCodecRegistry.java:709) ~[bundlefile:na]
at org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.sl.rev140701.data.plane.locator.LocatorType$Broker$Codec$DOM.fromDomStatic(LocatorType$Broker$Codec$DOM.java) ~[na:na]
at org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.sf.rev140701.service.function.entry.SfDataPlaneLocator$Broker$Codec$DOM.fromDomStatic(SfDataPlaneLocator$Broker$Codec$DOM.java) ~[na:na]
at org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.sf.rev140701.service.functions.ServiceFunction$Broker$Codec$DOM.fromDomStatic(ServiceFunction$Broker$Codec$DOM.java) ~[na:na]
at org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.sf.rev140701.service.functions.ServiceFunction$Broker$Codec$DOM.deserialize(ServiceFunction$Broker$Codec$DOM.java) ~[na:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.LazyGeneratedCodecRegistry$DataContainerCodecImpl.deserialize(LazyGeneratedCodecRegistry.java:641) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl.dataObjectFromDataDom(RuntimeGeneratedMappingServiceImpl.java:291) ~[bundlefile:na]
... 13 common frames omitted