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

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

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Medium
    • Resolution: Done
    • None
    • 6.0.0, 5.0.10, 4.0.12
    • None
    • None

    Description

      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)

      Attachments

        Issue Links

          # Subject Branch Project Status CR V

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: