Uploaded image for project: 'netconf'
  1. netconf
  2. NETCONF-384

FilterContentValidator.getKeyValues creates invalid YII key values

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Resolution: Done
    • None
    • None
    • netconf
    • None
    • Operating System: All
      Platform: All

    • 8084

    Description

      FilterContentValidator always creates string key values:

      final Optional<String> keyValue = childElements.get().getOnlyTextContentOptionally();
      if (keyValue.isPresent())

      { keys.put(qName, keyValue.get()); }

      ...

      as a consequence such YII cannot be translated to II using mdsal's BindingToNormalizedNodeCodec (issue similar to https://bugs.opendaylight.org/show_bug.cgi?id=7759):

      2017-03-27 11:44:47.558 CEST [netconf-netty-1] ERROR o.o.n.i.o.NetconfOperationRouterImpl - Unexpected exception during netconf operation execution
      java.lang.ClassCastException: java.lang.String cannot be cast to org.opendaylight.yangtools.yang.common.QName
      at org.opendaylight.yangtools.binding.data.codec.impl.IdentityCodec.deserialize(IdentityCodec.java:17) ~[mdsal-binding-dom-codec-0.9.3-SNAPSHOT.jar:na]
      at org.opendaylight.yangtools.binding.data.codec.impl.ValueContext.deserialize(ValueContext.java:50) ~[mdsal-binding-dom-codec-0.9.3-SNAPSHOT.jar:na]
      at org.opendaylight.yangtools.binding.data.codec.impl.IdentifiableItemCodec.deserialize(IdentifiableItemCodec.java:101) ~[mdsal-binding-dom-codec-0.9.3-SNAPSHOT.jar:na]
      at org.opendaylight.yangtools.binding.data.codec.impl.IdentifiableItemCodec.deserialize(IdentifiableItemCodec.java:30) ~[mdsal-binding-dom-codec-0.9.3-SNAPSHOT.jar:na]
      at org.opendaylight.yangtools.binding.data.codec.impl.KeyedListNodeCodecContext.getBindingPathArgument(KeyedListNodeCodecContext.java:73) ~[mdsal-binding-dom-codec-0.9.3-SNAPSHOT.jar:na]
      at org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.getCodecContextNode(BindingCodecContext.java:169) ~[mdsal-binding-dom-codec-0.9.3-SNAPSHOT.jar:na]
      at org.opendaylight.yangtools.binding.data.codec.impl.InstanceIdentifierCodec.deserialize(InstanceIdentifierCodec.java:36) ~[mdsal-binding-dom-codec-0.9.3-SNAPSHOT.jar:na]
      at org.opendaylight.yangtools.binding.data.codec.impl.InstanceIdentifierCodec.deserialize(InstanceIdentifierCodec.java:19) ~[mdsal-binding-dom-codec-0.9.3-SNAPSHOT.jar:na]
      at org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry.fromYangInstanceIdentifier(BindingNormalizedNodeCodecRegistry.java:92) ~[mdsal-binding-dom-codec-0.9.3-SNAPSHOT.jar:na]
      at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.fromYangInstanceIdentifier(BindingToNormalizedNodeCodec.java:171) ~[sal-binding-broker-impl-1.4.3-SNAPSHOT.jar:na]

      Issue is present in Carbon (logs are for boron-SR3 with https://git.opendaylight.org/gerrit/#/c/53678/)

      It applies only to netconf get/get-config.
      Edit-config is fine (uses DomToNormalizedNodeParserFactory)
      Restconf get/put are also fine (RestCodec is used).

      Attachments

        # Subject Branch Project Status CR V

        Activity

          People

            miroslav.kovac@pantheon.tech Miroslav Kovac
            mgradzki Marek Gradzki
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: