<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:56:33 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>OpenDaylight JIRA</title>
    <link>https://jira.opendaylight.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>8.20.10</version>
        <build-number>820010</build-number>
        <build-date>22-06-2022</build-date>
    </build-info>


<item>
            <title>[CONTROLLER-1827] Cannot read CSS configuration through netconf/restconf</title>
                <link>https://jira.opendaylight.org/browse/CONTROLLER-1827</link>
                <project id="10113" key="CONTROLLER">controller</project>
                    <description>&lt;p&gt;When reading the whole css configuration&#160; through netconf/restconf we end up with the folowing YT error:&lt;/p&gt;


&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;2018-05-02 05:13:27,997 | WARN | qtp603191920-264 | BrokerFacade | 407 - org.opendaylight.netconf.sal-rest-connector - 1.6.3 | Error reading / from datastore CONFIGURATION ReadFailedException{message=read execution failed, errorList=[RpcError [message=read execution failed, severity=ERROR, errorType=APPLICATION, tag=operation-failed, applicationTag=null, info=null, cause=java.lang.IllegalArgumentException: Failed to parse data response [data: null]]]} at org.opendaylight.controller.md.sal.common.api.data.ReadFailedException$1.newWithCause(ReadFailedException.java:26)[324:org.opendaylight.controller.sal-common-api:1.6.3] at org.opendaylight.controller.md.sal.common.api.data.ReadFailedException$1.newWithCause(ReadFailedException.java:23)[324:org.opendaylight.controller.sal-common-api:1.6.3] at org.opendaylight.yangtools.util.concurrent.ExceptionMapper.apply(ExceptionMapper.java:88)[65:org.opendaylight.yangtools.util:1.2.3] at org.opendaylight.yangtools.util.concurrent.ExceptionMapper.apply(ExceptionMapper.java:38)[65:org.opendaylight.yangtools.util:1.2.3] at org.opendaylight.yangtools.util.concurrent.MappingCheckedFuture.mapException(MappingCheckedFuture.java:61)[65:org.opendaylight.yangtools.util:1.2.3] at org.opendaylight.yangtools.util.concurrent.MappingCheckedFuture.wrapInExecutionException(MappingCheckedFuture.java:65)[65:org.opendaylight.yangtools.util:1.2.3] at org.opendaylight.yangtools.util.concurrent.MappingCheckedFuture.get(MappingCheckedFuture.java:78)[65:org.opendaylight.yangtools.util:1.2.3] at com.google.common.util.concurrent.Uninterruptibles.getUninterruptibly(Uninterruptibles.java:142)[13:com.google.guava:22.0.0] at com.google.common.util.concurrent.Futures.getDone(Futures.java:1279)[13:com.google.guava:22.0.0] at com.google.common.util.concurrent.Futures$CallbackListener.run(Futures.java:1226)[13:com.google.guava:22.0.0] at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)[13:com.google.guava:22.0.0] at com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:911)[13:com.google.guava:22.0.0] at com.google.common.util.concurrent.AbstractFuture.complete(AbstractFuture.java:822)[13:com.google.guava:22.0.0] at com.google.common.util.concurrent.AbstractFuture.setException(AbstractFuture.java:686)[13:com.google.guava:22.0.0] at com.google.common.util.concurrent.AbstractTransformFuture.run(AbstractTransformFuture.java:112)[13:com.google.guava:22.0.0] at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)[13:com.google.guava:22.0.0] at com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:911)[13:com.google.guava:22.0.0] at com.google.common.util.concurrent.AbstractFuture.complete(AbstractFuture.java:822)[13:com.google.guava:22.0.0] at com.google.common.util.concurrent.AbstractFuture.setException(AbstractFuture.java:686)[13:com.google.guava:22.0.0] at com.google.common.util.concurrent.AbstractTransformFuture.run(AbstractTransformFuture.java:137)[13:com.google.guava:22.0.0] at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)[13:com.google.guava:22.0.0] at com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:911)[13:com.google.guava:22.0.0] at com.google.common.util.concurrent.AbstractFuture.complete(AbstractFuture.java:822)[13:com.google.guava:22.0.0] at com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:664)[13:com.google.guava:22.0.0] at org.opendaylight.netconf.sal.connect.netconf.listener.UncancellableFuture.set(UncancellableFuture.java:44) at org.opendaylight.netconf.sal.connect.netconf.listener.NetconfDeviceCommunicator.processMessage(NetconfDeviceCommunicator.java:335) at org.opendaylight.netconf.sal.connect.netconf.listener.NetconfDeviceCommunicator.onMessage(NetconfDeviceCommunicator.java:267) at org.opendaylight.netconf.sal.connect.netconf.listener.NetconfDeviceCommunicator.onMessage(NetconfDeviceCommunicator.java:48) at org.opendaylight.netconf.nettyutil.AbstractNetconfSession.handleMessage(AbstractNetconfSession.java:65) at org.opendaylight.netconf.nettyutil.AbstractNetconfSession.handleMessage(AbstractNetconfSession.java:35) at org.opendaylight.protocol.framework.AbstractProtocolSession.channelRead0(AbstractProtocolSession.java:53) at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)[20:io.netty.transport:4.1.8.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)[20:io.netty.transport:4.1.8.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349)[20:io.netty.transport:4.1.8.Final] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341)[20:io.netty.transport:4.1.8.Final] at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293)[15:io.netty.codec:4.1.8.Final] at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267)[15:io.netty.codec:4.1.8.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)[20:io.netty.transport:4.1.8.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349)[20:io.netty.transport:4.1.8.Final] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341)[20:io.netty.transport:4.1.8.Final] at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293)[15:io.netty.codec:4.1.8.Final] at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267)[15:io.netty.codec:4.1.8.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)[20:io.netty.transport:4.1.8.Final] at io.netty.channel.AbstractChannelHandlerContext.access$600(AbstractChannelHandlerContext.java:38)[20:io.netty.transport:4.1.8.Final] at io.netty.channel.AbstractChannelHandlerContext$7.run(AbstractChannelHandlerContext.java:354)[20:io.netty.transport:4.1.8.Final] at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)[17:io.netty.common:4.1.8.Final] at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403)[17:io.netty.common:4.1.8.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:445)[20:io.netty.transport:4.1.8.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)[17:io.netty.common:4.1.8.Final] at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)[17:io.netty.common:4.1.8.Final] at java.lang.Thread.run(Thread.java:748)[:1.8.0_161] Caused by: java.lang.IllegalArgumentException: Failed to parse data response [data: null] at org.opendaylight.netconf.sal.connect.netconf.schema.mapping.NetconfMessageTransformer.toRpcResult(NetconfMessageTransformer.java:199) at org.opendaylight.netconf.sal.connect.netconf.schema.mapping.NetconfMessageTransformer.toRpcResult(NetconfMessageTransformer.java:58) at org.opendaylight.netconf.sal.connect.netconf.sal.NetconfDeviceRpc.lambda$invokeRpc$1(NetconfDeviceRpc.java:64) at com.google.common.util.concurrent.AbstractTransformFuture$TransformFuture.doTransform(AbstractTransformFuture.java:239)[13:com.google.guava:22.0.0] at com.google.common.util.concurrent.AbstractTransformFuture$TransformFuture.doTransform(AbstractTransformFuture.java:229)[13:com.google.guava:22.0.0] at com.google.common.util.concurrent.AbstractTransformFuture.run(AbstractTransformFuture.java:130)[13:com.google.guava:22.0.0] ... 31 more

Caused by: java.lang.IllegalArgumentException: Parsed QName (urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:v1:codec?revision=2016-07-14)binding-codec-tree-factory does not refer to a valid identity at org.opendaylight.yangtools.yang.data.util.codec.IdentityCodecUtil.parseIdentity(IdentityCodecUtil.java:59) at org.opendaylight.yangtools.yang.data.codec.xml.IdentityrefXmlCodec.parseValue(IdentityrefXmlCodec.java:39)[69:org.opendaylight.yangtools.yang-data-codec-xml:1.2.3] at org.opendaylight.yangtools.yang.data.codec.xml.IdentityrefXmlCodec.parseValue(IdentityrefXmlCodec.java:23)[69:org.opendaylight.yangtools.yang-data-codec-xml:1.2.3] at org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.translateValueByType(XmlParserStream.java:453)[69:org.opendaylight.yangtools.yang-data-codec-xml:1.2.3] at org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.setValue(XmlParserStream.java:435)[69:org.opendaylight.yangtools.yang-data-codec-xml:1.2.3] at org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.read(XmlParserStream.java:279)[69:org.opendaylight.yangtools.yang-data-codec-xml:1.2.3] at org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.read(XmlParserStream.java:373)[69:org.opendaylight.yangtools.yang-data-codec-xml:1.2.3] at org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.read(XmlParserStream.java:373)[69:org.opendaylight.yangtools.yang-data-codec-xml:1.2.3] at org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.read(XmlParserStream.java:297)[69:org.opendaylight.yangtools.yang-data-codec-xml:1.2.3] at org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.read(XmlParserStream.java:373)[69:org.opendaylight.yangtools.yang-data-codec-xml:1.2.3] at org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.read(XmlParserStream.java:373)[69:org.opendaylight.yangtools.yang-data-codec-xml:1.2.3] at org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.parse(XmlParserStream.java:191)[69:org.opendaylight.yangtools.yang-data-codec-xml:1.2.3] at org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.traverse(XmlParserStream.java:220)[69:org.opendaylight.yangtools.yang-data-codec-xml:1.2.3] at org.opendaylight.netconf.sal.connect.netconf.schema.mapping.NetconfMessageTransformer.toRpcResult(NetconfMessageTransformer.java:196) ... 36 more
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;This can break the netconf CSIT jobs that use NetconfReady test suite. This test suite tries to test readiness of the whole netconf stack by creating a loopback connection to CSS netconf endpoint and reading the whole CSS configuration through RESTCONF and this loopback. This does not succeed and ends with the above mentioned error.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;You can see such failure here:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/netconf-csit-3node-clustering-all-nitrogen/384/robot-plugin/log.html.gz#s1-s1-t1-k3-k1-k1-k1-k1-k4-k1-k1-k1-k4-k4-k1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/netconf-csit-3node-clustering-all-nitrogen/384/robot-plugin/log.html.gz#s1-s1-t1-k3-k1-k1-k1-k1-k4-k1-k1-k1-k4-k4-k1&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
        <key id="29914">CONTROLLER-1827</key>
            <summary>Cannot read CSS configuration through netconf/restconf</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="1" iconUrl="https://jira.opendaylight.org/images/icons/priorities/blocker.svg">Highest</priority>
                        <status id="5" iconUrl="https://jira.opendaylight.org/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10001">Won&apos;t Do</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="JMorvay">Jakub Morvay</reporter>
                        <labels>
                    </labels>
                <created>Thu, 3 May 2018 18:11:52 +0000</created>
                <updated>Thu, 10 May 2018 17:17:16 +0000</updated>
                            <resolved>Thu, 10 May 2018 17:17:08 +0000</resolved>
                                    <version>Nitrogen</version>
                    <version>Oxygen</version>
                    <version>Fluorine</version>
                                    <fixVersion>Fluorine</fixVersion>
                    <fixVersion>Oxygen SR2</fixVersion>
                    <fixVersion>Nitrogen SR3</fixVersion>
                                    <component>config</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="62814" author="ecelgp" created="Thu, 3 May 2018 18:41:20 +0000"  >&lt;p&gt;Looking at the netconf tests in question, it seems they were failing for quite some time, any idea when this issue started?&lt;/p&gt;</comment>
                            <comment id="62815" author="jmorvay" created="Thu, 3 May 2018 18:51:52 +0000"  >&lt;p&gt;I guess this was introduced with this one &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/69075/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/69075/&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;So either CSS is creating wrong XML as a response to &amp;lt;get-config&amp;gt; rpc or some CSS module configuration is not correct and we don&apos;t catch this on CSS side.&lt;/p&gt;</comment>
                            <comment id="62818" author="rovarga" created="Thu, 3 May 2018 21:41:52 +0000"  >&lt;p&gt;Yeah, can we capture the input XML, to see if it&apos;s well formed?&lt;/p&gt;</comment>
                            <comment id="62819" author="jmorvay" created="Thu, 3 May 2018 21:53:02 +0000"  >&lt;p&gt;You mean the problematic CSS module config or just the response of the &amp;lt;get-config&amp;gt;  RPC directly? Both of them should be easy to get (at least theoretically).. For the latter one, we just have to turn on the DEBUG logs for sal.netconf.connector something and read the config DS through RESTCONF or directly manually issue the &amp;lt;get-config&amp;gt; rpc over the SSH session.. And from that we can see what part of config is not valid.. I can try to get this response tomorrow..&lt;/p&gt;</comment>
                            <comment id="62820" author="rovarga" created="Thu, 3 May 2018 22:39:53 +0000"  >&lt;p&gt;Yeah, we need netconf - layer data, first the document to see if it is well formed (to a certain whether XML parser is okay). If the XML document is wrong, then we need NormalizedNode dump before it is encoded.  If the data is wrong, we&apos;ll need to dig deeper...&lt;/p&gt;</comment>
                            <comment id="62826" author="jmorvay" created="Fri, 4 May 2018 06:30:53 +0000"  >&lt;p&gt;I don&apos;t think the CSS netconf endpoint actually uses normalized nodes.. If I recall this correctly, ConfigSubsystemFacade creates the XML according to its internal mapping of created CSS modules and QNames. Not really sure about this I would have to check the implementation.&lt;/p&gt;

&lt;p&gt;Anyway, thinking about this once over again, is this really a blocker? I mean the CSS is already deprecated in Nitrogen and it still should be able to create modules. The only thing that is broken is that we cannot get the CSS config through loopback connection and maybe also we cannot push the config over the loopback. I am not sure if the latter is guaranteed in Nitrogen anyway..&lt;/p&gt;</comment>
                            <comment id="62828" author="rovarga" created="Fri, 4 May 2018 07:14:39 +0000"  >&lt;p&gt;Fair point on NormalizedNodes, but even though CSS is deprecated, it should continue to work &#8211; can you capture the output XML, please?&lt;/p&gt;</comment>
                            <comment id="62829" author="jmorvay" created="Fri, 4 May 2018 10:20:25 +0000"  >&lt;p&gt; Here it is&lt;br/&gt;
&lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/attachment/14635/14635_CSS-config&quot; title=&quot;CSS-config attached to CONTROLLER-1827&quot;&gt;CSS-config&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;https://jira.opendaylight.org/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;</comment>
                            <comment id="62830" author="jmorvay" created="Fri, 4 May 2018 10:29:24 +0000"  >&lt;p&gt;We can focus for example just on odl-bmp-impl-cfg,&lt;/p&gt;


&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;GET restconf/config/network-topology:network-topology/topology/topology-netconf/node/test-device/yang-ext:mount/config:modules/module/odl-bmp-impl-cfg:bmp-monitor-impl/example-bmp-monitor 
fails with:
2018-05-04 12:25:39,888 | DEBUG | oupCloseable-3-1 | NetconfDeviceCommunicator        | 406 - org.opendaylight.netconf.sal-netconf-connector - 1.6.3 | RemoteDevice{test-device}: Message received &amp;lt;rpc-reply xmlns=&quot;urn:ietf:params:xml:ns:netconf:base:1.0&quot; message-id=&quot;m-1&quot;&amp;gt;
&amp;lt;data&amp;gt;
&amp;lt;modules xmlns=&quot;urn:opendaylight:params:xml:ns:yang:controller:config&quot;&amp;gt;
&amp;lt;module&amp;gt;
&amp;lt;type xmlns:prefix=&quot;urn:opendaylight:params:xml:ns:yang:controller:bmp:impl&quot;&amp;gt;prefix:bmp-monitor-impl&amp;lt;/type&amp;gt;
&amp;lt;name&amp;gt;example-bmp-monitor&amp;lt;/name&amp;gt;
&amp;lt;extensions xmlns=&quot;urn:opendaylight:params:xml:ns:yang:controller:bmp:impl&quot;&amp;gt;
&amp;lt;type xmlns:prefix=&quot;urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:spi&quot;&amp;gt;prefix:extensions&amp;lt;/type&amp;gt;
&amp;lt;name&amp;gt;global-rib-extensions&amp;lt;/name&amp;gt;
&amp;lt;/extensions&amp;gt;
&amp;lt;binding-address xmlns=&quot;urn:opendaylight:params:xml:ns:yang:controller:bmp:impl&quot;&amp;gt;0.0.0.0&amp;lt;/binding-address&amp;gt;
&amp;lt;codec-tree-factory xmlns=&quot;urn:opendaylight:params:xml:ns:yang:controller:bmp:impl&quot;&amp;gt;
&amp;lt;type xmlns:prefix=&quot;urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:v1:codec&quot;&amp;gt;prefix:binding-codec-tree-factory&amp;lt;/type&amp;gt;
&amp;lt;name&amp;gt;runtime-mapping-singleton&amp;lt;/name&amp;gt;
&amp;lt;/codec-tree-factory&amp;gt;
&amp;lt;dom-data-provider xmlns=&quot;urn:opendaylight:params:xml:ns:yang:controller:bmp:impl&quot;&amp;gt;
&amp;lt;type xmlns:prefix=&quot;urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom&quot;&amp;gt;prefix:dom-async-data-broker&amp;lt;/type&amp;gt;
&amp;lt;name&amp;gt;pingpong-broker&amp;lt;/name&amp;gt;
&amp;lt;/dom-data-provider&amp;gt;
&amp;lt;bmp-dispatcher xmlns=&quot;urn:opendaylight:params:xml:ns:yang:controller:bmp:impl&quot;&amp;gt;
&amp;lt;type xmlns:prefix=&quot;urn:opendaylight:params:xml:ns:yang:controller:bmp:impl&quot;&amp;gt;prefix:bmp-dispatcher&amp;lt;/type&amp;gt;
&amp;lt;name&amp;gt;global-bmp-dispatcher&amp;lt;/name&amp;gt;
&amp;lt;/bmp-dispatcher&amp;gt;
&amp;lt;binding-port xmlns=&quot;urn:opendaylight:params:xml:ns:yang:controller:bmp:impl&quot;&amp;gt;12345&amp;lt;/binding-port&amp;gt;
&amp;lt;/module&amp;gt;
&amp;lt;/modules&amp;gt;
&amp;lt;/data&amp;gt;
&amp;lt;/rpc-reply&amp;gt;

2018-05-04 12:25:39,892 | WARN  | oupCloseable-3-1 | NetconfRpcFutureCallback         | 406 - org.opendaylight.netconf.sal-netconf-connector - 1.6.3 | RemoteDevice{test-device}: Data read failed.
java.lang.IllegalArgumentException: Failed to parse data response [data: null]
	at org.opendaylight.netconf.sal.connect.netconf.schema.mapping.NetconfMessageTransformer.toRpcResult(NetconfMessageTransformer.java:199)[406:org.opendaylight.netconf.sal-netconf-connector:1.6.3]
	at org.opendaylight.netconf.sal.connect.netconf.schema.mapping.NetconfMessageTransformer.toRpcResult(NetconfMessageTransformer.java:58)[406:org.opendaylight.netconf.sal-netconf-connector:1.6.3]
	at org.opendaylight.netconf.sal.connect.netconf.sal.NetconfDeviceRpc.lambda$invokeRpc$1(NetconfDeviceRpc.java:64)[406:org.opendaylight.netconf.sal-netconf-connector:1.6.3]
	at com.google.common.util.concurrent.AbstractTransformFuture$TransformFuture.doTransform(AbstractTransformFuture.java:239)[13:com.google.guava:22.0.0]
	at com.google.common.util.concurrent.AbstractTransformFuture$TransformFuture.doTransform(AbstractTransformFuture.java:229)[13:com.google.guava:22.0.0]
	at com.google.common.util.concurrent.AbstractTransformFuture.run(AbstractTransformFuture.java:130)[13:com.google.guava:22.0.0]
	at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)[13:com.google.guava:22.0.0]
	at com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:911)[13:com.google.guava:22.0.0]
	at com.google.common.util.concurrent.AbstractFuture.complete(AbstractFuture.java:822)[13:com.google.guava:22.0.0]
	at com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:664)[13:com.google.guava:22.0.0]
	at org.opendaylight.netconf.sal.connect.netconf.listener.UncancellableFuture.set(UncancellableFuture.java:44)[406:org.opendaylight.netconf.sal-netconf-connector:1.6.3]
	at org.opendaylight.netconf.sal.connect.netconf.listener.NetconfDeviceCommunicator.processMessage(NetconfDeviceCommunicator.java:335)[406:org.opendaylight.netconf.sal-netconf-connector:1.6.3]
	at org.opendaylight.netconf.sal.connect.netconf.listener.NetconfDeviceCommunicator.onMessage(NetconfDeviceCommunicator.java:267)[406:org.opendaylight.netconf.sal-netconf-connector:1.6.3]
	at org.opendaylight.netconf.sal.connect.netconf.listener.NetconfDeviceCommunicator.onMessage(NetconfDeviceCommunicator.java:48)[406:org.opendaylight.netconf.sal-netconf-connector:1.6.3]
	at org.opendaylight.netconf.nettyutil.AbstractNetconfSession.handleMessage(AbstractNetconfSession.java:65)[403:org.opendaylight.netconf.netty-util:1.3.3]
	at org.opendaylight.netconf.nettyutil.AbstractNetconfSession.handleMessage(AbstractNetconfSession.java:35)[403:org.opendaylight.netconf.netty-util:1.3.3]
	at org.opendaylight.protocol.framework.AbstractProtocolSession.channelRead0(AbstractProtocolSession.java:53)[58:org.opendaylight.netconf.protocol-framework:1.0.3]
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)[20:io.netty.transport:4.1.8.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)[20:io.netty.transport:4.1.8.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349)[20:io.netty.transport:4.1.8.Final]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341)[20:io.netty.transport:4.1.8.Final]
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293)[15:io.netty.codec:4.1.8.Final]
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267)[15:io.netty.codec:4.1.8.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)[20:io.netty.transport:4.1.8.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349)[20:io.netty.transport:4.1.8.Final]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341)[20:io.netty.transport:4.1.8.Final]
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293)[15:io.netty.codec:4.1.8.Final]
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267)[15:io.netty.codec:4.1.8.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)[20:io.netty.transport:4.1.8.Final]
	at io.netty.channel.AbstractChannelHandlerContext.access$600(AbstractChannelHandlerContext.java:38)[20:io.netty.transport:4.1.8.Final]
	at io.netty.channel.AbstractChannelHandlerContext$7.run(AbstractChannelHandlerContext.java:354)[20:io.netty.transport:4.1.8.Final]
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)[17:io.netty.common:4.1.8.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403)[17:io.netty.common:4.1.8.Final]
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:445)[20:io.netty.transport:4.1.8.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)[17:io.netty.common:4.1.8.Final]
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)[17:io.netty.common:4.1.8.Final]
	at java.lang.Thread.run(Thread.java:748)[:1.8.0_144]
Caused by: java.lang.IllegalArgumentException: Parsed QName (urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:v1:codec?revision=2016-07-14)binding-codec-tree-factory does not refer to a valid identity
	at org.opendaylight.yangtools.yang.data.util.codec.IdentityCodecUtil.parseIdentity(IdentityCodecUtil.java:59)[71:org.opendaylight.yangtools.yang-data-util:1.2.3]
	at org.opendaylight.yangtools.yang.data.codec.xml.IdentityrefXmlCodec.parseValue(IdentityrefXmlCodec.java:39)[69:org.opendaylight.yangtools.yang-data-codec-xml:1.2.3]
	at org.opendaylight.yangtools.yang.data.codec.xml.IdentityrefXmlCodec.parseValue(IdentityrefXmlCodec.java:23)[69:org.opendaylight.yangtools.yang-data-codec-xml:1.2.3]
	at org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.translateValueByType(XmlParserStream.java:453)[69:org.opendaylight.yangtools.yang-data-codec-xml:1.2.3]
	at org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.setValue(XmlParserStream.java:435)[69:org.opendaylight.yangtools.yang-data-codec-xml:1.2.3]
	at org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.read(XmlParserStream.java:279)[69:org.opendaylight.yangtools.yang-data-codec-xml:1.2.3]
	at org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.read(XmlParserStream.java:373)[69:org.opendaylight.yangtools.yang-data-codec-xml:1.2.3]
	at org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.read(XmlParserStream.java:373)[69:org.opendaylight.yangtools.yang-data-codec-xml:1.2.3]
	at org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.read(XmlParserStream.java:297)[69:org.opendaylight.yangtools.yang-data-codec-xml:1.2.3]
	at org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.read(XmlParserStream.java:373)[69:org.opendaylight.yangtools.yang-data-codec-xml:1.2.3]
	at org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.read(XmlParserStream.java:373)[69:org.opendaylight.yangtools.yang-data-codec-xml:1.2.3]
	at org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.parse(XmlParserStream.java:191)[69:org.opendaylight.yangtools.yang-data-codec-xml:1.2.3]
	at org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.traverse(XmlParserStream.java:220)[69:org.opendaylight.yangtools.yang-data-codec-xml:1.2.3]
	at org.opendaylight.netconf.sal.connect.netconf.schema.mapping.NetconfMessageTransformer.toRpcResult(NetconfMessageTransformer.java:196)[406:org.opendaylight.netconf.sal-netconf-connector:1.6.3]
	... 36 more
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="62839" author="rovarga" created="Fri, 4 May 2018 19:26:38 +0000"  >&lt;p&gt;Right-o, I suspected as much. The problem is that identity value is not treated specially in config-manager-facede-xml&apos;s SimpleIdentityRefAttributeWritingStrategy and the same prefix is used as for simple attributes. That code needs to be fixed to declare another namespace and use that for the identity value.&lt;/p&gt;</comment>
                            <comment id="62840" author="rovarga" created="Fri, 4 May 2018 19:30:05 +0000"  >&lt;p&gt;This is not a regression in that component, as that bug has been present in the initial code drop done by Maros Marsalek. It is a regression in functionality: you can no longer mount the CSS endpoint as a NETCONF device and expect it to work.&lt;/p&gt;</comment>
                            <comment id="62841" author="rovarga" created="Fri, 4 May 2018 19:33:29 +0000"  >&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;&amp;lt;type xmlns:prefix=&quot;urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:v1:codec&quot;&amp;gt;prefix:binding-codec-tree-factory&amp;lt;/type&amp;gt;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;is clearly wrong: binding-codec-tree-factory has a&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;&quot;urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding&quot;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;namespace and therefore the line should read something like:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;&amp;lt;type xmlns:prefix=&quot;urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:v1:codec&quot; xmlns:odlident=&quot;urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding&quot;&amp;gt;odlident:binding-codec-tree-factory&amp;lt;/type&amp;gt;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="62842" author="rovarga" created="Fri, 4 May 2018 19:42:11 +0000"  >&lt;p&gt;Something along the lines of completely untested&#160;&#160;&lt;a href=&quot;https://git.opendaylight.org/gerrit/71808,&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/71808&lt;/a&gt; or perhaps some other magic in SimpleIdentityRefAttributeWritingStrategy &#8211; but that needs a longer look.&lt;/p&gt;</comment>
                            <comment id="62921" author="ariel.adam" created="Thu, 10 May 2018 17:17:08 +0000"  >&lt;p&gt;Following TSC meeting we decided not to fix this bug&#160;&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="14635" name="CSS-config" size="72096" author="JMorvay" created="Fri, 4 May 2018 10:19:56 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_11400" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i03e8f:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>