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

CallHomeSessionContext session cannot be closed, so device could not make a new call-home connection

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Do
    • Icon: High High
    • None
    • None
    • netconf
      • Lighty.io version -> 15.1.0
      • Lighty.io 15.1.0 uses ODL netconf 2.0.9
      • Java 11
    • High

      Hi,

      We are using the lighty.io 15.1.0 version in our application. We have devices that uses netopeer2server for making call-home connection to the application. Sometimes, device connects and disconnects repeatedly when we start loading network traffic on device. At this step, after a time, opendaylight starts to log as below:

      2023-02-01 06:47:19.588 ERROR 1 .m.CallHomeMountSessionManager : Server Host Key/Certificate RSA Public Key [30:4e:62:da:08:41:35:80:85:7a:4b:86:3e:b6:ff:54:fe:07:f7:80],[56:66:d1:a4]
              modulus: bc625370b9fbdc38589892c0aba9c9ff1503662e6ea13194f847622d2c342a5979d0838be8dbfc9b08c8f8995257e6b77403a87f3c696ba6225a6cf03854c0d41bffa8346a054813931d6d518b1493fd0c12df92f8b3a13dc58a05ed6faaa262373fe8051162838f79c65c1d79d968528e1e3cb0b6a38168129dd6c86814472d991fbbe4b33ab182e825e67557a5f7b1165c672d1ef4ec3f6ac9d5a2615e076c32bd0c241f9a7414ab3920d9e11eb620489a983381cdf38b1875208a33a17302739166e0ac1119083221a3b292324eea92d88b74f27fc8eb342fbbea604d1011eeeaba525344269e7fb3f68e8092e45b3692a9e75b8618176de69ea0d8816cf3
      public exponent: 10001
       is associated with existing session CallHomeMountSessionContext{address=/172.23.0.5:41032, hostKey=RSA Public Key [30:4e:62:da:08:41:35:80:85:7a:4b:86:3e:b6:ff:54:fe:07:f7:80],[56:66:d1:a4]
              modulus: bc625370b9fbdc38589892c0aba9c9ff1503662e6ea13194f847622d2c342a5979d0838be8dbfc9b08c8f8995257e6b77403a87f3c696ba6225a6cf03854c0d41bffa8346a054813931d6d518b1493fd0c12df92f8b3a13dc58a05ed6faaa262373fe8051162838f79c65c1d79d968528e1e3cb0b6a38168129dd6c86814472d991fbbe4b33ab182e825e67557a5f7b1165c672d1ef4ec3f6ac9d5a2615e076c32bd0c241f9a7414ab3920d9e11eb620489a983381cdf38b1875208a33a17302739166e0ac1119083221a3b292324eea92d88b74f27fc8eb342fbbea604d1011eeeaba525344269e7fb3f68e8092e45b3692a9e75b8618176de69ea0d8816cf3
      public exponent: 10001
      }, closing session org.opendaylight.netconf.callhome.protocol.CallHomeSessionContext@2a79b789 

      Log says that there is an existing session with the public key, so I guess it is rejecting and closing the incoming session.

      After we start to see this log, device cannot makes a call-home connection anymore. Even restarting netopeer2server or rebooting device do not change the situation. Only solution is restarting our application. But that is not wanted in production enviroment.

      Log is printed by CallHomeMountSessionManager class. When I checked the code, I saw that deviceContext is kept in the below ConcurrentMap by device's SSH public key:

      private final ConcurrentMap<PublicKey, CallHomeMountSessionContext> contextByPublicKey = new ConcurrentHashMap<>(); 

      I think, the entry related with public key stays in the map and cannot be removed somehow. Maybe, this causes the problem.

      Note: We changed ODL core property: IDLE_TIMEOUT to 2 minutes.

       

            ivanhrasko Ivan Hrasko
            sekobey Serkan Yıldırım
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: