Remove netconf-config
[netconf.git] / apps / callhome-provider / src / main / java / org / opendaylight / netconf / callhome / mount / CallHomeMountService.java
index 1cd5592a9ea6edd6f781a8ac2007ee5f2b01e0f2..e1dddc02c9f3e6022525d4102639a59f208c1670 100644 (file)
@@ -16,11 +16,9 @@ import java.net.InetSocketAddress;
 import java.net.SocketAddress;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.Executor;
 import javax.annotation.PreDestroy;
 import javax.inject.Inject;
 import javax.inject.Singleton;
-import org.opendaylight.controller.config.threadpool.ThreadPool;
 import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.mdsal.dom.api.DOMMountPointService;
 import org.opendaylight.netconf.callhome.server.CallHomeStatusRecorder;
@@ -41,13 +39,14 @@ import org.opendaylight.netconf.shaded.sshd.client.session.ClientSession;
 import org.opendaylight.netconf.topology.spi.NetconfClientConfigurationBuilderFactory;
 import org.opendaylight.netconf.topology.spi.NetconfNodeHandler;
 import org.opendaylight.netconf.topology.spi.NetconfNodeUtils;
+import org.opendaylight.netconf.topology.spi.NetconfTopologySchemaAssembler;
 import org.opendaylight.netconf.transport.api.UnsupportedConfigurationException;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Host;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IetfInetUtil;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.client.rev230417.netconf.client.initiate.stack.grouping.transport.ssh.ssh.TcpClientParametersBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.device.rev240104.connection.parameters.Protocol;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.device.rev240104.connection.parameters.ProtocolBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.client.rev231228.netconf.client.initiate.stack.grouping.transport.ssh.ssh.TcpClientParametersBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.device.rev240120.connection.parameters.Protocol;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.device.rev240120.connection.parameters.ProtocolBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev231121.NetconfNodeBuilder;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
@@ -121,25 +120,24 @@ public final class CallHomeMountService implements AutoCloseable {
     @Inject
     public CallHomeMountService(
             final @Reference(target = "(type=global-timer)") Timer timer,
-            final @Reference(target = "(type=global-netconf-processing-executor)") ThreadPool processingThreadPool,
+            final @Reference NetconfTopologySchemaAssembler schemaAssembler,
             final @Reference SchemaResourceManager schemaRepositoryProvider,
             final @Reference BaseNetconfSchemas baseSchemas,
             final @Reference DataBroker dataBroker,
             final @Reference DOMMountPointService mountService,
             final @Reference DeviceActionFactory deviceActionFactory) {
-        this(NetconfNodeUtils.DEFAULT_TOPOLOGY_NAME, timer,
-            processingThreadPool.getExecutor(), schemaRepositoryProvider, baseSchemas,
+        this(NetconfNodeUtils.DEFAULT_TOPOLOGY_NAME, timer, schemaAssembler, schemaRepositoryProvider, baseSchemas,
             dataBroker, mountService, deviceActionFactory);
     }
 
-    public CallHomeMountService(final String topologyId, final Timer timer, final Executor executor,
-            final SchemaResourceManager schemaRepositoryProvider, final BaseNetconfSchemas baseSchemas,
-            final DataBroker dataBroker, final DOMMountPointService mountService,
+    public CallHomeMountService(final String topologyId, final Timer timer,
+            final NetconfTopologySchemaAssembler schemaAssembler, final SchemaResourceManager schemaRepositoryProvider,
+            final BaseNetconfSchemas baseSchemas, final DataBroker dataBroker, final DOMMountPointService mountService,
             final DeviceActionFactory deviceActionFactory) {
 
         final var clientConfBuilderFactory = createClientConfigurationBuilderFactory();
         final var clientFactory = createClientFactory();
-        topology = new CallHomeTopology(topologyId, clientFactory, timer, executor,
+        topology = new CallHomeTopology(topologyId, clientFactory, timer, schemaAssembler,
             schemaRepositoryProvider, dataBroker, mountService, clientConfBuilderFactory,
             baseSchemas, deviceActionFactory);
     }
@@ -197,8 +195,10 @@ public final class CallHomeMountService implements AutoCloseable {
                 .setConnectionTimeoutMillis(Uint32.valueOf(20000))
                 .setDefaultRequestTimeoutMillis(Uint32.valueOf(60000))
                 .setMaxConnectionAttempts(Uint32.ZERO)
-                .setBetweenAttemptsTimeoutMillis(Uint16.valueOf(2000))
-                .setSleepFactor(Decimal64.valueOf("1.5"))
+                .setMinBackoffMillis(Uint16.valueOf(2000))
+                .setMaxBackoffMillis(Uint32.valueOf(1800000))
+                .setBackoffMultiplier(Decimal64.valueOf("1.5"))
+                .setBackoffJitter(Decimal64.valueOf("0.1"))
                 .setKeepaliveDelay(Uint32.valueOf(120))
                 .setConcurrentRpcLimit(Uint16.ZERO)
                 .setActorResponseWaitTime(Uint16.valueOf(5))
@@ -218,7 +218,7 @@ public final class CallHomeMountService implements AutoCloseable {
             }
 
             @Override
-            public void remove(String id) {
+            public void remove(final String id) {
                 super.remove(id);
                 topology.disableNode(new NodeId(id));
             }
@@ -237,7 +237,7 @@ public final class CallHomeMountService implements AutoCloseable {
             }
 
             @Override
-            public void remove(String id) {
+            public void remove(final String id) {
                 super.remove(id);
                 topology.disableNode(new NodeId(id));
             }