summaryrefslogtreecommitdiffstats
path: root/vpp-common/minimal-distribution/src/main/java/io/fd/honeycomb/vpp/distro/JVppProvider.groovy
diff options
context:
space:
mode:
authorMarek Gradzki <mgradzki@cisco.com>2016-08-05 14:49:14 +0200
committerMarek Gradzki <mgradzki@cisco.com>2016-08-19 13:54:35 +0200
commit0ce0fa21ea0ae4f6e2b56546a8275901f9cf8196 (patch)
tree7269034178fd35f0df6608ea7214233f8c0b8b5e /vpp-common/minimal-distribution/src/main/java/io/fd/honeycomb/vpp/distro/JVppProvider.groovy
parent31f01fcfadf8707aefe6bf3a09daf570ce248fc5 (diff)
HONEYCOMB-117: add support for jvpp plugins
Change-Id: I9f1dd5562b13a37392ce92b170a466c48d61bcc5 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Diffstat (limited to 'vpp-common/minimal-distribution/src/main/java/io/fd/honeycomb/vpp/distro/JVppProvider.groovy')
-rw-r--r--vpp-common/minimal-distribution/src/main/java/io/fd/honeycomb/vpp/distro/JVppProvider.groovy58
1 files changed, 0 insertions, 58 deletions
diff --git a/vpp-common/minimal-distribution/src/main/java/io/fd/honeycomb/vpp/distro/JVppProvider.groovy b/vpp-common/minimal-distribution/src/main/java/io/fd/honeycomb/vpp/distro/JVppProvider.groovy
deleted file mode 100644
index 51bf5be9e..000000000
--- a/vpp-common/minimal-distribution/src/main/java/io/fd/honeycomb/vpp/distro/JVppProvider.groovy
+++ /dev/null
@@ -1,58 +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.vpp.distro
-
-import com.google.inject.Inject
-import groovy.transform.ToString
-import groovy.util.logging.Slf4j
-import io.fd.honeycomb.infra.distro.ProviderTrait
-import org.openvpp.jvpp.JVppImpl
-import org.openvpp.jvpp.VppJNIConnection
-import org.openvpp.jvpp.future.FutureJVpp
-import org.openvpp.jvpp.future.FutureJVppFacade
-
-/**
- * This must be a singleton due to shutdown hook usage.
- */
-@Slf4j
-@ToString
-class JVppProvider extends ProviderTrait<FutureJVpp> {
-
- @Inject
- VppConfigAttributes config
-
- def create() {
- try {
- def connection = new VppJNIConnection(config.jvppConnectionName)
- def jVpp = new JVppImpl(connection)
-
- // Closing JVpp connection with shutdown hook to erase the connection from VPP so HC will be able
- // to connect next time. If JVM is force closed, this will not be executed and VPP connection
- // with name from config will stay open and prevent next startup of HC to success
- Runtime.addShutdownHook {
- log.info("Disconnecting from VPP")
- jVpp.close()
- connection.close()
- log.info("Successfully disconnected from VPP as {}", config.jvppConnectionName)
- }
- log.info("JVpp connection opened successfully as: {}", config.jvppConnectionName)
- new FutureJVppFacade(jVpp)
- } catch (IOException e) {
- throw new IllegalStateException("Unable to open VPP management connection", e)
- }
- }
-}