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

Un-mounting a netconf device does not clean up MD-SAL DOM mountpoints

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Medium Medium
    • 5.0.10, 6.0.8, 7.0.5
    • Sodium SR3, Aluminium SR1, 5.0.2
    • netconf

      device_add.logDescription:

      Un-mounting a netconf device does not clean up MD-SAL DOM mountpoints

      Topology:

      ODL-Neon---------(junos netconf device)

       

      Steps to reproduce:

      1. Mount Juniper-MX device to ODL with below payload.

      Mount URL:(operation PUT)

      http://<IP>:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/Man-2

      xml_playload

      <node xmlns="urn:TBD:params:xml:ns:yang:network-topology">
       <node-id>Man-2</node-id>
       <host xmlns="urn:opendaylight:netconf-node-topology"><device IP></host>
       <password xmlns="urn:opendaylight:netconf-node-topology">pwd</password>
       <username xmlns="urn:opendaylight:netconf-node-topology">user</username>
       <port xmlns="urn:opendaylight:netconf-node-topology">830</port>
       <tcp-only xmlns="urn:opendaylight:netconf-node-topology">false</tcp-only>
       <keepalive-delay xmlns="urn:opendaylight:netconf-node-topology">2</keepalive-delay>
       </node>
      

      2. observe that device status chages to connected , in couple of minutes. GET. http://<IP>:8181/restconf/operational/network-topology:network-topology/topology/topology-netconf/node/Man-2 

      3. Delete the device 

       

      Operation DELETE:

      http://<IP>:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/Man-2

       

      observe that ODL fails to clean up the mounted device properly.

      if the device is remounted again , it complains below.

      2019-05-21T14:15:08,756 | ERROR | remote-connector-processing-executor-14 | NetconfDevice | 293 - org.opendaylight.netconf.sal-netconf-connector - 1.9.0 | RemoteDevice\{Man-1}: Initialization in sal failed, disconnecting from device
       java.lang.IllegalStateException: Mount point already exists
       at com.google.common.base.Preconditions.checkState(Preconditions.java:507) ~[32:com.google.guava:25.1.0.jre]
       at org.opendaylight.mdsal.dom.broker.DOMMountPointServiceImpl.createMountPoint(DOMMountPointServiceImpl.java:48) ~[253:org.opendaylight.mdsal.dom-broker:3.0.6]
       at Proxy0f2bd717_d90b_4019_b6ab_2db555b4c1be.createMountPoint(Unknown Source) ~[?:?]
       at Proxy86cb11c3_dc67_4420_95b9_7eb4b50e7d58.createMountPoint(Unknown Source) ~[?:?]
       at org.opendaylight.netconf.sal.connect.netconf.sal.NetconfDeviceSalProvider$MountInstance.onTopologyDeviceConnected(NetconfDeviceSalProvider.java:130) ~[293:org.opendaylight.netconf.sal-netconf-connector:1.9.0]
       at org.opendaylight.netconf.sal.connect.netconf.sal.NetconfDeviceSalProvider$MountInstance.onTopologyDeviceConnected(NetconfDeviceSalProvider.java:120) ~[293:org.opendaylight.netconf.sal-netconf-connector:1.9.0]
       at org.opendaylight.netconf.topology.singleton.impl.MasterSalFacade.registerMasterMountPoint(MasterSalFacade.java:148) ~[?:?]
       at org.opendaylight.netconf.topology.singleton.impl.MasterSalFacade.onDeviceConnected(MasterSalFacade.java:92) ~[?:?]
       at org.opendaylight.netconf.topology.singleton.impl.MasterSalFacade.onDeviceConnected(MasterSalFacade.java:79) ~[?:?]
       at org.opendaylight.netconf.topology.singleton.impl.MasterSalFacade.onDeviceConnected(MasterSalFacade.java:41) ~[?:?]
       at org.opendaylight.netconf.sal.connect.netconf.sal.KeepaliveSalFacade.onDeviceConnected(KeepaliveSalFacade.java:144) ~[293:org.opendaylight.netconf.sal-netconf-connector:1.9.0]
       at org.opendaylight.netconf.sal.connect.netconf.sal.KeepaliveSalFacade.onDeviceConnected(KeepaliveSalFacade.java:51) ~[293:org.opendaylight.netconf.sal-netconf-connector:1.9.0]
       at org.opendaylight.netconf.sal.connect.netconf.NetconfDevice.handleSalInitializationSuccess(NetconfDevice.java:243) [293:org.opendaylight.netconf.sal-netconf-connector:1.9.0]
       at org.opendaylight.netconf.sal.connect.netconf.NetconfDevice.access$500(NetconfDevice.java:79) [293:org.opendaylight.netconf.sal-netconf-connector:1.9.0]
       at org.opendaylight.netconf.sal.connect.netconf.NetconfDevice$SchemaSetup.setUpSchema(NetconfDevice.java:522) [293:org.opendaylight.netconf.sal-netconf-connector:1.9.0]
       at org.opendaylight.netconf.sal.connect.netconf.NetconfDevice$SchemaSetup.run(NetconfDevice.java:481) [293:org.opendaylight.netconf.sal-netconf-connector:1.9.0]
       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
       at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125) [32:com.google.guava:25.1.0.jre]
       at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:57) [32:com.google.guava:25.1.0.jre]
       at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78) [32:com.google.guava:25.1.0.jre]
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
       at java.lang.Thread.run(Thread.java:748) [?:?]
      

       

        1. cluster breakpoints for logs.png
          cluster breakpoints for logs.png
          47 kB
        2. device_add.log
          181 kB
        3. deviceunmount.log
          261 kB
        4. Full logs cluster(3 nodes).7z
          2 kB
        5. Logs from debugging cluster.TXT
          69 kB
        6. Node1_karaf.log
          363 kB
        7. Node2_karaf.log
          340 kB
        8. Node3_karaf.log
          343 kB

            Unassigned Unassigned
            Prathapkrishnamurthy Prathap krishnamurthy
            Votes:
            1 Vote for this issue
            Watchers:
            11 Start watching this issue

              Created:
              Updated: