<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:16:04 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>[NETCONF-854] mount with TLS fails on phosphorus-sr1</title>
                <link>https://jira.opendaylight.org/browse/NETCONF-854</link>
                <project id="10142" key="NETCONF">netconf</project>
                    <description>&lt;p&gt;This feature was working in silicon-sr1.&lt;/p&gt;

&lt;p&gt;How to reproduce:&lt;/p&gt;

&lt;p&gt;&#160; * mount device with TLS&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
PUT /rests/data/network-topology:network-topology/topology=topology-netconf/node=tlstest 
&amp;lt;node xmlns=&lt;span class=&quot;code-quote&quot;&gt;&quot;urn:TBD:params:xml:ns:yang:network-topology&quot;&lt;/span&gt;&amp;gt;
  &amp;lt;node-id&amp;gt;tlstest&amp;lt;/node-id&amp;gt;
  &amp;lt;key-based xmlns=&lt;span class=&quot;code-quote&quot;&gt;&quot;urn:opendaylight:netconf-node-topology&quot;&lt;/span&gt;&amp;gt;
    &amp;lt;key-id xmlns=&lt;span class=&quot;code-quote&quot;&gt;&quot;urn:opendaylight:netconf-node-topology&quot;&lt;/span&gt;&amp;gt;ODL_private_key_0&amp;lt;/key-id&amp;gt;
    &amp;lt;username xmlns=&lt;span class=&quot;code-quote&quot;&gt;&quot;urn:opendaylight:netconf-node-topology&quot;&lt;/span&gt;&amp;gt;netconf&amp;lt;/username&amp;gt;
  &amp;lt;/key-based&amp;gt;
  &amp;lt;host xmlns=&lt;span class=&quot;code-quote&quot;&gt;&quot;urn:opendaylight:netconf-node-topology&quot;&lt;/span&gt;&amp;gt;10.20.35.147&amp;lt;/host&amp;gt;
  &amp;lt;port xmlns=&lt;span class=&quot;code-quote&quot;&gt;&quot;urn:opendaylight:netconf-node-topology&quot;&lt;/span&gt;&amp;gt;31500&amp;lt;/port&amp;gt;
  &amp;lt;tcp-only xmlns=&lt;span class=&quot;code-quote&quot;&gt;&quot;urn:opendaylight:netconf-node-topology&quot;&lt;/span&gt;&amp;gt;&lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;&amp;lt;/tcp-only&amp;gt;
  &amp;lt;protocol xmlns=&lt;span class=&quot;code-quote&quot;&gt;&quot;urn:opendaylight:netconf-node-topology&quot;&lt;/span&gt;&amp;gt;
    &amp;lt;name xmlns=&lt;span class=&quot;code-quote&quot;&gt;&quot;urn:opendaylight:netconf-node-topology&quot;&lt;/span&gt;&amp;gt;TLS&amp;lt;/name&amp;gt;
  &amp;lt;/protocol&amp;gt;
  &amp;lt;max-connection-attempts xmlns=&lt;span class=&quot;code-quote&quot;&gt;&quot;urn:opendaylight:netconf-node-topology&quot;&lt;/span&gt;&amp;gt;2&amp;lt;/max-connection-attempts&amp;gt;
&amp;lt;/node&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160; * wait for connected state... will never happen&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
GET /rests/data/network-topology:network-topology/topology=topology-netconf 
{
    &lt;span class=&quot;code-quote&quot;&gt;&quot;network-topology:topology&quot;&lt;/span&gt;: [
        {
            &lt;span class=&quot;code-quote&quot;&gt;&quot;topology-id&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;topology-netconf&quot;&lt;/span&gt;,
            &lt;span class=&quot;code-quote&quot;&gt;&quot;node&quot;&lt;/span&gt;: [
                {
                    &lt;span class=&quot;code-quote&quot;&gt;&quot;node-id&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;tlstest&quot;&lt;/span&gt;,
                    &lt;span class=&quot;code-quote&quot;&gt;&quot;netconf-node-topology:connection-status&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;unable-to-connect&quot;&lt;/span&gt;,
                    &lt;span class=&quot;code-quote&quot;&gt;&quot;netconf-node-topology:connected-message&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;javax.net.ssl.SSLHandshakeException: Received fatal alert: decrypt_error&quot;&lt;/span&gt;,
                    &lt;span class=&quot;code-quote&quot;&gt;&quot;netconf-node-topology:max-connection-attempts&quot;&lt;/span&gt;: 2,
                    &lt;span class=&quot;code-quote&quot;&gt;&quot;netconf-node-topology:key-based&quot;&lt;/span&gt;: {
                        &lt;span class=&quot;code-quote&quot;&gt;&quot;username&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;netconf&quot;&lt;/span&gt;,
                        &lt;span class=&quot;code-quote&quot;&gt;&quot;key-id&quot;&lt;/span&gt;: &quot;&quot;
                    },
                    &lt;span class=&quot;code-quote&quot;&gt;&quot;netconf-node-topology:host&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;10.20.35.147&quot;&lt;/span&gt;,
                    &lt;span class=&quot;code-quote&quot;&gt;&quot;netconf-node-topology:port&quot;&lt;/span&gt;: 31500,
                    &lt;span class=&quot;code-quote&quot;&gt;&quot;netconf-node-topology:protocol&quot;&lt;/span&gt;: {
                        &lt;span class=&quot;code-quote&quot;&gt;&quot;name&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;TLS&quot;&lt;/span&gt;
                    },
                    &lt;span class=&quot;code-quote&quot;&gt;&quot;netconf-node-topology:tcp-only&quot;&lt;/span&gt;: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
                }
            ]
        }
    ]
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The following exception is thrown in karaf.log&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
2022-01-28T03:51:09,695 | INFO&#160; | globalWorkerGroup-3-1 | AbstractNetconfSessionNegotiator | 352 - org.opendaylight.netconf.netty-util - 2.0.11 | Unexpected error during negotiation on channel [id: 0x50cee553, L:0.0.0.0/0.0.0.0:34890]2022-01-28T03:51:09,695 | INFO&#160; | globalWorkerGroup-3-1 | AbstractNetconfSessionNegotiator | 352 - org.opendaylight.netconf.netty-util - 2.0.11 | Unexpected error during negotiation on channel [id: 0x50cee553, L:0.0.0.0/0.0.0.0:34890]io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: Received fatal alert: decrypt_error at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:477) ~[bundleFile:4.1.69.Final] at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276) ~[bundleFile:4.1.69.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [bundleFile:4.1.69.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [bundleFile:4.1.69.Final] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [bundleFile:4.1.69.Final] at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) [bundleFile:4.1.69.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [bundleFile:4.1.69.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [bundleFile:4.1.69.Final] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) [bundleFile:4.1.69.Final] at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) [bundleFile:4.1.69.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) [bundleFile:4.1.69.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) [bundleFile:4.1.69.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) [bundleFile:4.1.69.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) [bundleFile:4.1.69.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) [bundleFile:4.1.69.Final] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [bundleFile:4.1.69.Final] at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [bundleFile:4.1.69.Final] at java.lang.&lt;span class=&quot;code-object&quot;&gt;Thread&lt;/span&gt;.run(Unknown Source) [?:?]Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: decrypt_error at sun.security.ssl.Alert.createSSLException(Unknown Source) ~[?:?] at sun.security.ssl.Alert.createSSLException(Unknown Source) ~[?:?] at sun.security.ssl.TransportContext.fatal(Unknown Source) ~[?:?] at sun.security.ssl.Alert$AlertConsumer.consume(Unknown Source) ~[?:?] at sun.security.ssl.TransportContext.dispatch(Unknown Source) ~[?:?] at sun.security.ssl.SSLTransport.decode(Unknown Source) ~[?:?] at sun.security.ssl.SSLEngineImpl.decode(Unknown Source) ~[?:?] at sun.security.ssl.SSLEngineImpl.readRecord(Unknown Source) ~[?:?] at sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[?:?] at sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[?:?] at javax.net.ssl.SSLEngine.unwrap(Unknown Source) ~[?:?] at io.netty.handler.ssl.SslHandler$SslEngineType$3.unwrap(SslHandler.java:296) ~[bundleFile:4.1.69.Final] at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1342) ~[bundleFile:4.1.69.Final] at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1235) ~[bundleFile:4.1.69.Final] at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1284) ~[bundleFile:4.1.69.Final] at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:507) ~[bundleFile:4.1.69.Final] at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:446) ~[bundleFile:4.1.69.Final] ... 17 more2022-01-28T03:51:09,735 | INFO&#160; | opendaylight-cluster-data-notification-dispatcher-45 | NetconfNodeStateServiceImpl&#160; &#160; &#160; | 234 - org.onap.ccsdk.features.sdnr.wt.phosphorus.sr1.sdnr-wt-netconfnode-state-service-provider - 1.3.0.SNAPSHOT | L1 TreeChange enter changes:12022-01-28T03:51:09,735 | INFO&#160; | opendaylight-cluster-data-notification-dispatcher-41 | NetconfNodeStateServiceImpl&#160; &#160; &#160; | 234 - org.onap.ccsdk.features.sdnr.wt.phosphorus.sr1.sdnr-wt-netconfnode-state-service-provider - 1.3.0.SNAPSHOT | L2 TreeChange enter changes:12022-01-28T03:51:09,736 | INFO&#160; | opendaylight-cluster-data-notification-dispatcher-41 | NetconfNodeStateServiceImpl&#160; &#160; &#160; | 234 - org.onap.ccsdk.features.sdnr.wt.phosphorus.sr1.sdnr-wt-netconfnode-state-service-provider - 1.3.0.SNAPSHOT | L2 TreeChange leave2022-01-28T03:51:09,736 | INFO&#160; | opendaylight-cluster-data-notification-dispatcher-45 | NetconfNodeStateServiceImpl&#160; &#160; &#160; | 234 - org.onap.ccsdk.features.sdnr.wt.phosphorus.sr1.sdnr-wt-netconfnode-state-service-provider - 1.3.0.SNAPSHOT | L1 NETCONF id:Uri{_value=tlstest} t:WRITE created &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt; before:&lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt; after:&lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt; akkaIsCluster:&lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt; cl stat:null2022-01-28T03:51:09,737 | INFO&#160; | opendaylight-cluster-data-notification-dispatcher-45 | DeviceManagerNetconfNotConnectHandler | 212 - org.onap.ccsdk.features.sdnr.wt.phosphorus.sr1.sdnr-wt-devicemanager-core-provider - 1.3.0.SNAPSHOT | onStateChange Uri{_value=tlstest}2022-01-28T03:51:09,721 | WARN&#160; | globalWorkerGroup-3-2 | ChannelInitializer&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;| 66 - io.netty.common - 4.1.69.Final | Failed to initialize a channel. Closing: [id: 0xd0dc51df]io.netty.channel.ChannelPipelineException: org.opendaylight.netconf.nettyutil.ReconnectPromise$1 is not a @Sharable handler, so can&apos;t be added or removed multiple times. at io.netty.channel.DefaultChannelPipeline.checkMultiplicity(DefaultChannelPipeline.java:600) ~[bundleFile:4.1.69.Final] at io.netty.channel.DefaultChannelPipeline.addLast(DefaultChannelPipeline.java:202) ~[bundleFile:4.1.69.Final] at io.netty.channel.DefaultChannelPipeline.addLast(DefaultChannelPipeline.java:381) ~[bundleFile:4.1.69.Final] at io.netty.channel.DefaultChannelPipeline.addLast(DefaultChannelPipeline.java:370) ~[bundleFile:4.1.69.Final] at org.opendaylight.netconf.nettyutil.ReconnectPromise.lambda$lockedConnect$0(ReconnectPromise.java:114) ~[bundleFile:?] at org.opendaylight.netconf.nettyutil.AbstractNetconfDispatcher$3.initChannel(AbstractNetconfDispatcher.java:202) ~[bundleFile:?] at org.opendaylight.netconf.nettyutil.AbstractNetconfDispatcher$3.initChannel(AbstractNetconfDispatcher.java:199) ~[bundleFile:?] at io.netty.channel.ChannelInitializer.initChannel(ChannelInitializer.java:129) [bundleFile:4.1.69.Final] at io.netty.channel.ChannelInitializer.handlerAdded(ChannelInitializer.java:112) [bundleFile:4.1.69.Final] at io.netty.channel.AbstractChannelHandlerContext.callHandlerAdded(AbstractChannelHandlerContext.java:938) [bundleFile:4.1.69.Final] at io.netty.channel.DefaultChannelPipeline.callHandlerAdded0(DefaultChannelPipeline.java:609) [bundleFile:4.1.69.Final] at io.netty.channel.DefaultChannelPipeline.access$100(DefaultChannelPipeline.java:46) [bundleFile:4.1.69.Final] at io.netty.channel.DefaultChannelPipeline$PendingHandlerAddedTask.execute(DefaultChannelPipeline.java:1463) [bundleFile:4.1.69.Final] at io.netty.channel.DefaultChannelPipeline.callHandlerAddedForAllHandlers(DefaultChannelPipeline.java:1115) [bundleFile:4.1.69.Final] at io.netty.channel.DefaultChannelPipeline.invokeHandlerAddedIfNeeded(DefaultChannelPipeline.java:650) [bundleFile:4.1.69.Final] at io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:514) [bundleFile:4.1.69.Final] at io.netty.channel.AbstractChannel$AbstractUnsafe.access$200(AbstractChannel.java:429) [bundleFile:4.1.69.Final] at io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:486) [bundleFile:4.1.69.Final] at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) [bundleFile:4.1.69.Final] at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469) [bundleFile:4.1.69.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500) [bundleFile:4.1.69.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) [bundleFile:4.1.69.Final] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [bundleFile:4.1.69.Final] at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [bundleFile:4.1.69.Final] at java.lang.&lt;span class=&quot;code-object&quot;&gt;Thread&lt;/span&gt;.run(Unknown Source) [?:?]2022-01-28T03:51:09,742 | INFO&#160; | opendaylight-cluster-data-notification-dispatcher-45 | Capabilities&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;| 233 - org.onap.ccsdk.features.sdnr.wt.phosphorus.sr1.sdnr-wt-netconfnode-state-service-model - 1.3.0.SNAPSHOT | GetAvailableCapabilities &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; node2022-01-28T03:51:09,742 | INFO&#160; | opendaylight-cluster-data-notification-dispatcher-45 | Capabilities&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;| 233 - org.onap.ccsdk.features.sdnr.wt.phosphorus.sr1.sdnr-wt-netconfnode-state-service-model - 1.3.0.SNAPSHOT | GetUnavailableCapabilities &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; node2022-01-28T03:51:09,743 | INFO&#160; | opendaylight-cluster-data-notification-dispatcher-45 | HtDatabaseEventsService&#160; &#160; &#160; &#160; &#160; | 210 - org.onap.ccsdk.features.sdnr.wt.phosphorus.sr1.sdnr-wt-data-provider-provider - 1.3.0.SNAPSHOT | update networkelement-connection &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; tlstest with data NetworkElementConnection{coreModelCapability=Unsupported, deviceType=Unknown, host=10.20.35.147, id=tlstest, isRequired=&lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;, mountMethod=KeyAuth, nodeDetails=NodeDetails{availableCapabilities=[], unavailableCapabilities=[]}, nodeId=tlstest, port=31500, status=UnableToConnect, tlsKey=, username=netconf}2022-01-28T03:51:09,725 | ERROR | globalEventExecutor-1-1 | AbstractNetconfTopology&#160; &#160; &#160; &#160; &#160; | 362 - org.opendaylight.netconf.topology - 2.0.11 | Connector &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; tlstest failedio.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: Received fatal alert: decrypt_error at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:477) ~[?:?] at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276) ~[?:?] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[bundleFile:4.1.69.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[bundleFile:4.1.69.Final] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[bundleFile:4.1.69.Final] at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[bundleFile:4.1.69.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[bundleFile:4.1.69.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[bundleFile:4.1.69.Final] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[bundleFile:4.1.69.Final] at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) ~[bundleFile:4.1.69.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) ~[bundleFile:4.1.69.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) ~[bundleFile:4.1.69.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) ~[bundleFile:4.1.69.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) ~[bundleFile:4.1.69.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) ~[bundleFile:4.1.69.Final] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [bundleFile:4.1.69.Final] at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [bundleFile:4.1.69.Final] at java.lang.&lt;span class=&quot;code-object&quot;&gt;Thread&lt;/span&gt;.run(Unknown Source) [?:?]Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: decrypt_error at sun.security.ssl.Alert.createSSLException(Unknown Source) ~[?:?] at sun.security.ssl.Alert.createSSLException(Unknown Source) ~[?:?] at sun.security.ssl.TransportContext.fatal(Unknown Source) ~[?:?] at sun.security.ssl.Alert$AlertConsumer.consume(Unknown Source) ~[?:?] at sun.security.ssl.TransportContext.dispatch(Unknown Source) ~[?:?] at sun.security.ssl.SSLTransport.decode(Unknown Source) ~[?:?] at sun.security.ssl.SSLEngineImpl.decode(Unknown Source) ~[?:?] at sun.security.ssl.SSLEngineImpl.readRecord(Unknown Source) ~[?:?] at sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[?:?] at sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[?:?] at javax.net.ssl.SSLEngine.unwrap(Unknown Source) ~[?:?] at io.netty.handler.ssl.SslHandler$SslEngineType$3.unwrap(SslHandler.java:296) ~[?:?] at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1342) ~[?:?] at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1235) ~[?:?] at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1284) ~[?:?] at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:507) ~[?:?] at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:446) ~[?:?] ... 17 more&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="35132">NETCONF-854</key>
            <summary>mount with TLS fails on phosphorus-sr1</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.opendaylight.org/images/icons/priorities/major.svg">Medium</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="10000">Done</resolution>
                                        <assignee username="rovarga">Robert Varga</assignee>
                                    <reporter username="metaljackL">Michael D&#252;rre</reporter>
                        <labels>
                    </labels>
                <created>Fri, 28 Jan 2022 03:54:36 +0000</created>
                <updated>Fri, 11 Feb 2022 16:13:29 +0000</updated>
                            <resolved>Fri, 11 Feb 2022 16:13:29 +0000</resolved>
                                    <version>2.0.11</version>
                                    <fixVersion>2.0.13</fixVersion>
                                    <component>netconf</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="70436" author="metaljackl" created="Fri, 28 Jan 2022 05:30:27 +0000"  >&lt;p&gt;I have run the test again with the additional env&#160;&#160;JAVA_NON_DEBUG_OPTS=-Djavax.net.debug=all and attached the output to the ticket (tls-debug.log). I hope it helps.&lt;/p&gt;</comment>
                            <comment id="70508" author="metaljackl" created="Wed, 2 Feb 2022 07:15:34 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=rovarga&quot; class=&quot;user-hover&quot; rel=&quot;rovarga&quot;&gt;rovarga&lt;/a&gt;&#160;&lt;/p&gt;

&lt;p&gt;So no idea? Since it sounds like a netty issue it is maybe caused by this? &lt;a href=&quot;https://git.opendaylight.org/gerrit/gitweb?p=netconf.git;a=commit;h=966a5b2c53caf54af837d4d67ff25d31bef32277&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/gitweb?p=netconf.git;a=commit;h=966a5b2c53caf54af837d4d67ff25d31bef32277&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="70509" author="rovarga" created="Wed, 2 Feb 2022 09:37:16 +0000"  >&lt;p&gt;The device is saying, as it has sent an &lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc5246#section-7.2.2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;alert message&lt;/a&gt;&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;javax.net.ssl|DEBUG|03 3C|globalWorkerGroup-3-1|2022-01-28 05:15:23.278 GMT|null:-1|Received alert message (
&quot;Alert&quot;: {
  &quot;level&quot;      : &quot;fatal&quot;,
  &quot;description&quot;: &quot;decrypt_error&quot;
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;There is no provision in TLS1.2 to learn what the underlying cause, hence you need to diagnose this on the device side.&lt;/p&gt;</comment>
                            <comment id="70527" author="metaljackl" created="Wed, 9 Feb 2022 08:38:25 +0000"  >&lt;p&gt;good news. I have found the issue. It is the order of the certificate chain of the private key. So workaround for now is to fill the whole netconf-keystore with the data of a silicon installation. Since we use the same script to install the certificates the order of the rpc calls do not differ to silicon.&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;&#160;add-keystore-entry&lt;/li&gt;
	&lt;li&gt;&#160;add-trusted-certificate&lt;/li&gt;
	&lt;li&gt;&#160;add-private-key&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;But still investigating what exactly the problem is. I mean which step works differently from silicon to phosphorus&lt;/p&gt;</comment>
                            <comment id="70535" author="metaljackl" created="Fri, 11 Feb 2022 07:09:37 +0000"  >&lt;p&gt;So it looks like it is a problem of the add-private-key rpc.&lt;/p&gt;

&lt;p&gt;I add a payload like this:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;{
  &lt;span class=&quot;code-quote&quot;&gt;&quot;input&quot;&lt;/span&gt;: {
    &lt;span class=&quot;code-quote&quot;&gt;&quot;&lt;span class=&quot;code-keyword&quot;&gt;private&lt;/span&gt;-key&quot;&lt;/span&gt;: {
      &lt;span class=&quot;code-quote&quot;&gt;&quot;name&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;ODL_private_key_0&quot;&lt;/span&gt;, 
      &lt;span class=&quot;code-quote&quot;&gt;&quot;data&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;MIIEpAIBAAKC....&quot;&lt;/span&gt;, 
      &lt;span class=&quot;code-quote&quot;&gt;&quot;certificate-chain&quot;&lt;/span&gt;:[
        &lt;span class=&quot;code-quote&quot;&gt;&quot;MIIECTCCAvGgAw...&quot;&lt;/span&gt;,
        &lt;span class=&quot;code-quote&quot;&gt;&quot;MIID7TCCAtWgAw....&quot;&lt;/span&gt;
      ]
    }
  }
}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;but if I request the netconf keystore again I see the private key installed with a mixed up order of the certificate chain&lt;/p&gt;

&lt;p&gt;GET /rests/data/netconf-keystore:keystore/private-key=ODL_private_key_0&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;{
  &lt;span class=&quot;code-quote&quot;&gt;&quot;netconf-keystore:&lt;span class=&quot;code-keyword&quot;&gt;private&lt;/span&gt;-key&quot;&lt;/span&gt;: [{
    &lt;span class=&quot;code-quote&quot;&gt;&quot;name&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;ODL_private_key_0&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;data&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;MIIEpAIBAAKC...&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;certificate-chain&quot;&lt;/span&gt;: [
      &lt;span class=&quot;code-quote&quot;&gt;&quot;MIID7TCCAtWgAw...&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;MIIECTCCAvGgAw...&quot;&lt;/span&gt;
    ]
  }]
}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="70537" author="metaljackl" created="Fri, 11 Feb 2022 07:58:26 +0000"  >&lt;p&gt;I now also tried to do this and it did not worked. I mean it mixed up the cert chain again.&lt;/p&gt;

&lt;p&gt;PUT&#160;&#8203;/rests&#8203;/data&#8203;/netconf-keystore:keystore&#8203;/private-key=ODL_private_key_0&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
{ 
  &lt;span class=&quot;code-quote&quot;&gt;&quot;&lt;span class=&quot;code-keyword&quot;&gt;private&lt;/span&gt;-key&quot;&lt;/span&gt;: [{ 
    &lt;span class=&quot;code-quote&quot;&gt;&quot;name&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;ODL_private_key_0&quot;&lt;/span&gt;, 
    &lt;span class=&quot;code-quote&quot;&gt;&quot;data&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;MIIEpAIBAAKC...&quot;&lt;/span&gt;, 
    &lt;span class=&quot;code-quote&quot;&gt;&quot;certificate-chain&quot;&lt;/span&gt;: [ 
      &lt;span class=&quot;code-quote&quot;&gt;&quot;MIID7TCCAtWgAw...&quot;&lt;/span&gt;, 
      &lt;span class=&quot;code-quote&quot;&gt;&quot;MIIECTCCAvGgAw...&quot;&lt;/span&gt; 
    ]
  }]
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="70540" author="rovarga" created="Fri, 11 Feb 2022 15:34:01 +0000"  >&lt;p&gt;Thanks for the investigation. The problem is that certificate-chain is not marked as user-ordered.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="17223" name="tls-debug.log" size="2158089" author="metaljackL" created="Fri, 28 Jan 2022 05:28:42 +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|i041bj:</customfieldvalue>

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