[NETCONF-880] Netconf does not close device mountpoint properly Created: 27/May/22 Updated: 31/May/22 Resolved: 31/May/22 |
|
| Status: | Resolved |
| Project: | netconf |
| Component/s: | netconf |
| Affects Version/s: | 2.0.14 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Medium |
| Reporter: | Igor Foltin | Assignee: | Robert Varga |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
||||||||
| Issue Links: |
|
||||||||
| Description |
|
We have an ODL-based app which manages netconf devices in a DC. 1. We start the ODL app which connects to devices and fetches data from them. |
| Comments |
| Comment by Igor Foltin [ 30/May/22 ] |
|
I added more logs: They represent a scenario when a user starts the device reconnection via ODL app RPC (mountpoint removal and recreation). The device name is: DCS:DCS:DCS-N9K-LEAF04 |
| Comment by Ivan Hrasko [ 31/May/22 ] |
|
Are you able to reproduce with netconf 3? |
| Comment by Robert Varga [ 31/May/22 ] |
|
So if I am reading this right, the session goes up after the node has already been deleted: [DEBUG] 2022-05-30 09:27:50.266 [opendaylight-cluster-data-notification-dispatcher-44] AbstractNetconfTopology - Disconnecting RemoteDevice{DCS:DCS:DCS-N9K-LEAF04}
[TRACE] 2022-05-30 09:27:50.267 [opendaylight-cluster-data-notification-dispatcher-44] NetconfDeviceSalProvider - RemoteDevice{DCS:DCS:DCS-N9K-LEAF04}: Not removing TOPOLOGY mountpoint from MD-SAL, mountpoint was not registered yet
[...]
[TRACE] 2022-05-30 09:27:50.269 [opendaylight-cluster-data-notification-dispatcher-44] NetconfDeviceSalProvider - RemoteDevice{DCS:DCS:DCS-N9K-LEAF04}: TransactionChain(org.opendaylight.mdsal.binding.dom.adapter.BindingDOMTransactionChainAdapter@7b6c02b7) SUCCESSFUL
[DEBUG] 2022-05-30 09:27:51.714 [nioEventLoopGroup-3-1] NetconfDeviceCommunicator - RemoteDevice{DCS:DCS:DCS-N9K-LEAF04}: Session established
I think the problem lies somewhere between NetconfSessionPromise's retry logic and AsyncSshHandler. Most notably the former does not check for isFailure() and the latter calls explicit setFailure(). The setFailure() is problematic because it renders the Future.cancel() inoperative and hence reconnection attempts are not stopped when the node is deleted. We need debug logs for netconf-netty-util including initial connection setup to ascertain what went down. |
| Comment by Robert Varga [ 31/May/22 ] |
|
The recorded failure in NetconfSessionPromise is the same as the one reported in |