Uploaded image for project: 'mdsal'
  1. mdsal
  2. MDSAL-528

Failed to find leafref target using specific combination of leafref and grouping

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Medium Medium
    • 6.0.0, 5.0.10, 4.0.12
    • None
    • None
    • None

      Failed to find leafref target using specific combination of leafref and grouping, where grouping contains two leafrefs. One is pointing to the second and the second is pointing outside of grouping using relative paths.

      For better understanding look at this gerrit change containing model and test for it - https://git.opendaylight.org/gerrit/c/mdsal/+/88124

      If leafref-2 does not use relative path (but absolute) OR leafref-1 does not exists OR we grouping is not used, then everything seems working.

      This is simplified case of this openconfig ACL model - https://github.com/openconfig/public/blob/master/release/models/acl/openconfig-acl.yang

      Thrown error:

      java.lang.IllegalArgumentException: Failed to find leafref target: ../../leaf-1 in module specific-grouping-leafref (QNameModule{ns=odl:test:leafref:grouping:nested, rev=2020-02-28})
      	at com.google.common.base.Preconditions.checkArgument(Preconditions.java:459)
      	at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.provideTypeForLeafref(AbstractTypeProvider.java:553)
      	at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.javaTypeForLeafrefOrIdentityRef(AbstractTypeProvider.java:301)
      	at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.javaTypeForSchemaDefinitionType(AbstractTypeProvider.java:198)
      	at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.javaTypeForSchemaDefinitionType(AbstractTypeProvider.java:161)
      	at org.opendaylight.mdsal.binding.generator.spi.TypeProvider.javaTypeForSchemaDefinitionType(TypeProvider.java:41)
      	at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.resolveTypeFromDataSchemaNode(AbstractTypeProvider.java:726)
      	at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.provideTypeForLeafref(AbstractTypeProvider.java:564)
      	at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.javaTypeForLeafrefOrIdentityRef(AbstractTypeProvider.java:301)
      	at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.javaTypeForSchemaDefinitionType(AbstractTypeProvider.java:198)
      	at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.resolveLeafSchemaNodeAsMethod(AbstractTypeGenerator.java:1441)
      	at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.addSchemaNodeToBuilderAsMethod(AbstractTypeGenerator.java:1139)
      	at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.resolveDataSchemaNodes(AbstractTypeGenerator.java:1092)
      	at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.containerToGenType(AbstractTypeGenerator.java:308)
      	at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.addSchemaNodeToBuilderAsMethod(AbstractTypeGenerator.java:1143)
      	at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.resolveDataSchemaNodes(AbstractTypeGenerator.java:1092)
      	at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.groupingsToGenTypes(AbstractTypeGenerator.java:762)
      	at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.moduleToGenTypes(AbstractTypeGenerator.java:240)
      	at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.<init>(AbstractTypeGenerator.java:205)
      	at org.opendaylight.mdsal.binding.generator.impl.CodegenTypeGenerator.<init>(CodegenTypeGenerator.java:33)
      	at org.opendaylight.mdsal.binding.generator.impl.DefaultBindingGenerator.generateFor(DefaultBindingGenerator.java:76)
      	at org.opendaylight.mdsal.binding.generator.impl.DefaultBindingGenerator.generateFor(DefaultBindingGenerator.java:43)

            rovarga Robert Varga
            samuel.kontris Samuel Kontris
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: