Merge "Remove netconf-impl's getConfig_candidate.xml"
authorTom Pantelis <tompantelis@gmail.com>
Wed, 23 Jan 2019 02:13:23 +0000 (02:13 +0000)
committerGerrit Code Review <gerrit@opendaylight.org>
Wed, 23 Jan 2019 02:13:23 +0000 (02:13 +0000)
24 files changed:
features/netconf/odl-netconf-ssh/pom.xml
netconf/mdsal-netconf-ssh/pom.xml
netconf/mdsal-netconf-ssh/src/main/java/org/opendaylight/netconf/ssh/NetconfNorthboundSshServer.java [moved from netconf/netconf-ssh/src/main/java/org/opendaylight/netconf/ssh/NetconfNorthboundSshServer.java with 100% similarity]
netconf/mdsal-netconf-ssh/src/main/java/org/opendaylight/netconf/ssh/RemoteNetconfCommand.java [moved from netconf/netconf-ssh/src/main/java/org/opendaylight/netconf/ssh/RemoteNetconfCommand.java with 100% similarity]
netconf/mdsal-netconf-ssh/src/main/java/org/opendaylight/netconf/ssh/SshProxyClientHandler.java [moved from netconf/netconf-ssh/src/main/java/org/opendaylight/netconf/ssh/SshProxyClientHandler.java with 100% similarity]
netconf/mdsal-netconf-ssh/src/main/java/org/opendaylight/netconf/ssh/SshProxyServer.java [moved from netconf/netconf-ssh/src/main/java/org/opendaylight/netconf/ssh/SshProxyServer.java with 100% similarity]
netconf/mdsal-netconf-ssh/src/main/java/org/opendaylight/netconf/ssh/SshProxyServerConfiguration.java [moved from netconf/netconf-ssh/src/main/java/org/opendaylight/netconf/ssh/SshProxyServerConfiguration.java with 88% similarity]
netconf/mdsal-netconf-ssh/src/main/java/org/opendaylight/netconf/ssh/SshProxyServerConfigurationBuilder.java [moved from netconf/netconf-ssh/src/main/java/org/opendaylight/netconf/ssh/SshProxyServerConfigurationBuilder.java with 100% similarity]
netconf/mdsal-netconf-ssh/src/test/java/org/opendaylight/netconf/netty/EchoClient.java [moved from netconf/netconf-ssh/src/test/java/org/opendaylight/netconf/netty/EchoClient.java with 100% similarity]
netconf/mdsal-netconf-ssh/src/test/java/org/opendaylight/netconf/netty/EchoClientHandler.java [moved from netconf/netconf-ssh/src/test/java/org/opendaylight/netconf/netty/EchoClientHandler.java with 100% similarity]
netconf/mdsal-netconf-ssh/src/test/java/org/opendaylight/netconf/netty/EchoServer.java [moved from netconf/netconf-ssh/src/test/java/org/opendaylight/netconf/netty/EchoServer.java with 100% similarity]
netconf/mdsal-netconf-ssh/src/test/java/org/opendaylight/netconf/netty/EchoServerHandler.java [moved from netconf/netconf-ssh/src/test/java/org/opendaylight/netconf/netty/EchoServerHandler.java with 100% similarity]
netconf/mdsal-netconf-ssh/src/test/java/org/opendaylight/netconf/netty/ProxyClientHandler.java [moved from netconf/netconf-ssh/src/test/java/org/opendaylight/netconf/netty/ProxyClientHandler.java with 100% similarity]
netconf/mdsal-netconf-ssh/src/test/java/org/opendaylight/netconf/netty/ProxyServer.java [moved from netconf/netconf-ssh/src/test/java/org/opendaylight/netconf/netty/ProxyServer.java with 100% similarity]
netconf/mdsal-netconf-ssh/src/test/java/org/opendaylight/netconf/netty/ProxyServerHandler.java [moved from netconf/netconf-ssh/src/test/java/org/opendaylight/netconf/netty/ProxyServerHandler.java with 100% similarity]
netconf/mdsal-netconf-ssh/src/test/java/org/opendaylight/netconf/netty/SSHTest.java [moved from netconf/netconf-ssh/src/test/java/org/opendaylight/netconf/netty/SSHTest.java with 100% similarity]
netconf/mdsal-netconf-ssh/src/test/java/org/opendaylight/netconf/ssh/authentication/SSHServerTest.java [moved from netconf/netconf-ssh/src/test/java/org/opendaylight/netconf/ssh/authentication/SSHServerTest.java with 100% similarity]
netconf/netconf-ssh/pom.xml [deleted file]
netconf/netconf-ssh/src/main/java/org/opendaylight/netconf/ssh/NetconfSSHProvider.java [deleted file]
netconf/netconf-ssh/src/main/resources/org/opendaylight/blueprint/netconf-ssh-blueprint.xml [deleted file]
netconf/netconf-ssh/src/test/resources/RSA.pk [deleted file]
netconf/netconf-ssh/src/test/resources/logback-test.xml [deleted file]
netconf/pom.xml
netconf/tools/netconf-testtool/pom.xml

index b5627df4c60a3081a168659fc1f4010b42938868..55e565a1cc668276a73d2d93d501b63911ab9b96 100644 (file)
             <type>xml</type>
             <classifier>features</classifier>
         </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>netconf-ssh</artifactId>
-            <version>${project.version}</version>
-        </dependency>
     </dependencies>
 </project>
index 2e9a06a44ba1db0b738236cd12b75bac78a066cf..c03c54301c8819813bda0abc7bf95014942d4858 100644 (file)
@@ -16,7 +16,6 @@
     <relativePath>../netconf-parent</relativePath>
   </parent>
 
-  <groupId>org.opendaylight.netconf</groupId>
   <artifactId>mdsal-netconf-ssh</artifactId>
   <version>1.6.0-SNAPSHOT</version>
   <name>${project.artifactId}</name>
 
   <dependencies>
     <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>netconf-ssh</artifactId>
+      <groupId>com.google.guava</groupId>
+      <artifactId>guava</artifactId>
     </dependency>
     <dependency>
       <groupId>org.apache.aries.blueprint</groupId>
       <artifactId>org.apache.aries.blueprint.core</artifactId>
       <scope>provided</scope>
     </dependency>
+    <dependency>
+      <groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
+      <artifactId>rfc6991-ietf-inet-types</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>netconf-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>netconf-auth</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>netconf-util</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>netconf-netty-util</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.osgi</groupId>
+      <artifactId>org.osgi.core</artifactId>
+    </dependency>
   </dependencies>
 
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <extensions>true</extensions>
-        <configuration>
-          <instructions>
-            <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
-            <Embed-Dependency>netconf-ssh</Embed-Dependency>
-          </instructions>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
 </project>
similarity index 88%
rename from netconf/netconf-ssh/src/main/java/org/opendaylight/netconf/ssh/SshProxyServerConfiguration.java
rename to netconf/mdsal-netconf-ssh/src/main/java/org/opendaylight/netconf/ssh/SshProxyServerConfiguration.java
index 935241a3904288762439e84efcb59f724cf1a535..16ecfc536920e43a5e1741cb9c33dbfba06e0f42 100644 (file)
@@ -24,11 +24,6 @@ public final class SshProxyServerConfiguration {
     private final int idleTimeout;
     private final Optional<PublickeyAuthenticator> publickeyAuthenticator;
 
-    SshProxyServerConfiguration(final InetSocketAddress bindingAddress, final LocalAddress localAddress,
-                    final AuthProvider authenticator, final KeyPairProvider keyPairProvider, final int idleTimeout) {
-        this(bindingAddress, localAddress, authenticator, null, keyPairProvider, idleTimeout);
-    }
-
     SshProxyServerConfiguration(final InetSocketAddress bindingAddress, final LocalAddress localAddress,
                                 final AuthProvider authenticator, final PublickeyAuthenticator publickeyAuthenticator,
                                 final KeyPairProvider keyPairProvider, final int idleTimeout) {
diff --git a/netconf/netconf-ssh/pom.xml b/netconf/netconf-ssh/pom.xml
deleted file mode 100644 (file)
index 4fdaafe..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2016 Cisco Systems, Inc. and others.  All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v1.0 which accompanies this distribution,
- and is available at http://www.eclipse.org/legal/epl-v10.html
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.opendaylight.netconf</groupId>
-    <artifactId>netconf-parent</artifactId>
-    <version>1.6.0-SNAPSHOT</version>
-    <relativePath>../netconf-parent</relativePath>
-  </parent>
-
-  <groupId>org.opendaylight.netconf</groupId>
-  <artifactId>netconf-ssh</artifactId>
-  <version>1.6.0-SNAPSHOT</version>
-  <name>${project.artifactId}</name>
-  <packaging>bundle</packaging>
-
-  <dependencies>
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>netconf-api</artifactId>
-    </dependency>
-      <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>netconf-auth</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>netconf-util</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>netconf-impl</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
-      <artifactId>rfc6991-ietf-inet-types</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>com.google.guava</groupId>
-      <artifactId>guava</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.yangtools</groupId>
-      <artifactId>mockito-configuration</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>netconf-netty-util</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>netconf-client</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-        <groupId>org.osgi</groupId>
-        <artifactId>org.osgi.compendium</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.osgi</groupId>
-      <artifactId>org.osgi.core</artifactId>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jar-plugin</artifactId>
-        <executions>
-          <execution>
-            <goals>
-              <goal>test-jar</goal>
-            </goals>
-            <phase>package</phase>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-
-</project>
diff --git a/netconf/netconf-ssh/src/main/java/org/opendaylight/netconf/ssh/NetconfSSHProvider.java b/netconf/netconf-ssh/src/main/java/org/opendaylight/netconf/ssh/NetconfSSHProvider.java
deleted file mode 100644 (file)
index dd2d089..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.netconf.ssh;
-
-import io.netty.channel.local.LocalAddress;
-import io.netty.channel.nio.NioEventLoopGroup;
-import java.io.File;
-import java.io.IOException;
-import java.net.InetSocketAddress;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ScheduledExecutorService;
-import org.apache.sshd.common.util.security.SecurityUtils;
-import org.apache.sshd.common.util.threads.ThreadUtils;
-import org.apache.sshd.server.keyprovider.AbstractGeneratorHostKeyProvider;
-import org.opendaylight.netconf.auth.AuthProvider;
-import org.opendaylight.netconf.util.NetconfConfiguration;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class NetconfSSHProvider {
-    private static final Logger LOG = LoggerFactory.getLogger(NetconfSSHProvider.class);
-
-    private static final java.lang.String ALGORITHM = "RSA";
-    private static final int KEY_SIZE = 4096;
-    public static final int POOL_SIZE = 8;
-    private static final int DEFAULT_IDLE_TIMEOUT = Integer.MAX_VALUE;
-
-    private final AuthProvider authProvider;
-    private final NetconfConfiguration netconfConfiguration;
-
-    private ScheduledExecutorService minaTimerExecutor;
-    private NioEventLoopGroup clientGroup;
-    private ExecutorService nioExecutor;
-
-    private SshProxyServer server;
-
-    public NetconfSSHProvider(final AuthProvider authProvider,
-                              final NetconfConfiguration netconfConfiguration) {
-
-        this.authProvider = authProvider;
-        this.netconfConfiguration = netconfConfiguration;
-    }
-
-    // Called via blueprint
-    @SuppressWarnings("unused")
-    public void init() throws IOException {
-        minaTimerExecutor = Executors.newScheduledThreadPool(POOL_SIZE,
-            runnable -> new Thread(runnable, "netconf-ssh-server-mina-timers"));
-        clientGroup = new NioEventLoopGroup();
-        nioExecutor = ThreadUtils.newFixedThreadPool("netconf-ssh-server-nio-group", POOL_SIZE);
-        server = startSSHServer();
-    }
-
-    // Called via blueprint
-    @SuppressWarnings("unused")
-    public void destroy() throws IOException {
-        if (server != null) {
-            server.close();
-        }
-
-        if (nioExecutor != null) {
-            nioExecutor.shutdownNow();
-        }
-
-        if (clientGroup != null) {
-            clientGroup.shutdownGracefully();
-        }
-
-        if (minaTimerExecutor != null) {
-            minaTimerExecutor.shutdownNow();
-        }
-    }
-
-    private SshProxyServer startSSHServer()
-            throws IOException {
-
-        final InetSocketAddress sshSocketAddress = netconfConfiguration.getSshServerAddress();
-        LOG.info("Starting netconf SSH server at {}", sshSocketAddress);
-
-        final LocalAddress localAddress = NetconfConfiguration.NETCONF_LOCAL_ADDRESS;
-
-        final String path = netconfConfiguration.getPrivateKeyPath();
-        LOG.trace("Starting netconf SSH server with path to ssh private key {}", path);
-
-        final SshProxyServer sshProxyServer = new SshProxyServer(minaTimerExecutor, clientGroup, nioExecutor);
-        final AbstractGeneratorHostKeyProvider keyPairProvider = SecurityUtils.createGeneratorHostKeyProvider(null);
-        keyPairProvider.setAlgorithm(ALGORITHM);
-        keyPairProvider.setKeySize(KEY_SIZE);
-        keyPairProvider.setFile(new File(path));
-        sshProxyServer.bind(
-                new SshProxyServerConfigurationBuilder()
-                        .setBindingAddress(sshSocketAddress)
-                        .setLocalAddress(localAddress)
-                        .setAuthenticator(authProvider)
-                        .setKeyPairProvider(keyPairProvider)
-                        .setIdleTimeout(DEFAULT_IDLE_TIMEOUT)
-                        .createSshProxyServerConfiguration());
-        return sshProxyServer;
-    }
-}
diff --git a/netconf/netconf-ssh/src/main/resources/org/opendaylight/blueprint/netconf-ssh-blueprint.xml b/netconf/netconf-ssh/src/main/resources/org/opendaylight/blueprint/netconf-ssh-blueprint.xml
deleted file mode 100644 (file)
index 2f504c0..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2017 Inocybe Technologies Inc. and others.  All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v1.0 which accompanies this distribution,
- and is available at http://www.eclipse.org/legal/epl-v10.html
--->
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
-           xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
-           odl:use-default-for-reference-types="true">
-
-    <reference id="authProvider"
-               interface="org.opendaylight.netconf.auth.AuthProvider"
-               odl:type="netconf-auth-provider" />
-
-    <reference id="netconfConfiguration"
-               interface="org.opendaylight.netconf.util.NetconfConfiguration" />
-
-    <bean id="netconfSshProvider" class="org.opendaylight.netconf.ssh.NetconfSSHProvider"
-          init-method="init" destroy-method="destroy">
-        <argument ref="authProvider" />
-        <argument ref="netconfConfiguration" />
-    </bean>
-
-</blueprint>
diff --git a/netconf/netconf-ssh/src/test/resources/RSA.pk b/netconf/netconf-ssh/src/test/resources/RSA.pk
deleted file mode 100644 (file)
index c0266c7..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIEogIBAAKCAQEAuC9hbEacpewvylI0mwFwjy3Wou2hpr/ncN9BBiFDSaG5yW2k
-3Oy+SCAcFCL+ZKWb6cc6Ch4gUeCwyEHRojZguuhliKtak9YQf6qbvpPLe00842Lx
-iqNAGurMpzizCDsGFq8ChaAkBZQI3TvcHuPoSUWSMJ+K8xHpRyUdVr6g2yEjezKJ
-sTXBtWaeCCh6YUafFujuDJk7fvYcPW7Je5KRBBStIKvxcMW0zB+7eq04deTHwGbJ
-gGjKWilQ72hsDDP3Hbp5CJMAYg1r4GlCmFx3KyHRGztgWgNgaD7nNpKCkTLjtmA6
-b4x7TA+jrzZ6Af2z5TMrI4dv5w1SrxHaZ+ziLQIDAQABAoIBAHTndeGgq/rQf8De
-Do+4CTaHtK0zQSAyu/azbXUzlZ7drKuCEVs8VMY4wzmwwGEnkF+A2YDkgEUX5X0l
-8aYQ97KKoS9u+43MGCrAIhyDeGrpqlT1TzRcy+qJz53v6gq2U/X/3QztiQ+VV078
-mIluxNgE9XYxPaNsYfGLSCTv1+9c8y/hjGVX2kwFK+u4ut0ZZETggNa8UxfaHVDS
-fIJQX9Gm3J3GSUV30fDGMBIUW6ESLc2L8b7u8Mp9TRP39ZeQSuEUjBe8MYKv0Rel
-oEpjZvcnniMTpFbLpndBYn7/AoIiEBvtCN8faVTuRRcvvLcsRm09IctzKQYnMh6M
-6PLKV+ECgYEA8HFRYaKHUzxpzE/fyon82GQbzqFFY0/bbWrfWICMfNbIgshJUie6
-FmH5iUFMfeqaT7v557HFM0GB9FeIeSbvd88YmiBAcRopZ3DfMkDH+DT73yJ+/TKG
-2nrQtdhyuTIs4bwHqeS2BBJYs7PK9R2rratF3l34Tf7mjlvyOgygHdUCgYEAxBo2
-8hEBlAVNcNb1hTYUxe1w1B6675/mFlmw98Xmj9dRYfICXNhahs8tX3/lsBEd+vBu
-fI0oyHaff8m5bPgGzD1ZMybfeROujNrgxaKVk7Ef0FDRRCop4bm18OroFlFAt9l8
-wMp++ToACbdvQvL/mjWMPYlIxhB/YxHswICZZvkCgYAexxKYwdo6sGAGlC7cWT9x
-X5cjowcjyEQZRHXkeUgCbufpvcOM7aLnXJE5nY8yCwbHsBM0MlBA2GDPKylAANjk
-aDEJAZneIHAuWodngl1Wi0m2bU7+ECqs6s2uiU9eH2sZVh1RBQK7kLGkBx6ys6KX
-L3ZZGYRAT6GplWFzRsx0JQKBgCeVlxPD5QqpC1nEumi6YvUVGdpnnZpzL3HBhxxs
-wT612wKnZFyze4qM1X7ahVXGDsQxtkvD/sCAWW/lG13orw6ZL6FIroF1PJ3ILOkY
-CZN3hJF7TtKwpCWhZB2OfWzL2AGEkE8mUP0j/Q/5DCd6f6f0OSvOw3bfq6cm3iB5
-lP2ZAoGAXsRN5TZTX4AQ2xTlrDQ8A5XgcvyWQpJOmEXMTyHV7VaJVzmNWFVAvndK
-5UIq8ALDwB2t7vjmMUW6euvIwqtXiop7G79UOb3e3NhzeyWFGQyBLqCRznGaXQTT
-dlFy73xhukZMhFnj006bjKCYvOPnwuGl3+0fuWil5Rq3jOuY5c8=
------END RSA PRIVATE KEY-----
diff --git a/netconf/netconf-ssh/src/test/resources/logback-test.xml b/netconf/netconf-ssh/src/test/resources/logback-test.xml
deleted file mode 100644 (file)
index 324c234..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<configuration>
-
-  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-    <encoder>
-      <pattern>%date{"yyyy-MM-dd HH:mm:ss.SSS z"} [%thread] %-5level %logger{36} - %msg%n</pattern>
-    </encoder>
-  </appender>
-
-  <root level="error">
-    <appender-ref ref="STDOUT" />
-  </root>
-  <logger name="org.opendaylight.controller.netconf" level="TRACE"/>
-</configuration>
index 9eafcdbed768715171e1a6d289cdbc8826e7bfb9..df788c45bff84322bb53d8df35bdac7ec1013963 100644 (file)
@@ -44,7 +44,6 @@
     <module>netconf-netty-util</module>
     <module>netconf-mapping-api</module>
     <module>netconf-client</module>
-    <module>netconf-ssh</module>
     <module>netconf-tcp</module>
     <module>netconf-auth</module>
     <module>aaa-authn-odl-plugin</module>
index beaed7d7dd818a0526629796442d3c3f7235988c..f1c3db6de52d49e47af5f593f5fcfdcb30e079ed 100644 (file)
             <groupId>org.opendaylight.netconf</groupId>
             <artifactId>mdsal-netconf-monitoring</artifactId>
         </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>netconf-ssh</artifactId>
-        </dependency>
         <dependency>
             <groupId>org.opendaylight.mdsal</groupId>
             <artifactId>mdsal-dom-inmemory-datastore</artifactId>
             <groupId>org.opendaylight.netconf</groupId>
             <artifactId>mdsal-netconf-connector</artifactId>
         </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>mdsal-netconf-ssh</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.apache.karaf.features</groupId>
             <artifactId>org.apache.karaf.features.core</artifactId>