[NETCONF-1213] Make connection timeout and keep-alive configurable for Call-Home services Created: 12/Dec/23  Updated: 15/Jan/24

Status: In Review
Project: netconf
Component/s: netconf
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Medium
Reporter: Ruslan Kashapov Assignee: Samuel Schneider
Resolution: Unresolved Votes: 0
Labels: pt
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

In order to integrate with topology service (CallHomeTopology extends AbstractNetconfTopology) CallHomeMountService substitutes the netconf client related artifacts with own simplified implementations, omitting transport layer. See:

This results connection parameters like connection timeout and keep-alive options are not configurable but hard-coded.

Connection timeout is used by Netconf session negotiation logic which terminates connection in case the hello message was not accepted during expected period. The timeout value is set via NetconfClientSessionNetiatorFactory constructor with default via 

Suggestion is to pass configured connection timeout parametr to corresponding server builder (already implemented for TLS case) then build default NetconfClientSessionNegotiatorFactory based on this parameter, not the default one.

Keep-alive delay and request timeout parameters are used by NetconfNodeHandler in order to perform periodic sending keep-alive messages over netconf layer. For call-home service these values are hard-coded on building synthetic node instance which substitutes netconf-topology node -> see  CallHomeMountService.asNode()

Suggested to add configuration with parameters mentioned to CallHomeMountService service. 

Taking into account CallHomeMountService is used as reference in both TLS and SSH services it makes sense to join all  the configurations into single one to be used by all the services within callhome-provider bundle.


Generated at Wed Feb 07 20:16:56 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.