From cefd2555dbf421a62269c393d0d9d28964f38e2b Mon Sep 17 00:00:00 2001 From: Maros Marsalek Date: Thu, 25 Aug 2016 10:46:02 +0200 Subject: Remove groovy to reduce footprint Change-Id: I798558e52329c26aa5481d702745c4d46e290615 Signed-off-by: Maros Marsalek --- .../distro/netconf/NetconfSshServerProvider.groovy | 97 ---------------------- 1 file changed, 97 deletions(-) delete mode 100644 infra/minimal-distribution/src/main/java/io/fd/honeycomb/infra/distro/netconf/NetconfSshServerProvider.groovy (limited to 'infra/minimal-distribution/src/main/java/io/fd/honeycomb/infra/distro/netconf/NetconfSshServerProvider.groovy') diff --git a/infra/minimal-distribution/src/main/java/io/fd/honeycomb/infra/distro/netconf/NetconfSshServerProvider.groovy b/infra/minimal-distribution/src/main/java/io/fd/honeycomb/infra/distro/netconf/NetconfSshServerProvider.groovy deleted file mode 100644 index 55daca23d..000000000 --- a/infra/minimal-distribution/src/main/java/io/fd/honeycomb/infra/distro/netconf/NetconfSshServerProvider.groovy +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright (c) 2016 Cisco and/or its affiliates. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package io.fd.honeycomb.infra.distro.netconf - -import com.google.common.util.concurrent.ThreadFactoryBuilder -import com.google.inject.Inject -import groovy.transform.ToString -import groovy.util.logging.Slf4j -import io.fd.honeycomb.infra.distro.cfgattrs.HoneycombConfiguration -import io.fd.honeycomb.infra.distro.ProviderTrait -import io.netty.channel.ChannelFuture -import io.netty.channel.local.LocalAddress -import io.netty.channel.nio.NioEventLoopGroup -import io.netty.util.concurrent.GenericFutureListener -import io.netty.util.concurrent.GlobalEventExecutor -import org.apache.sshd.server.keyprovider.PEMGeneratorHostKeyProvider -import org.opendaylight.netconf.api.NetconfServerDispatcher -import org.opendaylight.netconf.ssh.SshProxyServer -import org.opendaylight.netconf.ssh.SshProxyServerConfigurationBuilder - -import java.util.concurrent.Executors -import java.util.concurrent.ScheduledExecutorService - -@Slf4j -@ToString -class NetconfSshServerProvider extends ProviderTrait { - - @Inject - NetconfServerDispatcher dispatcher - @Inject - HoneycombConfiguration cfgAttributes - @Inject - NioEventLoopGroup nettyThreadgroup - - private ScheduledExecutorService pool = - Executors.newScheduledThreadPool(1, new ThreadFactoryBuilder().setNameFormat("netconf-ssh-%d").build()) - - @Override - def create() { - def name = InetAddress.getByName(cfgAttributes.netconfSshBindingAddress.get()) - def bindingAddress = new InetSocketAddress(name, cfgAttributes.netconfSshBindingPort.get()) - - def localAddress = new LocalAddress(cfgAttributes.netconfSshBindingPort.toString()) - def localServer = dispatcher.createLocalServer(localAddress) - - def sshProxyServer = new SshProxyServer(pool, nettyThreadgroup, GlobalEventExecutor.INSTANCE) - - def sshConfigBuilder = new SshProxyServerConfigurationBuilder() - sshConfigBuilder.bindingAddress = bindingAddress - sshConfigBuilder.localAddress = localAddress - // TODO only simple authProvider checking ConfigAttributes - sshConfigBuilder.authenticator = { String uname, String passwd -> - cfgAttributes.username == uname && cfgAttributes.password == passwd - } - sshConfigBuilder.idleTimeout = Integer.MAX_VALUE - sshConfigBuilder.keyPairProvider = new PEMGeneratorHostKeyProvider() - - localServer.addListener(new GenericFutureListener() { - - @Override - public void operationComplete(final ChannelFuture future) { - if(future.isDone() && !future.isCancelled()) { - try { - sshProxyServer.bind(sshConfigBuilder.createSshProxyServerConfiguration()) - log.info "Netconf SSH endpoint started successfully at {}", bindingAddress - } catch (final IOException e) { - throw new RuntimeException("Unable to start SSH netconf server", e) - } - } else { - log.warn "Unable to start SSH netconf server at {}", bindingAddress, future.cause() - throw new RuntimeException("Unable to start SSH netconf server", future.cause()) - } - } - }) - - return new NetconfSshServer(localServer: localServer, sshProxyServer: sshProxyServer) - } - - static class NetconfSshServer { - def localServer - def sshProxyServer - } -} -- cgit 1.2.3-korg