summaryrefslogtreecommitdiffstats
path: root/daexim-offsite-backup/provider/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'daexim-offsite-backup/provider/src/main')
-rwxr-xr-xdaexim-offsite-backup/provider/src/main/java/org/onap/ccsdk/sli/northbound/daeximoffsitebackup/DaeximOffsiteBackupProvider.java429
-rwxr-xr-xdaexim-offsite-backup/provider/src/main/java/org/onap/ccsdk/sli/northbound/daeximoffsitebackup/DaeximOffsiteBackupUtil.java78
-rwxr-xr-xdaexim-offsite-backup/provider/src/main/resources/OSGI-INF/blueprint/DaeximOffsiteBackup.xml20
-rwxr-xr-xdaexim-offsite-backup/provider/src/main/resources/daexim-offsite-backup.properties28
-rwxr-xr-xdaexim-offsite-backup/provider/src/main/resources/org/opendaylight/blueprint/DaeximOffsiteBackup.xml20
5 files changed, 0 insertions, 575 deletions
diff --git a/daexim-offsite-backup/provider/src/main/java/org/onap/ccsdk/sli/northbound/daeximoffsitebackup/DaeximOffsiteBackupProvider.java b/daexim-offsite-backup/provider/src/main/java/org/onap/ccsdk/sli/northbound/daeximoffsitebackup/DaeximOffsiteBackupProvider.java
deleted file mode 100755
index 09c8f92f4..000000000
--- a/daexim-offsite-backup/provider/src/main/java/org/onap/ccsdk/sli/northbound/daeximoffsitebackup/DaeximOffsiteBackupProvider.java
+++ /dev/null
@@ -1,429 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2018 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
-*/
-
-package org.onap.ccsdk.sli.northbound.daeximoffsitebackup;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.time.Instant;
-import java.time.ZoneId;
-import java.time.format.DateTimeFormatter;
-import java.util.Arrays;
-import java.util.Base64;
-import java.util.Collection;
-import java.util.List;
-import java.util.Properties;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipInputStream;
-import java.util.zip.ZipOutputStream;
-import javax.annotation.Nonnull;
-
-import com.google.common.util.concurrent.CheckedFuture;
-import com.google.common.util.concurrent.Futures;
-import com.google.common.util.concurrent.ListenableFuture;
-
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeChangeListener;
-import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
-import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
-import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
-import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
-import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.daeximoffsitebackup.rev180926.BackupDataInput;
-import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.daeximoffsitebackup.rev180926.BackupDataOutput;
-import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.daeximoffsitebackup.rev180926.BackupDataOutputBuilder;
-import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.daeximoffsitebackup.rev180926.DaeximOffsiteBackupService;
-import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.daeximoffsitebackup.rev180926.RetrieveDataOutput;
-import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.daeximoffsitebackup.rev180926.RetrieveDataOutputBuilder;
-import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.daeximoffsitebackup.rev180926.RetrieveDataInput;
-import org.opendaylight.yangtools.yang.common.RpcResult;
-import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class DaeximOffsiteBackupProvider implements AutoCloseable, DaeximOffsiteBackupService, DataTreeChangeListener {
- private static final Logger LOG = LoggerFactory.getLogger(DaeximOffsiteBackupProvider.class);
-
- private static String DAEXIM_DIR;
- private static String CREDENTIALS;
- private static String NEXUS_URL;
- private static String POD_NAME;
- private static String OPERATIONAL_JSON;
- private static String MODELS_JSON;
- private static String CONFIG_JSON;
- private static String PROPERTIES_FILE = System.getenv("SDNC_CONFIG_DIR") + "/daexim-offsite-backup.properties";
-
- private static final String BACKUP_ARCHIVE = "odl_backup.zip";
- private static final String appName = "daexim-offsite-backup";
-
- private final ExecutorService executor;
- private Properties properties;
- private DataBroker dataBroker;
- private RpcProviderRegistry rpcRegistry;
- private BindingAwareBroker.RpcRegistration<DaeximOffsiteBackupService> rpcRegistration;
-
- public DaeximOffsiteBackupProvider(DataBroker dataBroker,
- RpcProviderRegistry rpcProviderRegistry) {
- LOG.info("Creating provider for " + appName);
- this.executor = Executors.newFixedThreadPool(1);
- this.dataBroker = dataBroker;
- this.rpcRegistry = rpcProviderRegistry;
- initialize();
- }
-
- public void initialize() {
- LOG.info("Initializing provider for " + appName);
- // Create the top level containers
- createContainers();
- try {
- DaeximOffsiteBackupUtil.loadProperties();
- } catch (Exception e) {
- LOG.error("Caught Exception while trying to load properties file", e);
- }
- rpcRegistration = rpcRegistry.addRpcImplementation(DaeximOffsiteBackupService.class, this);
- LOG.info("Initialization complete for " + appName);
- }
-
- private void loadProperties() {
- LOG.info("Loading properties from " + PROPERTIES_FILE);
- if(properties == null)
- properties = new Properties();
- File propertiesFile = new File(PROPERTIES_FILE);
- if(!propertiesFile.exists()) {
- LOG.warn("Properties file (" + PROPERTIES_FILE + ") not found. Using default properties.");
- properties.put("daeximDirectory", "/opt/opendaylight/current/daexim/");
- properties.put("credentials", "admin:enc:YWRtaW4xMjM=");
- properties.put("nexusUrl", "http://localhost:8081/nexus/content/repositories/");
- properties.put("podName", "UNKNOWN_ODL");
- properties.put("file.operational", "odl_backup_operational.json");
- properties.put("file.models", "odl_backup_models.json");
- properties.put("file.config", "odl_backup_config.json");
- return;
- }
- FileInputStream fileInputStream;
- try {
- fileInputStream = new FileInputStream(propertiesFile);
- properties.load(fileInputStream);
- fileInputStream.close();
- LOG.info(properties.size() + " properties loaded.");
- LOG.info("daeximDirectory: " + properties.getProperty("daeximDirectory"));
- LOG.info("nexusUrl: " + properties.getProperty("nexusUrl"));
- LOG.info("podName: " + properties.getProperty("podName"));
- LOG.info("file.operational: " + properties.getProperty("file.operational"));
- LOG.info("file.models: " + properties.getProperty("file.models"));
- LOG.info("file.config: " + properties.getProperty("file.config"));
- } catch(IOException e) {
- LOG.error("Error loading properties.", e);
- }
- }
-
- private void applyProperties() {
- LOG.info("Applying properties...");
- if(POD_NAME == null || POD_NAME.isEmpty()) {
- LOG.warn("MY_POD_NAME environment variable not set. Using value from properties.");
- POD_NAME = properties.getProperty("podName");
- }
- DAEXIM_DIR = properties.getProperty("daeximDirectory");
- NEXUS_URL = properties.getProperty("nexusUrl");
-
- OPERATIONAL_JSON = properties.getProperty("file.operational");
- MODELS_JSON = properties.getProperty("file.models");
- CONFIG_JSON = properties.getProperty("file.config");
-
- if(!properties.getProperty("credentials").contains(":")) { //Entire thing is encoded
- CREDENTIALS = new String(Base64.getDecoder().decode(properties.getProperty("credentials")));
- }
- else {
- String[] credentials = properties.getProperty("credentials").split(":", 2);
- if(credentials[1].startsWith("enc:")) { // Password is encoded
- credentials[1] = new String(Base64.getDecoder().decode(credentials[1].split(":")[1]));
- }
- CREDENTIALS = credentials[0] + ":" + credentials[1];
- }
- LOG.info("Properties applied.");
- }
-
- private void createContainers() {
- final WriteTransaction t = dataBroker.newReadWriteTransaction();
- try {
- CheckedFuture<Void, TransactionCommitFailedException> checkedFuture = t.submit();
- checkedFuture.get();
- LOG.info("Create Containers succeeded!: ");
- } catch (InterruptedException | ExecutionException e) {
- LOG.error("Create Containers Failed: " + e);
- LOG.error("context", e);
- }
- }
-
- protected void initializeChild() {
-
- }
-
- @Override
- public void close() throws Exception {
- LOG.info("Closing provider for " + appName);
- executor.shutdown();
- rpcRegistration.close();
- LOG.info("Successfully closed provider for " + appName);
- }
-
- @Override
- public void onDataTreeChanged(@Nonnull Collection changes) {
-
- }
-
- @Override
- public ListenableFuture<RpcResult<BackupDataOutput>> backupData(BackupDataInput input) {
- final String SVC_OPERATION = "backup-data";
- LOG.info(appName + ":" + SVC_OPERATION + " called.");
-
- String statusCode;
- String message = "Data sent to offsite location.";
-
- loadProperties();
- applyProperties();
-
- LOG.info("Pod Name: " + POD_NAME);
- Instant timestamp = Instant.now();
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd_HH").withZone(ZoneId.of("GMT"));
- String timestampedArchive = DAEXIM_DIR + POD_NAME + '-' + formatter.format(timestamp) + "-" + BACKUP_ARCHIVE;
- try {
- LOG.info("Creating archive...");
- List<String> daeximFiles = Arrays.asList(DAEXIM_DIR + OPERATIONAL_JSON,DAEXIM_DIR + MODELS_JSON, DAEXIM_DIR + CONFIG_JSON);
- createArchive(daeximFiles, timestampedArchive);
- LOG.info("Archive created.");
- } catch(IOException e) {
- LOG.error("Error creating archive " + timestampedArchive);
- LOG.error(e.getMessage());
- statusCode = "500";
- message = "Archive creation failed.";
- return buildBackupDataFuture(statusCode, message);
- }
-
- try{
- LOG.info("Sending archive to Nexus server: " + NEXUS_URL);
- statusCode = Integer.toString(putArchive(timestampedArchive));
- LOG.info("Archive sent to Nexus.");
- } catch(IOException e) {
- LOG.error("Nexus creation failed.", e);
- statusCode = "500";
- message = "Nexus creation failed.";
- }
-
- File archive = new File(timestampedArchive);
- if(archive.exists()) {
- archive.delete(); // Save some space on the ODL, keep them from piling up
- }
-
- LOG.info("Sending Response statusCode=" + statusCode+ " message=" + message + " | " + SVC_OPERATION);
- return buildBackupDataFuture(statusCode, message);
- }
-
- @Override
- public ListenableFuture<RpcResult<RetrieveDataOutput>> retrieveData(RetrieveDataInput input) {
- final String SVC_OPERATION = "retrieve-data";
- LOG.info(appName + ":" + SVC_OPERATION + " called.");
-
- String statusCode = "200";
- String message = "Data retrieved from offsite location.";
-
- loadProperties();
- applyProperties();
-
- LOG.info("Pod Name: " + POD_NAME);
- String archiveIdentifier = POD_NAME + '-' + input.getTimestamp();
- String timestampedArchive = DAEXIM_DIR + archiveIdentifier + "-" + BACKUP_ARCHIVE;
- LOG.info("Trying to retrieve " + timestampedArchive);
- try {
- statusCode = Integer.toString(getArchive(archiveIdentifier));
- } catch(IOException e) {
- LOG.error("Could not retrieve archive.", e);
- statusCode = "500";
- message = "Could not retrieve archive.";
- return retrieveDataOutputRpcResult(statusCode, message);
- }
- LOG.info("Retrieved archive.");
-
- LOG.info("Extracting archive...");
- try {
- extractArchive(DAEXIM_DIR + "-" + BACKUP_ARCHIVE);
- } catch(IOException e) {
- LOG.error("Could not extract archive.", e);
- statusCode = "500";
- message = "Could not extract archive.";
- return retrieveDataOutputRpcResult(statusCode, message);
- }
- LOG.info("Archive extracted.");
-
- return retrieveDataOutputRpcResult(statusCode, message);
- }
-
- private boolean exportExists(List<String> daeximFiles) {
- File file;
- for(String f : daeximFiles) {
- file = new File(f);
- if(!file.exists()) {
- return false;
- }
- }
- return true;
- }
-
- private void createArchive(List<String> daeximFiles, String timestampedArchive) throws IOException {
- if(!exportExists(daeximFiles)) {
- LOG.error("Daexim exports do not exist.");
- throw new IOException();
- }
- LOG.info("Creating " + timestampedArchive);
- FileOutputStream fileOutputStream = new FileOutputStream(timestampedArchive);
- ZipOutputStream zipOutputStream = new ZipOutputStream(fileOutputStream);
- File targetZipFile;
- FileInputStream fileInputStream;
- ZipEntry zipEntry;
- byte[] bytes;
- int length;
- for(String source : daeximFiles) {
- LOG.info("Adding " + source + " to archive...");
- targetZipFile = new File(source);
- fileInputStream = new FileInputStream(targetZipFile);
- zipEntry = new ZipEntry(targetZipFile.getName());
- zipOutputStream.putNextEntry(zipEntry);
- bytes = new byte[1024];
-
- while((length = fileInputStream.read(bytes)) >= 0) {
- zipOutputStream.write(bytes, 0, length);
- }
- fileInputStream.close();
- }
-
- zipOutputStream.close();
- fileOutputStream.close();
- }
-
- private void extractArchive(String timestampedArchive) throws IOException {
- byte[] bytes = new byte[1024];
- ZipInputStream zis = new ZipInputStream(new FileInputStream(timestampedArchive));
- ZipEntry zipEntry = zis.getNextEntry();
- while(zipEntry != null){
- String fileName = zipEntry.getName();
- File newFile = new File(DAEXIM_DIR + fileName);
- FileOutputStream fos = new FileOutputStream(newFile);
- int len;
- while ((len = zis.read(bytes)) > 0) {
- fos.write(bytes, 0, len);
- }
- fos.close();
- LOG.info(zipEntry.getName() + " extracted.");
- zipEntry = zis.getNextEntry();
- }
- zis.closeEntry();
- zis.close();
- LOG.info(timestampedArchive + " extracted successfully.");
- }
-
- private int putArchive(String timestampedArchive) throws IOException {
- File archive = new File(timestampedArchive);
- HttpURLConnection connection = getNexusConnection(archive.getName());
- connection.setRequestProperty("Content-Length", Long.toString(archive.length()));
- connection.setRequestMethod("PUT");
- connection.setDoOutput(true);
-
- FileInputStream fileInputStream = new FileInputStream(archive);
- OutputStream outputStream = connection.getOutputStream();
-
- byte[] bytes = new byte[1024];
- int length;
- while((length = fileInputStream.read(bytes)) >= 0) {
- outputStream.write(bytes, 0, length);
- }
-
- outputStream.flush();
- outputStream.close();
- fileInputStream.close();
- connection.disconnect();
-
- LOG.info("Status: " + connection.getResponseCode());
- LOG.info("Message: " + connection.getResponseMessage());
- return connection.getResponseCode();
- }
-
- private HttpURLConnection getNexusConnection(String archive) throws IOException {
- URL url = new URL(NEXUS_URL + archive);
- String auth = "Basic " + javax.xml.bind.DatatypeConverter.printBase64Binary(CREDENTIALS.getBytes());
- HttpURLConnection connection = (HttpURLConnection) url.openConnection();
- connection.addRequestProperty("Authorization", auth);
- connection.setRequestProperty("Connection", "keep-alive");
- connection.setRequestProperty("Proxy-Connection", "keep-alive");
- return connection;
- }
-
- private int getArchive(String archiveIdentifier) throws IOException {
- File archive = new File(DAEXIM_DIR + "backup.zip");
- if(archive.exists()) {
- LOG.info("Recently retrieved archive found. Removing old archive...");
- archive.delete();
- LOG.info("Archive removed.");
- }
- HttpURLConnection connection = getNexusConnection( archiveIdentifier + "-" + BACKUP_ARCHIVE);
- connection.setRequestMethod("GET");
- connection.setDoInput(true);
-
- InputStream connectionInputStream = connection.getInputStream();
- FileOutputStream fileOutputStream = new FileOutputStream(archive);
-
- byte[] bytes = new byte[1024];
- int length;
- while((length = connectionInputStream.read(bytes)) >= 0) { // while connection has bytes
- fileOutputStream.write(bytes, 0, length); // write to archive
- }
- connection.disconnect();
-
- LOG.info("Status: " + connection.getResponseCode());
- LOG.info("Message: " + connection.getResponseMessage());
- LOG.info(archive.getName() + " successfully created.");
- return connection.getResponseCode();
- }
-
- private ListenableFuture<RpcResult<BackupDataOutput>> buildBackupDataFuture(String statusCode, String message) {
- BackupDataOutputBuilder outputBuilder = new BackupDataOutputBuilder();
- outputBuilder.setStatus(statusCode);
- outputBuilder.setMessage(message);
- RpcResult<BackupDataOutput> rpcResult = RpcResultBuilder.<BackupDataOutput> status(true).withResult(outputBuilder.build()).build();
- return Futures.immediateFuture(rpcResult);
- }
-
- private ListenableFuture<RpcResult<RetrieveDataOutput>> retrieveDataOutputRpcResult(String status, String message) {
- RetrieveDataOutputBuilder outputBuilder = new RetrieveDataOutputBuilder();
- outputBuilder.setStatus(status);
- outputBuilder.setMessage(message);
- RpcResult<RetrieveDataOutput> rpcResult = RpcResultBuilder.<RetrieveDataOutput> status(true).withResult(outputBuilder.build()).build();
- return Futures.immediateFuture(rpcResult);
- }
-}
diff --git a/daexim-offsite-backup/provider/src/main/java/org/onap/ccsdk/sli/northbound/daeximoffsitebackup/DaeximOffsiteBackupUtil.java b/daexim-offsite-backup/provider/src/main/java/org/onap/ccsdk/sli/northbound/daeximoffsitebackup/DaeximOffsiteBackupUtil.java
deleted file mode 100755
index 7adb2fa1b..000000000
--- a/daexim-offsite-backup/provider/src/main/java/org/onap/ccsdk/sli/northbound/daeximoffsitebackup/DaeximOffsiteBackupUtil.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2018 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.northbound.daeximoffsitebackup;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Properties;
-
-import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.daeximoffsitebackup.rev180926.BackupDataOutputBuilder;
-
-import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.daeximoffsitebackup.rev180926.RetrieveDataInputBuilder;
-import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.daeximoffsitebackup.rev180926.RetrieveDataOutputBuilder;
-
-import org.onap.ccsdk.sli.core.sli.provider.MdsalHelper;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class DaeximOffsiteBackupUtil extends MdsalHelper {
- private static final Logger LOG = LoggerFactory.getLogger(DaeximOffsiteBackupUtil.class);
- private static String PROPERTIES_FILE;
-
- public static void loadProperties() {
- File file = new File(PROPERTIES_FILE);
- Properties properties = new Properties();
- InputStream input = null;
- if(file.isFile() && file.canRead()) {
- try {
- input = new FileInputStream(file);
- properties.load(input);
- LOG.info("Loaded properties from " + PROPERTIES_FILE);
- setProperties(properties);
- } catch (Exception e) {
- LOG.error("Failed to load properties " + PROPERTIES_FILE + "\n", e);
- } finally {
- if(input != null) {
- try {
- input.close();
- } catch (IOException e) {
- LOG.error("Failed to close properties file " + PROPERTIES_FILE + "\n", e);
- }
- }
- }
- }
- }
-
- static {
- // Trick class loader into loading builders. Some of
- // these will be needed later by Reflection classes, but need
- // to explicitly "new" them here to get class loader to load them.
-
- BackupDataOutputBuilder b1 = new BackupDataOutputBuilder();
-
- RetrieveDataOutputBuilder b2 = new RetrieveDataOutputBuilder();
- RetrieveDataInputBuilder b3 = new RetrieveDataInputBuilder();
- }
-}
diff --git a/daexim-offsite-backup/provider/src/main/resources/OSGI-INF/blueprint/DaeximOffsiteBackup.xml b/daexim-offsite-backup/provider/src/main/resources/OSGI-INF/blueprint/DaeximOffsiteBackup.xml
deleted file mode 100755
index 8e2101ad3..000000000
--- a/daexim-offsite-backup/provider/src/main/resources/OSGI-INF/blueprint/DaeximOffsiteBackup.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<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="dataBroker"
- interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"
- odl:type="default" />
-
- <reference id="rpcRegistry"
- interface="org.opendaylight.controller.sal.binding.api.RpcProviderRegistry"
- odl:type="default" />
-
- <bean id="provider" class="org.onap.ccsdk.sli.northbound.daeximoffsitebackup.DaeximOffsiteBackupProvider">
- <argument ref="dataBroker" />
- <argument ref="rpcRegistry" />
- </bean>
-
- <odl:rpc-implementation ref="provider"/>
-</blueprint>
diff --git a/daexim-offsite-backup/provider/src/main/resources/daexim-offsite-backup.properties b/daexim-offsite-backup/provider/src/main/resources/daexim-offsite-backup.properties
deleted file mode 100755
index 51efc1f1e..000000000
--- a/daexim-offsite-backup/provider/src/main/resources/daexim-offsite-backup.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-# ============LICENSE_START=======================================================
-# openECOMP : SDN-C
-# ================================================================================
-# Copyright (C) 2019 AT&T Intellectual Property. All rights
-# reserved.
-# ================================================================================
-# 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.
-# ============LICENSE_END=========================================================
-
-# Example properties file
-
-daeximDirectory=/opt/opendaylight/current/daexim/
-credentials=admin:enc:YWRtaW4xMjM=
-nexusUrl=http://localhost:8081/nexus/content/repositories/
-podName=UNKNOWN_ODL
-file.operational=odl_backup_operational.json
-file.models=odl_backup_models.json
-file.config=odl_backup_config.json \ No newline at end of file
diff --git a/daexim-offsite-backup/provider/src/main/resources/org/opendaylight/blueprint/DaeximOffsiteBackup.xml b/daexim-offsite-backup/provider/src/main/resources/org/opendaylight/blueprint/DaeximOffsiteBackup.xml
deleted file mode 100755
index 8e2101ad3..000000000
--- a/daexim-offsite-backup/provider/src/main/resources/org/opendaylight/blueprint/DaeximOffsiteBackup.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<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="dataBroker"
- interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"
- odl:type="default" />
-
- <reference id="rpcRegistry"
- interface="org.opendaylight.controller.sal.binding.api.RpcProviderRegistry"
- odl:type="default" />
-
- <bean id="provider" class="org.onap.ccsdk.sli.northbound.daeximoffsitebackup.DaeximOffsiteBackupProvider">
- <argument ref="dataBroker" />
- <argument ref="rpcRegistry" />
- </bean>
-
- <odl:rpc-implementation ref="provider"/>
-</blueprint>