* openECOMP : SDN-C
* ================================================================================
* Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
+ * reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
package org.onap.sdnc.vnfapi;
-import com.google.common.base.Optional;
import com.google.common.util.concurrent.CheckedFuture;
import com.google.common.util.concurrent.FutureCallback;
import com.google.common.util.concurrent.Futures;
-import com.google.common.util.concurrent.SettableFuture;
+import com.google.common.util.concurrent.ListenableFuture;
+import com.google.common.base.Optional;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.DataChangeListener;
+import org.opendaylight.controller.md.sal.binding.api.DataTreeChangeListener;
+import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
-import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent;
import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
import org.opendaylight.controller.md.sal.common.api.data.OptimisticLockFailedException;
import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.model.infrastructure.VnfList;
import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.model.infrastructure.VnfListBuilder;
import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.model.infrastructure.VnfListKey;
-import org.opendaylight.yangtools.concepts.ListenerRegistration;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.common.RpcResult;
import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
import org.opendaylight.yangtools.yang.data.api.schema.tree.ModifiedNodeDoesNotExistException;
+import org.onap.ccsdk.sli.core.sli.SvcLogicException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.MDC;
+
import java.text.DateFormat;
import java.text.SimpleDateFormat;
-import java.util.ArrayList;
import java.util.Date;
import java.util.Properties;
import java.util.TimeZone;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
+import java.util.ArrayList;
+import java.util.Collection;
import java.util.concurrent.Future;
/**
- * Defines a base implementation for your provider. This class extends from a helper class
- * which provides storage for the most commonly used components of the MD-SAL. Additionally the
- * base class provides some basic logging and initialization / clean up methods.
+ * Defines a base implementation for your provider. This class extends from a helper class which provides storage for
+ * the most commonly used components of the MD-SAL. Additionally the base class provides some basic logging and
+ * initialization / clean up methods.
*/
-public class VnfApiProvider implements AutoCloseable, VNFAPIService, DataChangeListener {
- private final Logger log = LoggerFactory.getLogger(VnfApiProvider.class);
-
- private static final String APP_NAME = "vnfapi";
-
- private VNFSDNSvcLogicServiceClient svcLogicClient;
- private final ExecutorService executor;
+public class VnfApiProvider implements AutoCloseable, VNFAPIService {
protected DataBroker dataBroker;
protected NotificationPublishService notificationService;
protected RpcProviderRegistry rpcRegistry;
protected BindingAwareBroker.RpcRegistration<VNFAPIService> rpcRegistration;
+ private final Logger log = LoggerFactory.getLogger(VnfApiProvider.class);
+ private final ExecutorService executor;
+
+ private static final String PRELOAD_DATA = "] PreloadData: ";
+ private static final String SENDING_SUCCESS_RPC = "Sending Success rpc result due to external error";
+ public static final String REASON = "', Reason: '";
+ public static final String ERROR_CODE = "] error code: '";
+ public static final String INVALID_INPUT_INVALID_PRELOAD_TYPE = "invalid input, invalid preload-type";
+ public static final String BECAUSE_OF_INVALID_PRELOAD_TYPE = " because of invalid preload-type";
+ public static final String INVALID_INPUT_NULL_OR_EMPTY_SERVICE_INSTANCE_ID = "invalid input, null or empty service-instance-id";
+ public static final String BECAUSE_OF_INVALID_INPUT_NULL_OR_EMPTY_SERVICE_INSTANCE_ID = " because of invalid input, null or empty service-instance-id";
+ private static final String APP_NAME = "vnfapi";
+ private static final String VNF_API = "VNF-API";
+ private static final String OPERATIONAL_DATA = "operational-data";
+ private static final String READ_MD_SAL_STR = "Read MD-SAL (";
+ private static final String DATA_FOR_STR = ") data for [";
+ private static final String SERVICE_DATA_STR = "] ServiceData: ";
+ private static final String NO_DATA_FOUND_STR = "No data found in MD-SAL (";
+ private static final String EXCEPTION_READING_MD_SAL_STR = "Caught Exception reading MD-SAL (";
+ private static final String FOR_STR = ") for [";
+ private static final String INVALID_INPUT_VF_MODULE_STR = "invalid input, null or empty vf-module-id";
+ private static final String UPDATED_MD_SAL_STR = "Updated MD-SAL for ";
+ private static final String RETURNED_SUCCESS_STR = "Returned SUCCESS for ";
+ private static final String UPDATING_OPERATIONAL_TREE_STR = "Updating OPERATIONAL tree.";
+ private static final String UPDATING_MD_SAL_STR = "Updating MD-SAL for ";
+ private static final String CAUGHT_EXCEPTION_STR = "Caught Exception updating MD-SAL for ";
+ private static final String RETURNED_FAILED_STR = "Returned FAILED for ";
+ private static final String ADDING_INPUT_DATA_STR = "Adding INPUT data for ";
+ private static final String ADDING_OPERATIONAL_DATA_STR = "Adding OPERATIONAL data for ";
+ private static final String OPERATIONAL_DATA_STR = "] operational-data: ";
+ private static final String ADDING_CONFIG_DATA_STR = "Adding CONFIG data for ";
+ private static final String INPUT_STR = "] input: ";
+ private static final String CALLED_STR = " called.";
+ private static final String EXITING_STR = "exiting ";
+ private static final String INVALID_INPUT_VNF_INSTANCE_STR = "invalid input, null or empty vnf-instance-id";
+
+ private VNFSDNSvcLogicServiceClient svcLogicClient;
public VnfApiProvider(DataBroker dataBroker2, NotificationPublishService notificationPublishService,
RpcProviderRegistry rpcProviderRegistry, VNFSDNSvcLogicServiceClient client) {
log.info("Successfully closed provider for " + APP_NAME);
}
- // On data change not used
- @Override
- public void onDataChanged(AsyncDataChangeEvent<InstanceIdentifier<?>, DataObject> change) {
-
- log.info(" IN ON DATA CHANGE: ");
-
- boolean changed = false;
- WriteTransaction writeTransaction = dataBroker.newWriteOnlyTransaction();
- DataObject updatedSubTree = change.getUpdatedSubtree();
-
- if (updatedSubTree != null) {
- if (log.isDebugEnabled()) {
- log.debug("updatedSubTree was non-null:" + updatedSubTree);
- }
- if (updatedSubTree instanceof Vnfs) {
- changed = isChanged(changed, (Vnfs) updatedSubTree);
- }
- if (updatedSubTree instanceof PreloadVnfs) {
- changed = isChanged(changed, (PreloadVnfs) updatedSubTree);
- }
- //1610
- if (updatedSubTree instanceof PreloadVnfInstances) {
- changed = isChanged(changed, (PreloadVnfInstances) updatedSubTree);
- }
- //1610
- if (updatedSubTree instanceof VnfInstances) {
- changed = isChanged(changed, (VnfInstances) updatedSubTree);
- }
- //1610
- if (updatedSubTree instanceof PreloadVfModules) {
- changed = isChanged(changed, (PreloadVfModules) updatedSubTree);
- }
- //1610
- if (updatedSubTree instanceof VfModules) {
- changed = isChanged(changed, (VfModules) updatedSubTree);
- }
- }
-
- // Do the write transaction only if something changed.
- if (changed) {
- CheckedFuture<Void, TransactionCommitFailedException> checkedFuture = writeTransaction.submit();
- Futures.addCallback(checkedFuture, new FutureCallback<Void>() {
-
- @Override
- public void onSuccess(Void arg0) {
- log.debug("Successfully updated Service Status");
- }
-
- @Override
- public void onFailure(Throwable e) {
- log.debug("Failed updating Service Status", e);
- }
- }, executor);
- }
- }
-
- private boolean isChanged(boolean changed, VfModules updatedSubTree) {
- ArrayList<VfModuleList> vfModuleList =
- (ArrayList<VfModuleList>) updatedSubTree.getVfModuleList();
- if (vfModuleList != null) {
- for (VfModuleList entry : vfModuleList) {
- VfModuleServiceData vfModuleServiceData = entry.getVfModuleServiceData();
- ServiceStatus serviceStatus = entry.getServiceStatus();
- if (vfModuleServiceData != null && serviceStatus != null) {
- // VfModuleServiceData change detected, check the AckFinal indicator and request-status to
- // see if we need to proceed.
- return isChanged(changed, serviceStatus);
- }
- }
- }
- return changed;
- }
-
- private boolean isChanged(boolean changed, PreloadVfModules updatedSubTree) {
- ArrayList<VfModulePreloadList> vnfInstanceList =
- (ArrayList<VfModulePreloadList>) updatedSubTree.getVfModulePreloadList();
- if (vnfInstanceList != null) {
- for (VfModulePreloadList entry : vnfInstanceList) {
- VfModulePreloadData vnfInstancePreloadData = entry.getVfModulePreloadData();
- if (vnfInstancePreloadData != null) {
- return true;
- }
- }
- }
- return changed;
- }
-
- private boolean isChanged(boolean changed, VnfInstances updatedSubTree) {
- ArrayList<VnfInstanceList> vnfInstanceList =
- (ArrayList<VnfInstanceList>) updatedSubTree.getVnfInstanceList();
- if (vnfInstanceList != null) {
- for (VnfInstanceList entry : vnfInstanceList) {
- VnfInstanceServiceData vnfInstanceServiceData = entry.getVnfInstanceServiceData();
- ServiceStatus serviceStatus = entry.getServiceStatus();
- if (vnfInstanceServiceData != null && serviceStatus != null) {
- // VnfInstanceServiceData change detected, check the AckFinal indicator and request-status
- // to see if we need to proceed.
- return isChanged(changed, serviceStatus);
- }
- }
- }
- return changed;
- }
-
- private boolean isChanged(boolean changed, PreloadVnfInstances updatedSubTree) {
- ArrayList<VnfInstancePreloadList> vnfInstanceList =
- (ArrayList<VnfInstancePreloadList>) updatedSubTree
- .getVnfInstancePreloadList();
- if (vnfInstanceList != null) {
- for (VnfInstancePreloadList entry : vnfInstanceList) {
- VnfInstancePreloadData vnfInstancePreloadData = entry.getVnfInstancePreloadData();
- if (vnfInstancePreloadData != null) {
- return true;
- }
- }
- }
- return changed;
- }
-
- private boolean isChanged(boolean changed, PreloadVnfs updatedSubTree) {
- ArrayList<VnfPreloadList> vnfList =
- (ArrayList<VnfPreloadList>) updatedSubTree.getVnfPreloadList();
- if (vnfList != null) {
- for (VnfPreloadList entry : vnfList) {
- PreloadData preloadData = entry.getPreloadData();
- if (preloadData != null) {
- return true;
- }
- }
- }
- return changed;
- }
-
- private boolean isChanged(boolean changed, Vnfs updatedSubTree) {
- ArrayList<VnfList> vnfList = (ArrayList<VnfList>) updatedSubTree.getVnfList();
- if (vnfList != null) {
- for (VnfList entry : vnfList) {
- ServiceData serviceData = entry.getServiceData();
- ServiceStatus serviceStatus = entry.getServiceStatus();
- if (serviceData != null && serviceStatus != null) {
- //
- // ServiceData change detected, check the AckFinal indicator and request-status to see if we need to proceed.
- //
- return isChanged(changed, serviceStatus);
- }
- }
- }
- return changed;
- }
-
- private boolean isChanged(boolean changed, ServiceStatus serviceStatus) {
- if ((!"Y".equals(serviceStatus.getFinalIndicator())) && (RequestStatus.Synccomplete
- .equals(serviceStatus.getRequestStatus()))) {
- if (log.isDebugEnabled()) {
- log.debug("Final Indicator is not Y, calling handleServiceDataUpdated");
- }
- return true;
- }
- return changed;
- }
private static class Iso8601Util {
+
private static TimeZone tz = TimeZone.getTimeZone("UTC");
private static DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
- private Iso8601Util() {}
+ private Iso8601Util() {
+ }
static {
df.setTimeZone(tz);
private void getServiceData(String siid, ServiceDataBuilder serviceDataBuilder, LogicalDatastoreType type) {
// See if any data exists yet for this siid, if so grab it.
- InstanceIdentifier serviceInstanceIdentifier =
- InstanceIdentifier.<Vnfs>builder(Vnfs.class).child(VnfList.class, new VnfListKey(siid)).build();
- ReadOnlyTransaction readTx = dataBroker.newReadOnlyTransaction();
- Optional<VnfList> data = null;
- try {
- data = (Optional<VnfList>) readTx.read(type, serviceInstanceIdentifier).get();
- } catch (InterruptedException | ExecutionException e) {
- log.error("Caught Exception reading MD-SAL (" + type + ") for [" + siid + "] ", e);
+ InstanceIdentifier<VnfList> serviceInstanceIdentifier = InstanceIdentifier
+ .builder(Vnfs.class)
+ .child(VnfList.class, new VnfListKey(siid))
+ .build();
+
+ Optional<VnfList> data = Optional.absent();
+ try (final ReadOnlyTransaction readTx = dataBroker.newReadOnlyTransaction()) {
+ data = readTx.read(type, serviceInstanceIdentifier).get();
+ } catch (final InterruptedException | ExecutionException e) {
+ log.error(EXCEPTION_READING_MD_SAL_STR + type + FOR_STR + siid + "] ", e);
}
- if (data != null && data.isPresent()) {
+ if (data.isPresent()) {
ServiceData serviceData = (ServiceData) data.get().getServiceData();
if (serviceData != null) {
- log.info("Read MD-SAL (" + type + ") data for [" + siid + "] ServiceData: " + serviceData);
+ log.info(READ_MD_SAL_STR + type + DATA_FOR_STR + siid + SERVICE_DATA_STR + serviceData);
serviceDataBuilder.setSdncRequestHeader(serviceData.getSdncRequestHeader());
serviceDataBuilder.setRequestInformation(serviceData.getRequestInformation());
serviceDataBuilder.setServiceInformation(serviceData.getServiceInformation());
serviceDataBuilder.setVnfTopologyInformation(serviceData.getVnfTopologyInformation());
serviceDataBuilder.setOperStatus(serviceData.getOperStatus());
} else {
- log.info("No service-data found in MD-SAL (" + type + ") for [" + siid + "] ");
+ log.info("No service-data found in MD-SAL (" + type + FOR_STR + siid + "] ");
}
} else {
- log.info("No data found in MD-SAL (" + type + ") for [" + siid + "] ");
+ log.info(NO_DATA_FOUND_STR + type + FOR_STR + siid + "] ");
}
}
private void getVnfInstanceServiceData(String siid, VnfInstanceServiceDataBuilder vnfInstanceServiceDataBuilder,
LogicalDatastoreType type) {
// See if any data exists yet for this siid, if so grab it.
- InstanceIdentifier vnfInstanceIdentifier = InstanceIdentifier.<VnfInstances>builder(VnfInstances.class)
- .child(VnfInstanceList.class, new VnfInstanceListKey(siid)).build();
- ReadOnlyTransaction readTx = dataBroker.newReadOnlyTransaction();
- Optional<VnfInstanceList> data = null;
- try {
- data = (Optional<VnfInstanceList>) readTx.read(type, vnfInstanceIdentifier).get();
- } catch (InterruptedException | ExecutionException e) {
- log.error("Caught Exception reading MD-SAL (" + type + ") for [" + siid + "] ", e);
+ InstanceIdentifier<VnfInstanceList> vnfInstanceIdentifier = InstanceIdentifier
+ .builder(VnfInstances.class)
+ .child(VnfInstanceList.class, new VnfInstanceListKey(siid))
+ .build();
+
+ Optional<VnfInstanceList> data = Optional.absent();
+ try (final ReadOnlyTransaction readTx = dataBroker.newReadOnlyTransaction()) {
+ data = readTx.read(type, vnfInstanceIdentifier).get();
+ } catch (final InterruptedException | ExecutionException e) {
+ log.error(EXCEPTION_READING_MD_SAL_STR + type + FOR_STR + siid + "] ", e);
}
- if (data != null && data.isPresent()) {
- VnfInstanceServiceData vnfInstanceServiceData =
- (VnfInstanceServiceData) data.get().getVnfInstanceServiceData();
+ if (data.isPresent()) {
+ VnfInstanceServiceData vnfInstanceServiceData = data.get().getVnfInstanceServiceData();
if (vnfInstanceServiceData != null) {
- log.info("Read MD-SAL (" + type + ") data for [" + siid + "] VnfInstanceServiceData: "
+ log.info(READ_MD_SAL_STR + type + DATA_FOR_STR + siid + "] VnfInstanceServiceData: "
+ vnfInstanceServiceData);
vnfInstanceServiceDataBuilder.setSdncRequestHeader(vnfInstanceServiceData.getSdncRequestHeader());
vnfInstanceServiceDataBuilder.setRequestInformation(vnfInstanceServiceData.getRequestInformation());
.setVnfInstanceTopologyInformation(vnfInstanceServiceData.getVnfInstanceTopologyInformation());
vnfInstanceServiceDataBuilder.setOperStatus(vnfInstanceServiceData.getOperStatus());
} else {
- log.info("No vnf-instance-service-data found in MD-SAL (" + type + ") for [" + siid + "] ");
+ log.info("No vnf-instance-service-data found in MD-SAL (" + type + FOR_STR + siid + "] ");
}
} else {
- log.info("No data found in MD-SAL (" + type + ") for [" + siid + "] ");
+ log.info(NO_DATA_FOUND_STR + type + FOR_STR + siid + "] ");
}
}
private void getVfModuleServiceData(String siid, VfModuleServiceDataBuilder vfModuleServiceDataBuilder,
LogicalDatastoreType type) {
// See if any data exists yet for this siid, if so grab it.
- InstanceIdentifier vfModuleIdentifier =
- InstanceIdentifier.<VfModules>builder(VfModules.class).child(VfModuleList.class, new VfModuleListKey(siid))
- .build();
- ReadOnlyTransaction readTx = dataBroker.newReadOnlyTransaction();
- Optional<VfModuleList> data = null;
- try {
- data = (Optional<VfModuleList>) readTx.read(type, vfModuleIdentifier).get();
- } catch (InterruptedException | ExecutionException e) {
- log.error("Caught Exception reading MD-SAL (" + type + ") for [" + siid + "] ", e);
+ InstanceIdentifier<VfModuleList> vfModuleIdentifier = InstanceIdentifier
+ .builder(VfModules.class)
+ .child(VfModuleList.class, new VfModuleListKey(siid))
+ .build();
+
+ Optional<VfModuleList> data = Optional.absent();
+ try (final ReadOnlyTransaction readTx = dataBroker.newReadOnlyTransaction()) {
+ data = readTx.read(type, vfModuleIdentifier).get();
+ } catch (final InterruptedException | ExecutionException e) {
+ log.error(EXCEPTION_READING_MD_SAL_STR + type + FOR_STR + siid + "] ", e);
}
- if (data != null && data.isPresent()) {
+ if (data.isPresent()) {
VfModuleServiceData vfModuleServiceData = data.get().getVfModuleServiceData();
if (vfModuleServiceData != null) {
log.info(
- "Read MD-SAL (" + type + ") data for [" + siid + "] VfModuleServiceData: " + vfModuleServiceData);
+ READ_MD_SAL_STR + type + DATA_FOR_STR + siid + "] VfModuleServiceData: " + vfModuleServiceData);
vfModuleServiceDataBuilder.setSdncRequestHeader(vfModuleServiceData.getSdncRequestHeader());
vfModuleServiceDataBuilder.setRequestInformation(vfModuleServiceData.getRequestInformation());
vfModuleServiceDataBuilder.setServiceInformation(vfModuleServiceData.getServiceInformation());
.setVfModuleTopologyInformation(vfModuleServiceData.getVfModuleTopologyInformation());
vfModuleServiceDataBuilder.setOperStatus(vfModuleServiceData.getOperStatus());
} else {
- log.info("No vf-module-service-data found in MD-SAL (" + type + ") for [" + siid + "] ");
+ log.info("No vf-module-service-data found in MD-SAL (" + type + FOR_STR + siid + "] ");
}
} else {
- log.info("No data found in MD-SAL (" + type + ") for [" + siid + "] ");
+ log.info(NO_DATA_FOUND_STR + type + FOR_STR + siid + "] ");
}
}
- private void getPreloadData(String vnf_name, String vnf_type, PreloadDataBuilder preloadDataBuilder) {
+ private void getPreloadData(String vnfName, String vnfType, PreloadDataBuilder preloadDataBuilder) {
// default to config
- getPreloadData(vnf_name, vnf_type, preloadDataBuilder, LogicalDatastoreType.CONFIGURATION);
+ getPreloadData(vnfName, vnfType, preloadDataBuilder, LogicalDatastoreType.CONFIGURATION);
}
- private void getPreloadData(String preload_name, String preload_type, PreloadDataBuilder preloadDataBuilder,
+ private void getPreloadData(String preloadName, String preloadType, PreloadDataBuilder preloadDataBuilder,
LogicalDatastoreType type) {
// See if any data exists yet for this name/type, if so grab it.
- InstanceIdentifier preloadInstanceIdentifier = InstanceIdentifier.<PreloadVnfs>builder(PreloadVnfs.class)
- .child(VnfPreloadList.class, new VnfPreloadListKey(preload_name, preload_type)).build();
- ReadOnlyTransaction readTx = dataBroker.newReadOnlyTransaction();
- Optional<VnfPreloadList> data = null;
- try {
- data = (Optional<VnfPreloadList>) readTx.read(type, preloadInstanceIdentifier).get();
- } catch (InterruptedException | ExecutionException e) {
- log.error("Caught Exception reading MD-SAL (" + type + ") for [" + preload_name + "," + preload_type + "] ",
- e);
+ InstanceIdentifier<VnfPreloadList> preloadInstanceIdentifier = InstanceIdentifier
+ .builder(PreloadVnfs.class)
+ .child(VnfPreloadList.class, new VnfPreloadListKey(preloadName, preloadType))
+ .build();
+
+ Optional<VnfPreloadList> data = Optional.absent();
+ try (final ReadOnlyTransaction readTx = dataBroker.newReadOnlyTransaction()) {
+ data = readTx.read(type, preloadInstanceIdentifier).get();
+ } catch (final InterruptedException | ExecutionException e) {
+ log.error(EXCEPTION_READING_MD_SAL_STR + type + FOR_STR + preloadName + "," + preloadType + "] ", e);
}
- if (data != null && data.isPresent()) {
+ if (data.isPresent()) {
PreloadData preloadData = (PreloadData) data.get().getPreloadData();
if (preloadData != null) {
- log.info("Read MD-SAL (" + type + ") data for [" + preload_name + "," + preload_type + "] PreloadData: "
+ log.info(READ_MD_SAL_STR + type + DATA_FOR_STR + preloadName + "," + preloadType + PRELOAD_DATA
+ preloadData);
preloadDataBuilder.setVnfTopologyInformation(preloadData.getVnfTopologyInformation());
preloadDataBuilder.setNetworkTopologyInformation(preloadData.getNetworkTopologyInformation());
preloadDataBuilder.setOperStatus(preloadData.getOperStatus());
} else {
log.info(
- "No preload-data found in MD-SAL (" + type + ") for [" + preload_name + "," + preload_type + "] ");
+ "No preload-data found in MD-SAL (" + type + FOR_STR + preloadName + "," + preloadType + "] ");
}
} else {
- log.info("No data found in MD-SAL (" + type + ") for [" + preload_name + "," + preload_type + "] ");
+ log.info(NO_DATA_FOUND_STR + type + FOR_STR + preloadName + "," + preloadType + "] ");
}
}
//1610 preload-vnf-instance
- private void getVnfInstancePreloadData(String vnf_name, String vnf_type,
+ private void getVnfInstancePreloadData(String vnfName, String vnfType,
VnfInstancePreloadDataBuilder preloadDataBuilder) {
// default to config
- getVnfInstancePreloadData(vnf_name, vnf_type, preloadDataBuilder, LogicalDatastoreType.CONFIGURATION);
+ getVnfInstancePreloadData(vnfName, vnfType, preloadDataBuilder, LogicalDatastoreType.CONFIGURATION);
}
//1610 preload-vnf-instance
- private void getVnfInstancePreloadData(String preload_name, String preload_type,
+ private void getVnfInstancePreloadData(String preloadName, String preloadType,
VnfInstancePreloadDataBuilder preloadDataBuilder, LogicalDatastoreType type) {
// See if any data exists yet for this name/type, if so grab it.
- InstanceIdentifier preloadInstanceIdentifier =
- InstanceIdentifier.<PreloadVnfInstances>builder(PreloadVnfInstances.class)
- .child(VnfInstancePreloadList.class, new VnfInstancePreloadListKey(preload_name, preload_type)).build();
- ReadOnlyTransaction readTx = dataBroker.newReadOnlyTransaction();
- Optional<VnfInstancePreloadList> data = null;
- try {
- data = (Optional<VnfInstancePreloadList>) readTx.read(type, preloadInstanceIdentifier).get();
- } catch (InterruptedException | ExecutionException e) {
- log.error("Caught Exception reading MD-SAL (" + type + ") for [" + preload_name + "," + preload_type + "] ",
- e);
+ InstanceIdentifier<VnfInstancePreloadList> preloadInstanceIdentifier = InstanceIdentifier
+ .builder(PreloadVnfInstances.class)
+ .child(VnfInstancePreloadList.class, new VnfInstancePreloadListKey(preloadName, preloadType))
+ .build();
+
+ Optional<VnfInstancePreloadList> data = Optional.absent();
+ try (final ReadOnlyTransaction readTx = dataBroker.newReadOnlyTransaction()) {
+ data = readTx.read(type, preloadInstanceIdentifier).get();
+ } catch (final InterruptedException | ExecutionException e) {
+ log.error(EXCEPTION_READING_MD_SAL_STR + type + FOR_STR + preloadName + "," + preloadType + "] ", e);
}
- if (data != null && data.isPresent()) {
+ if (data.isPresent()) {
VnfInstancePreloadData preloadData = (VnfInstancePreloadData) data.get().getVnfInstancePreloadData();
if (preloadData != null) {
- log.info("Read MD-SAL (" + type + ") data for [" + preload_name + "," + preload_type
+ log.info(READ_MD_SAL_STR + type + DATA_FOR_STR + preloadName + "," + preloadType
+ "] VnfInstancePreloadData: " + preloadData);
preloadDataBuilder.setVnfInstanceTopologyInformation(preloadData.getVnfInstanceTopologyInformation());
preloadDataBuilder.setOperStatus(preloadData.getOperStatus());
} else {
- log.info("No vnf-instance-preload-data found in MD-SAL (" + type + ") for [" + preload_name + ","
- + preload_type + "] ");
+ log.info("No vnf-instance-preload-data found in MD-SAL (" + type + FOR_STR + preloadName + ","
+ + preloadType + "] ");
}
} else {
- log.info("No data found in MD-SAL (" + type + ") for [" + preload_name + "," + preload_type + "] ");
+ log.info(NO_DATA_FOUND_STR + type + FOR_STR + preloadName + "," + preloadType + "] ");
}
}
// 1610 preload-vf-module
- private void getVfModulePreloadData(String vnf_name, String vnf_type,
+ private void getVfModulePreloadData(String vnfName, String vnfType,
VfModulePreloadDataBuilder preloadDataBuilder) {
// default to config
- getVfModulePreloadData(vnf_name, vnf_type, preloadDataBuilder, LogicalDatastoreType.CONFIGURATION);
+ getVfModulePreloadData(vnfName, vnfType, preloadDataBuilder, LogicalDatastoreType.CONFIGURATION);
}
- private void getVfModulePreloadData(String preload_name, String preload_type,
+ private void getVfModulePreloadData(String preloadName, String preloadType,
VfModulePreloadDataBuilder preloadDataBuilder, LogicalDatastoreType type) {
// See if any data exists yet for this name/type, if so grab it.
- InstanceIdentifier preloadInstanceIdentifier =
- InstanceIdentifier.<PreloadVfModules>builder(PreloadVfModules.class)
- .child(VfModulePreloadList.class, new VfModulePreloadListKey(preload_name, preload_type)).build();
- ReadOnlyTransaction readTx = dataBroker.newReadOnlyTransaction();
- Optional<VfModulePreloadList> data = null;
- try {
- data = (Optional<VfModulePreloadList>) readTx.read(type, preloadInstanceIdentifier).get();
- } catch (InterruptedException | ExecutionException e) {
- log.error("Caught Exception reading MD-SAL (" + type + ") for [" + preload_name + "," + preload_type + "] ",
- e);
+ InstanceIdentifier<VfModulePreloadList> preloadInstanceIdentifier = InstanceIdentifier
+ .builder(PreloadVfModules.class)
+ .child(VfModulePreloadList.class, new VfModulePreloadListKey(preloadName, preloadType))
+ .build();
+
+ Optional<VfModulePreloadList> data = Optional.absent();
+ try (final ReadOnlyTransaction readTx = dataBroker.newReadOnlyTransaction()) {
+ data = readTx.read(type, preloadInstanceIdentifier).get();
+ } catch (final InterruptedException | ExecutionException e) {
+ log.error(EXCEPTION_READING_MD_SAL_STR + type + FOR_STR + preloadName + "," + preloadType + "] ", e);
}
- if (data != null && data.isPresent()) {
+ if (data.isPresent()) {
VfModulePreloadData preloadData = (VfModulePreloadData) data.get().getVfModulePreloadData();
if (preloadData != null) {
- log.info("Read MD-SAL (" + type + ") data for [" + preload_name + "," + preload_type
+ log.info(READ_MD_SAL_STR + type + DATA_FOR_STR + preloadName + "," + preloadType
+ "] VfModulePreloadData: " + preloadData);
preloadDataBuilder.setVfModuleTopologyInformation(preloadData.getVfModuleTopologyInformation());
preloadDataBuilder.setOperStatus(preloadData.getOperStatus());
} else {
log.info(
- "No preload-data found in MD-SAL (" + type + ") for [" + preload_name + "," + preload_type + "] ");
+ "No preload-data found in MD-SAL (" + type + FOR_STR + preloadName + "," + preloadType + "] ");
}
} else {
- log.info("No data found in MD-SAL (" + type + ") for [" + preload_name + "," + preload_type + "] ");
+ log.info(NO_DATA_FOUND_STR + type + FOR_STR + preloadName + "," + preloadType + "] ");
}
}
- private void SaveVnfList(final VnfList entry, boolean merge, LogicalDatastoreType storeType)
- throws IllegalStateException {
+ private void deleteVnfList(final VnfList entry, LogicalDatastoreType storeType) {
// Each entry will be identifiable by a unique key, we have to create that identifier
- InstanceIdentifier.InstanceIdentifierBuilder<VnfList> vnfListIdBuilder =
- InstanceIdentifier.<Vnfs>builder(Vnfs.class).child(VnfList.class, entry.getKey());
- InstanceIdentifier<VnfList> path = vnfListIdBuilder.build();
-
- int tries = 2;
- while (true) {
- try {
- WriteTransaction tx = dataBroker.newWriteOnlyTransaction();
- if (merge) {
- tx.merge(storeType, path, entry);
- } else {
- tx.put(storeType, path, entry);
- }
- tx.submit().checkedGet();
- log.debug("Update DataStore succeeded");
- break;
- } catch (final TransactionCommitFailedException e) {
- if (e instanceof OptimisticLockFailedException) {
- if (--tries <= 0) {
- log.debug("Got OptimisticLockFailedException on last try - failing ");
- throw new IllegalStateException(e);
- }
- log.debug("Got OptimisticLockFailedException - trying again ");
- } else {
- log.debug("Update DataStore failed");
- throw new IllegalStateException(e);
- }
- }
- }
-
- }
-
- private void DeleteVnfList(final VnfList entry, LogicalDatastoreType storeType) throws IllegalStateException {
- // Each entry will be identifiable by a unique key, we have to create that identifier
- InstanceIdentifier.InstanceIdentifierBuilder<VnfList> vnfListIdBuilder =
- InstanceIdentifier.<Vnfs>builder(Vnfs.class).child(VnfList.class, entry.getKey());
- InstanceIdentifier<VnfList> path = vnfListIdBuilder.build();
+ InstanceIdentifier<VnfList> path = InstanceIdentifier
+ .builder(Vnfs.class)
+ .child(VnfList.class, entry.key())
+ .build();
int optimisticLockTries = 2;
- boolean tryAgain =true;
+ boolean tryAgain = true;
while (tryAgain) {
tryAgain = false;
try {
tx.delete(storeType, path);
tx.submit().checkedGet();
log.debug("DataStore delete succeeded");
- } catch (final TransactionCommitFailedException e) {
- if (e instanceof OptimisticLockFailedException) {
- if (--optimisticLockTries <= 0) {
- log.debug("Got OptimisticLockFailedException on last try - failing ");
- throw new IllegalStateException(e);
- }
- log.debug("Got OptimisticLockFailedException - trying again ");
- tryAgain = true;
- continue;
+ } catch (OptimisticLockFailedException e) {
+ if (--optimisticLockTries <= 0) {
+ log.debug("Got OptimisticLockFailedException on last try - failing ");
+ throw new IllegalStateException(e);
+ }
+ log.debug("Got OptimisticLockFailedException - trying again ");
+ tryAgain = true;
+
+ } catch (final TransactionCommitFailedException e) {
+ Throwable eCause = e.getCause();
+
+ if (eCause instanceof org.opendaylight.mdsal.common.api.TransactionCommitFailedException) {
+ log.debug("Nested TransactionCommitFailed exception - getting next cause");
+ eCause = eCause.getCause();
+ } else {
+ log.debug("Got TransactionCommitFailedException, caused by {}", eCause.getClass().getName());
}
- if (e.getCause() instanceof ModifiedNodeDoesNotExistException) {
- log.debug("Ignoring MpdifiedNodeDoesNotExistException");
+ if (eCause instanceof ModifiedNodeDoesNotExistException) {
+ log.debug("Ignoring ModifiedNodeDoesNotExistException");
break;
}
- log.debug("Delete DataStore failed");
+ log.debug("Delete DataStore failed due to exception", eCause);
throw new IllegalStateException(e);
}
}
}
+ private void saveVnfList(final VnfList entry, boolean merge, LogicalDatastoreType storeType) {
+ // Each entry will be identifiable by a unique key, we have to create that identifier
+ InstanceIdentifier<VnfList> path = InstanceIdentifier
+ .builder(Vnfs.class)
+ .child(VnfList.class, entry.key())
+ .build();
+
+ tryUpdateDataStore(entry, merge, storeType, path);
+ }
+
//1610 vnf-instance
- private void SaveVnfInstanceList(final VnfInstanceList entry, boolean merge, LogicalDatastoreType storeType)
- throws IllegalStateException {
+ private void saveVnfInstanceList(final VnfInstanceList entry, boolean merge, LogicalDatastoreType storeType) {
// Each entry will be identifiable by a unique key, we have to create that identifier
- InstanceIdentifier.InstanceIdentifierBuilder<VnfInstanceList> vnfInstanceListIdBuilder =
- InstanceIdentifier.<VnfInstances>builder(VnfInstances.class).child(VnfInstanceList.class, entry.getKey());
- InstanceIdentifier<VnfInstanceList> path = vnfInstanceListIdBuilder.build();
+ InstanceIdentifier<VnfInstanceList> path = InstanceIdentifier
+ .builder(VnfInstances.class)
+ .child(VnfInstanceList.class, entry.key())
+ .build();
- int tries = 2;
- while (true) {
- try {
- WriteTransaction tx = dataBroker.newWriteOnlyTransaction();
- if (merge) {
- tx.merge(storeType, path, entry);
- } else {
- tx.put(storeType, path, entry);
- }
- tx.submit().checkedGet();
- log.debug("Update DataStore succeeded");
- break;
- } catch (final TransactionCommitFailedException e) {
- if (e instanceof OptimisticLockFailedException) {
- if (--tries <= 0) {
- log.debug("Got OptimisticLockFailedException on last try - failing ");
- throw new IllegalStateException(e);
- }
- log.debug("Got OptimisticLockFailedException - trying again ");
- } else {
- log.debug("Update DataStore failed");
- throw new IllegalStateException(e);
- }
- }
- }
+ tryUpdateDataStore(entry, merge, storeType, path);
}
//1610 vf-module
- private void SaveVfModuleList(final VfModuleList entry, boolean merge, LogicalDatastoreType storeType)
- throws IllegalStateException {
+ private void saveVfModuleList(final VfModuleList entry, boolean merge, LogicalDatastoreType storeType) {
// Each entry will be identifiable by a unique key, we have to create that identifier
- InstanceIdentifier.InstanceIdentifierBuilder<VfModuleList> vfModuleListIdBuilder =
- InstanceIdentifier.<VfModules>builder(VfModules.class).child(VfModuleList.class, entry.getKey());
- InstanceIdentifier<VfModuleList> path = vfModuleListIdBuilder.build();
+ InstanceIdentifier<VfModuleList> path = InstanceIdentifier
+ .builder(VfModules.class)
+ .child(VfModuleList.class, entry.key())
+ .build();
- int tries = 2;
- while (true) {
- try {
- WriteTransaction tx = dataBroker.newWriteOnlyTransaction();
- if (merge) {
- tx.merge(storeType, path, entry);
- } else {
- tx.put(storeType, path, entry);
- }
- tx.submit().checkedGet();
- log.debug("Update DataStore succeeded");
- break;
- } catch (final TransactionCommitFailedException e) {
- if (e instanceof OptimisticLockFailedException) {
- if (--tries <= 0) {
- log.debug("Got OptimisticLockFailedException on last try - failing ");
- throw new IllegalStateException(e);
- }
- log.debug("Got OptimisticLockFailedException - trying again ");
- } else {
- log.debug("Update DataStore failed");
- throw new IllegalStateException(e);
- }
- }
- }
+ tryUpdateDataStore(entry, merge, storeType, path);
}
- private void SavePreloadList(final VnfPreloadList entry, boolean merge, LogicalDatastoreType storeType)
- throws IllegalStateException {
+ private void savePreloadList(final VnfPreloadList entry, boolean merge, LogicalDatastoreType storeType) {
// Each entry will be identifiable by a unique key, we have to create that identifier
- InstanceIdentifier.InstanceIdentifierBuilder<VnfPreloadList> vnfListIdBuilder =
- InstanceIdentifier.<PreloadVnfs>builder(PreloadVnfs.class).child(VnfPreloadList.class, entry.getKey());
- InstanceIdentifier<VnfPreloadList> path = vnfListIdBuilder.build();
- int tries = 2;
- while (true) {
- try {
- WriteTransaction tx = dataBroker.newWriteOnlyTransaction();
- if (merge) {
- tx.merge(storeType, path, entry);
- } else {
- tx.put(storeType, path, entry);
- }
- tx.submit().checkedGet();
- log.debug("Update DataStore succeeded");
- break;
- } catch (final TransactionCommitFailedException e) {
- if (e instanceof OptimisticLockFailedException) {
- if (--tries <= 0) {
- log.debug("Got OptimisticLockFailedException on last try - failing ");
- throw new IllegalStateException(e);
- }
- log.debug("Got OptimisticLockFailedException - trying again ");
- } else {
- log.debug("Update DataStore failed");
- throw new IllegalStateException(e);
- }
- }
- }
+ InstanceIdentifier<VnfPreloadList> path = InstanceIdentifier
+ .builder(PreloadVnfs.class)
+ .child(VnfPreloadList.class, entry.key())
+ .build();
+
+ tryUpdateDataStore(entry, merge, storeType, path);
}
//1610 preload vnf-instance
- private void SaveVnfInstancePreloadList(final VnfInstancePreloadList entry, boolean merge,
- LogicalDatastoreType storeType) throws IllegalStateException {
+ private void saveVnfInstancePreloadList(final VnfInstancePreloadList entry, boolean merge,
+ LogicalDatastoreType storeType) {
// Each entry will be identifiable by a unique key, we have to create that identifier
- InstanceIdentifier.InstanceIdentifierBuilder<VnfInstancePreloadList> vnfInstanceListIdBuilder =
- InstanceIdentifier.<PreloadVnfInstances>builder(PreloadVnfInstances.class)
- .child(VnfInstancePreloadList.class, entry.getKey());
- InstanceIdentifier<VnfInstancePreloadList> path = vnfInstanceListIdBuilder.build();
- int tries = 2;
- while (true) {
- try {
- WriteTransaction tx = dataBroker.newWriteOnlyTransaction();
- if (merge) {
- tx.merge(storeType, path, entry);
- } else {
- tx.put(storeType, path, entry);
- }
- tx.submit().checkedGet();
- log.debug("Update DataStore succeeded");
- break;
- } catch (final TransactionCommitFailedException e) {
- if (e instanceof OptimisticLockFailedException) {
- if (--tries <= 0) {
- log.debug("Got OptimisticLockFailedException on last try - failing ");
- throw new IllegalStateException(e);
- }
- log.debug("Got OptimisticLockFailedException - trying again ");
- } else {
- log.debug("Update DataStore failed");
- throw new IllegalStateException(e);
- }
- }
- }
+ InstanceIdentifier<VnfInstancePreloadList> path = InstanceIdentifier
+ .builder(PreloadVnfInstances.class)
+ .child(VnfInstancePreloadList.class, entry.key())
+ .build();
+
+ tryUpdateDataStore(entry, merge, storeType, path);
}
//1610 preload vf-module
- private void SaveVfModulePreloadList(final VfModulePreloadList entry, boolean merge, LogicalDatastoreType storeType)
- throws IllegalStateException {
+ private void saveVfModulePreloadList(final VfModulePreloadList entry, boolean merge,
+ LogicalDatastoreType storeType) {
// Each entry will be identifiable by a unique key, we have to create that identifier
- InstanceIdentifier.InstanceIdentifierBuilder<VfModulePreloadList> vfModuleListIdBuilder =
- InstanceIdentifier.<PreloadVfModules>builder(PreloadVfModules.class)
- .child(VfModulePreloadList.class, entry.getKey());
- InstanceIdentifier<VfModulePreloadList> path = vfModuleListIdBuilder.build();
+ InstanceIdentifier<VfModulePreloadList> path = InstanceIdentifier
+ .builder(PreloadVfModules.class)
+ .child(VfModulePreloadList.class, entry.key())
+ .build();
+
+ tryUpdateDataStore(entry, merge, storeType, path);
+ }
+
+ private <T extends DataObject> void tryUpdateDataStore(T entry, boolean merge, LogicalDatastoreType storeType,
+ InstanceIdentifier<T> path) {
+
int tries = 2;
while (true) {
try {
tx.submit().checkedGet();
log.debug("Update DataStore succeeded");
break;
- } catch (final TransactionCommitFailedException e) {
- if (e instanceof OptimisticLockFailedException) {
- if (--tries <= 0) {
- log.debug("Got OptimisticLockFailedException on last try - failing ");
- throw new IllegalStateException(e);
- }
- log.debug("Got OptimisticLockFailedException - trying again ");
- } else {
- log.debug("Update DataStore failed");
+ } catch (OptimisticLockFailedException e) {
+ if (--tries <= 0) {
+ log.debug("Got OptimisticLockFailedException on last try - failing ");
throw new IllegalStateException(e);
}
+ log.debug("Got OptimisticLockFailedException - trying again ");
+ } catch (final TransactionCommitFailedException e) {
+ log.debug("Update DataStore failed");
+ throw new IllegalStateException(e);
}
}
}
}
//1610 vnf-instance-topology-operation
- @Override public Future<RpcResult<VnfInstanceTopologyOperationOutput>> vnfInstanceTopologyOperation(
+
+ private Boolean validateVnfInstanceTopologyOperationInput(VnfInstanceTopologyOperationInput input) {
+ return input != null
+ && input.getVnfInstanceRequestInformation() != null
+ && input.getVnfInstanceRequestInformation().getVnfInstanceId() != null
+ && input.getVnfInstanceRequestInformation().getVnfInstanceId().length() != 0;
+ }
+
+ private ListenableFuture<RpcResult<VnfInstanceTopologyOperationOutput>> buildVnfInstanceTopologyOperationOutputWithtError(
+ String responseCode, String responseMessage, String ackFinalIndicator) {
+ VnfInstanceTopologyOperationOutputBuilder responseBuilder = new VnfInstanceTopologyOperationOutputBuilder();
+ responseBuilder.setResponseCode(responseCode);
+ responseBuilder.setResponseMessage(responseMessage);
+ responseBuilder.setAckFinalIndicator(ackFinalIndicator);
+ return Futures.immediateFuture(RpcResultBuilder
+ .<VnfInstanceTopologyOperationOutput>status(true)
+ .withResult(responseBuilder.build())
+ .build());
+ }
+
+ @Override
+ public ListenableFuture<RpcResult<VnfInstanceTopologyOperationOutput>> vnfInstanceTopologyOperation(
VnfInstanceTopologyOperationInput input) {
- final String SVC_OPERATION = "vnf-instance-topology-operation";
- VnfInstanceServiceData vnfInstanceServiceData = null;
+ final String svcOperation = "vnf-instance-topology-operation";
+ VnfInstanceServiceData vnfInstanceServiceData;
ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder();
Properties parms = new Properties();
- log.info(SVC_OPERATION + " called.");
+ log.info(svcOperation + CALLED_STR);
// create a new response object
VnfInstanceTopologyOperationOutputBuilder responseBuilder = new VnfInstanceTopologyOperationOutputBuilder();
- //if(input == null || input.getVnfInstanceRequestInformation().getVnfInstanceTopologyIdentifier().getVnfInstanceId() == null )
- if (input == null || input.getVnfInstanceRequestInformation() == null
- || input.getVnfInstanceRequestInformation().getVnfInstanceId() == null) {
- log.debug("exiting " + SVC_OPERATION + " because of invalid input, null or empty vnf-instance-id");
- responseBuilder.setResponseCode("403");
- responseBuilder.setResponseMessage("invalid input, null or empty vnf-instance-id");
- responseBuilder.setAckFinalIndicator("Y");
- RpcResult<VnfInstanceTopologyOperationOutput> rpcResult =
- RpcResultBuilder.<VnfInstanceTopologyOperationOutput>status(true).withResult(responseBuilder.build())
- .build();
- // return error
- return Futures.immediateFuture(rpcResult);
+ if (!validateVnfInstanceTopologyOperationInput(input)) {
+ log.debug(EXITING_STR + svcOperation + " because of " + INVALID_INPUT_VNF_INSTANCE_STR);
+ return buildVnfInstanceTopologyOperationOutputWithtError("403",
+ INVALID_INPUT_VNF_INSTANCE_STR,
+ "Y");
}
// Grab the service instance ID from the input buffer
String viid = input.getVnfInstanceRequestInformation().getVnfInstanceId();
- String preload_name = input.getVnfInstanceRequestInformation().getVnfInstanceName();
- String preload_type = input.getVnfInstanceRequestInformation().getVnfModelId();
-
- // Make sure we have a valid viid
- if (viid == null || viid.length() == 0) {
- log.debug("exiting " + SVC_OPERATION + " because of invalid vnf-instance-id");
- responseBuilder.setResponseCode("403");
- responseBuilder.setResponseMessage("invalid input, null or empty vnf-instance-id");
- responseBuilder.setAckFinalIndicator("Y");
- RpcResult<VnfInstanceTopologyOperationOutput> rpcResult =
- RpcResultBuilder.<VnfInstanceTopologyOperationOutput>status(true).withResult(responseBuilder.build())
- .build();
- // return error
- return Futures.immediateFuture(rpcResult);
- }
+ String preloadName = input.getVnfInstanceRequestInformation().getVnfInstanceName();
+ String preloadType = input.getVnfInstanceRequestInformation().getVnfModelId();
if (input.getSdncRequestHeader() != null) {
responseBuilder.setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId());
// Get vnf-instance-preload-data
VnfInstancePreloadDataBuilder vnfInstancePreloadDataBuilder = new VnfInstancePreloadDataBuilder();
- getVnfInstancePreloadData(preload_name, preload_type, vnfInstancePreloadDataBuilder);
+ getVnfInstancePreloadData(preloadName, preloadType, vnfInstancePreloadDataBuilder);
// Get service-data
VnfInstanceServiceDataBuilder vnfInstanceServiceDataBuilder = new VnfInstanceServiceDataBuilder();
//
// setup a service-data object builder
- // ACTION vnf-topology-operation
+ // ACTION vnf-topology-operationa
// INPUT:
// USES sdnc-request-header;
// USES request-information;
// uses vnf-configuration-information;
// uses oper-status;
- log.info("Adding INPUT data for " + SVC_OPERATION + " [" + viid + "] input: " + input);
+ log.info(ADDING_INPUT_DATA_STR + svcOperation + " [" + viid + INPUT_STR + input);
VnfInstanceTopologyOperationInputBuilder inputBuilder = new VnfInstanceTopologyOperationInputBuilder(input);
VnfSdnUtil.toProperties(parms, inputBuilder.build());
- log.info("Adding OPERATIONAL data for " + SVC_OPERATION + " [" + viid + "] operational-data: " + operDataBuilder
+ log.info(ADDING_OPERATIONAL_DATA_STR + svcOperation + " [" + viid + OPERATIONAL_DATA_STR + operDataBuilder
.build());
- VnfSdnUtil.toProperties(parms, "operational-data", operDataBuilder);
+ VnfSdnUtil.toProperties(parms, OPERATIONAL_DATA, operDataBuilder);
log.info(
- "Adding CONFIG data for " + SVC_OPERATION + " [" + preload_name + "," + preload_type + "] preload-data: "
+ ADDING_CONFIG_DATA_STR + svcOperation + " [" + preloadName + "," + preloadType + "] preload-data: "
+ vnfInstancePreloadDataBuilder.build());
VnfSdnUtil.toProperties(parms, "vnf-instance-preload-data", vnfInstancePreloadDataBuilder);
String ackFinal = "Y";
try {
- if (svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync")) {
-
- try {
- respProps = svcLogicClient
- .execute("VNF-API", SVC_OPERATION, null, "sync", vnfInstanceServiceDataBuilder, parms);
- } catch (Exception e) {
- log.error("Caught exception executing service logic for " + SVC_OPERATION, e);
- errorMessage = e.getMessage();
- errorCode = "500";
- }
+ if (svcLogicClient.hasGraph(VNF_API, svcOperation, null, "sync")) {
+ respProps = svcLogicClient
+ .execute(VNF_API, svcOperation, null, "sync", vnfInstanceServiceDataBuilder, parms);
} else {
- errorMessage = "No service logic active for VNF-API: '" + SVC_OPERATION + "'";
+ errorMessage = "No service logic active for VNF-API: '" + svcOperation + "'";
errorCode = "503";
}
+ } catch (SvcLogicException e) {
+ log.error("Caught exception executing service logic for " + svcOperation, e);
+ errorMessage = e.getMessage();
+ errorCode = "500";
} catch (Exception e) {
errorCode = "500";
errorMessage = e.getMessage();
vnfInstanceListBuilder.setVnfInstanceId(viid);
vnfInstanceListBuilder.setServiceStatus(serviceStatusBuilder.build());
try {
- SaveVnfInstanceList(vnfInstanceListBuilder.build(), true, LogicalDatastoreType.CONFIGURATION);
+ saveVnfInstanceList(vnfInstanceListBuilder.build(), true, LogicalDatastoreType.CONFIGURATION);
} catch (Exception e) {
- log.error("Caught Exception updating MD-SAL for " + SVC_OPERATION + " [" + viid + "] \n", e);
+ log.error(CAUGHT_EXCEPTION_STR + svcOperation + " [" + viid + "] \n", e);
}
- log.error("Returned FAILED for " + SVC_OPERATION + " [" + viid + "] " + responseBuilder.build());
- RpcResult<VnfInstanceTopologyOperationOutput> rpcResult =
- RpcResultBuilder.<VnfInstanceTopologyOperationOutput>status(true).withResult(responseBuilder.build())
- .build();
+ log.error(RETURNED_FAILED_STR + svcOperation + " [" + viid + "] " + responseBuilder.build());
+ RpcResult<VnfInstanceTopologyOperationOutput> rpcResult = RpcResultBuilder
+ .<VnfInstanceTopologyOperationOutput>status(true)
+ .withResult(responseBuilder.build())
+ .build();
// return error
return Futures.immediateFuture(rpcResult);
}
// Got success from SLI
try {
vnfInstanceServiceData = vnfInstanceServiceDataBuilder.build();
- log.info("Updating MD-SAL for " + SVC_OPERATION + " [" + viid + "] VnfInstanceServiceData: "
+ log.info(UPDATING_MD_SAL_STR + svcOperation + " [" + viid + "] VnfInstanceServiceData: "
+ vnfInstanceServiceData);
// svc-configuration-list
VnfInstanceListBuilder vnfInstanceListBuilder = new VnfInstanceListBuilder();
vnfInstanceListBuilder.setVnfInstanceServiceData(vnfInstanceServiceData);
vnfInstanceListBuilder.setVnfInstanceId(vnfInstanceServiceData.getVnfInstanceId());
- //siid = vnfInstanceServiceData.getVnfInstanceId();
vnfInstanceListBuilder.setServiceStatus(serviceStatusBuilder.build());
- SaveVnfInstanceList(vnfInstanceListBuilder.build(), false, LogicalDatastoreType.CONFIGURATION);
+ saveVnfInstanceList(vnfInstanceListBuilder.build(), false, LogicalDatastoreType.CONFIGURATION);
if (input.getSdncRequestHeader() != null && input.getSdncRequestHeader().getSvcAction() != null) {
// Only update operational tree on Delete or Activate
if (input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Delete) || input.getSdncRequestHeader()
.getSvcAction().equals(SvcAction.Activate)) {
- log.info("Updating OPERATIONAL tree.");
- SaveVnfInstanceList(vnfInstanceListBuilder.build(), false, LogicalDatastoreType.OPERATIONAL);
+ log.info(UPDATING_OPERATIONAL_TREE_STR);
+ saveVnfInstanceList(vnfInstanceListBuilder.build(), false, LogicalDatastoreType.OPERATIONAL);
}
}
VnfInstanceInformationBuilder vnfInstanceInformationBuilder = new VnfInstanceInformationBuilder();
responseBuilder.setVnfInstanceInformation(vnfInstanceInformationBuilder.build());
responseBuilder.setServiceInformation(vnfInstanceServiceData.getServiceInformation());
} catch (Exception e) {
- log.error("Caught Exception updating MD-SAL for " + SVC_OPERATION + " [" + viid + "] \n", e);
+ log.error(CAUGHT_EXCEPTION_STR + svcOperation + " [" + viid + "] \n", e);
responseBuilder.setResponseCode("500");
responseBuilder.setResponseMessage(e.toString());
responseBuilder.setAckFinalIndicator("Y");
- log.error("Returned FAILED for " + SVC_OPERATION + " [" + viid + "] " + responseBuilder.build());
- RpcResult<VnfInstanceTopologyOperationOutput> rpcResult =
- RpcResultBuilder.<VnfInstanceTopologyOperationOutput>status(true).withResult(responseBuilder.build())
- .build();
+ log.error(RETURNED_FAILED_STR + svcOperation + " [" + viid + "] " + responseBuilder.build());
+ RpcResult<VnfInstanceTopologyOperationOutput> rpcResult = RpcResultBuilder
+ .<VnfInstanceTopologyOperationOutput>status(true)
+ .withResult(responseBuilder.build())
+ .build();
// return error
return Futures.immediateFuture(rpcResult);
}
if (errorMessage != null) {
responseBuilder.setResponseMessage(errorMessage);
}
- log.info("Updated MD-SAL for " + SVC_OPERATION + " [" + viid + "] ");
- log.info("Returned SUCCESS for " + SVC_OPERATION + " [" + viid + "] " + responseBuilder.build());
+ log.info(UPDATED_MD_SAL_STR + svcOperation + " [" + viid + "] ");
+ log.info(RETURNED_SUCCESS_STR + svcOperation + " [" + viid + "] " + responseBuilder.build());
- RpcResult<VnfInstanceTopologyOperationOutput> rpcResult =
- RpcResultBuilder.<VnfInstanceTopologyOperationOutput>status(true).withResult(responseBuilder.build())
- .build();
+ RpcResult<VnfInstanceTopologyOperationOutput> rpcResult = RpcResultBuilder
+ .<VnfInstanceTopologyOperationOutput>status(true)
+ .withResult(responseBuilder.build())
+ .build();
// return success
return Futures.immediateFuture(rpcResult);
}
//1610 vf-module-topology-operation
- @Override public Future<RpcResult<VfModuleTopologyOperationOutput>> vfModuleTopologyOperation(
+ @Override
+ public ListenableFuture<RpcResult<VfModuleTopologyOperationOutput>> vfModuleTopologyOperation(
VfModuleTopologyOperationInput input) {
- final String SVC_OPERATION = "vf-module-topology-operation";
- VfModuleServiceData vfModuleServiceData = null;
- VnfInstanceServiceData vnfInstanceServiceData = null;
+ final String svcOperation = "vf-module-topology-operation";
+ VfModuleServiceData vfModuleServiceData;
ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder();
Properties parms = new Properties();
- log.info(SVC_OPERATION + " called.");
+ log.info(svcOperation + CALLED_STR);
// create a new response object
VfModuleTopologyOperationOutputBuilder responseBuilder = new VfModuleTopologyOperationOutputBuilder();
// Validate vf-module-id from vf-module-request-information
if (input == null || input.getVfModuleRequestInformation() == null
|| input.getVfModuleRequestInformation().getVfModuleId() == null) {
- log.debug("exiting " + SVC_OPERATION + " because of invalid input, null or empty vf-module-id");
+ log.debug(EXITING_STR + svcOperation + " because of invalid input, null or empty vf-module-id");
responseBuilder.setResponseCode("403");
- responseBuilder.setResponseMessage("invalid input, null or empty vf-module-id");
+ responseBuilder.setResponseMessage(INVALID_INPUT_VF_MODULE_STR);
responseBuilder.setAckFinalIndicator("Y");
- RpcResult<VfModuleTopologyOperationOutput> rpcResult =
- RpcResultBuilder.<VfModuleTopologyOperationOutput>status(true).withResult(responseBuilder.build())
- .build();
+ RpcResult<VfModuleTopologyOperationOutput> rpcResult = RpcResultBuilder
+ .<VfModuleTopologyOperationOutput>status(true)
+ .withResult(responseBuilder.build())
+ .build();
// return error
return Futures.immediateFuture(rpcResult);
}
// Grab the vf-module-request-information.vf-module-id from the input buffer
String vfid = input.getVfModuleRequestInformation().getVfModuleId();
- String preload_name = input.getVfModuleRequestInformation().getVfModuleName();
- String preload_type = input.getVfModuleRequestInformation().getVfModuleModelId();
+ String preloadName = input.getVfModuleRequestInformation().getVfModuleName();
+ String preloadType = input.getVfModuleRequestInformation().getVfModuleModelId();
// Make sure we have a valid siid
if (vfid == null || vfid.length() == 0) {
- log.debug("exiting " + SVC_OPERATION + " because of invalid vf-module-id");
+ log.debug(EXITING_STR + svcOperation + " because of invalid vf-module-id");
responseBuilder.setResponseCode("403");
- responseBuilder.setResponseMessage("invalid input, null or empty vf-module-id");
+ responseBuilder.setResponseMessage(INVALID_INPUT_VF_MODULE_STR);
responseBuilder.setAckFinalIndicator("Y");
- RpcResult<VfModuleTopologyOperationOutput> rpcResult =
- RpcResultBuilder.<VfModuleTopologyOperationOutput>status(true).withResult(responseBuilder.build())
- .build();
+ RpcResult<VfModuleTopologyOperationOutput> rpcResult = RpcResultBuilder
+ .<VfModuleTopologyOperationOutput>status(true)
+ .withResult(responseBuilder.build())
+ .build();
// return error
return Futures.immediateFuture(rpcResult);
}
String viid = input.getVfModuleRequestInformation().getVnfInstanceId();
if (viid == null || viid.length() == 0) {
- log.debug("exiting " + SVC_OPERATION + " because of invalid vnf-instance-id");
+ log.debug(EXITING_STR + svcOperation + " because of invalid vnf-instance-id");
responseBuilder.setResponseCode("403");
- responseBuilder.setResponseMessage("invalid input, null or empty vnf-instance-id");
+ responseBuilder.setResponseMessage(INVALID_INPUT_VNF_INSTANCE_STR);
responseBuilder.setAckFinalIndicator("Y");
- RpcResult<VfModuleTopologyOperationOutput> rpcResult =
- RpcResultBuilder.<VfModuleTopologyOperationOutput>status(true).withResult(responseBuilder.build())
- .build();
+ RpcResult<VfModuleTopologyOperationOutput> rpcResult = RpcResultBuilder
+ .<VfModuleTopologyOperationOutput>status(true)
+ .withResult(responseBuilder.build())
+ .build();
// return error
return Futures.immediateFuture(rpcResult);
}
// Get vf-module-preload-data
VfModulePreloadDataBuilder vfModulePreloadDataBuilder = new VfModulePreloadDataBuilder();
- getVfModulePreloadData(preload_name, preload_type, vfModulePreloadDataBuilder);
+ getVfModulePreloadData(preloadName, preloadType, vfModulePreloadDataBuilder);
// Get vf-module-service-data
VfModuleServiceDataBuilder vfModuleServiceDataBuilder = new VfModuleServiceDataBuilder();
VfModuleServiceDataBuilder operDataBuilder = new VfModuleServiceDataBuilder();
getVfModuleServiceData(vfid, operDataBuilder, LogicalDatastoreType.OPERATIONAL);
- // save service-data builder object for rollback
- VfModuleServiceDataBuilder rb_vfModuleServiceDataBuilder = vfModuleServiceDataBuilder;
- VfModuleServiceDataBuilder rb_operDataBuilder = operDataBuilder;
-
// 1610 Need to pull vnf-instance-list.vf-module-relationship-list from MD-SAL
VnfInstanceServiceDataBuilder vnfInstanceServiceDataBuilder = new VnfInstanceServiceDataBuilder();
getVnfInstanceServiceData(viid, vnfInstanceServiceDataBuilder);
VnfInstanceServiceDataBuilder vnfInstanceOperDataBuilder = new VnfInstanceServiceDataBuilder();
getVnfInstanceServiceData(viid, vnfInstanceOperDataBuilder, LogicalDatastoreType.OPERATIONAL);
- // save operational builder object for rollback
- VnfInstanceServiceDataBuilder rb_vnfInstanceServiceDataBuilder = vnfInstanceServiceDataBuilder;
- VnfInstanceServiceDataBuilder rb_vnfInstanceOperDataBuilder = vnfInstanceOperDataBuilder;
-
// Set the serviceStatus based on input
setServiceStatus(serviceStatusBuilder, input.getSdncRequestHeader());
setServiceStatus(serviceStatusBuilder, input.getRequestInformation());
// setup a service-data object builder
// ACTION vnf-topology-operation
// INPUT:
- // USES sdnc-request-header;
// USES request-information;
// USES service-information;
// USES vnf-request-information
// OUTPUT:
- // USES vnf-topology-response-body;
// USES vnf-information
// USES service-information
//
// container service-data
- // uses vnf-configuration-information;
- // uses oper-status;
- log.info("Adding INPUT data for " + SVC_OPERATION + " [" + vfid + "] input: " + input);
+ log.info(ADDING_INPUT_DATA_STR + svcOperation + " [" + vfid + INPUT_STR + input);
VfModuleTopologyOperationInputBuilder inputBuilder = new VfModuleTopologyOperationInputBuilder(input);
VnfSdnUtil.toProperties(parms, inputBuilder.build());
- log.info("Adding OPERATIONAL data for " + SVC_OPERATION + " [" + vfid + "] vf-module operational-data: "
+ log.info(ADDING_OPERATIONAL_DATA_STR + svcOperation + " [" + vfid + "] vf-module operational-data: "
+ operDataBuilder.build());
- VnfSdnUtil.toProperties(parms, "operational-data", operDataBuilder);
+ VnfSdnUtil.toProperties(parms, OPERATIONAL_DATA, operDataBuilder);
- log.info("Adding CONFIG data for " + SVC_OPERATION + " [" + preload_name + "," + preload_type
+ log.info(ADDING_CONFIG_DATA_STR + svcOperation + " [" + preloadName + "," + preloadType
+ "] vf-module-preload-data: " + vfModulePreloadDataBuilder.build());
VnfSdnUtil.toProperties(parms, "vf-module-preload-data", vfModulePreloadDataBuilder);
- log.info("Adding vnf-instance CONFIG data for " + SVC_OPERATION + " [" + viid + "] vnf-instance-service-data: "
+ log.info("Adding vnf-instance CONFIG data for " + svcOperation + " [" + viid + "] vnf-instance-service-data: "
+ vnfInstanceServiceDataBuilder.build());
VnfSdnUtil.toProperties(parms, "vnf-instance-service-data", vnfInstanceServiceDataBuilder);
- log.info("Adding vnf-instance OPERATIONAL data for " + SVC_OPERATION + " [" + viid
+ log.info("Adding vnf-instance OPERATIONAL data for " + svcOperation + " [" + viid
+ "] vnf-instance operational-data: " + vnfInstanceOperDataBuilder.build());
VnfSdnUtil.toProperties(parms, "vnf-instance-operational-data", vnfInstanceOperDataBuilder);
String ackFinal = "Y";
try {
- if (svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync")) {
-
- try {
- respProps = svcLogicClient
- .execute("VNF-API", SVC_OPERATION, null, "sync", vfModuleServiceDataBuilder, parms);
- } catch (Exception e) {
- log.error("Caught exception executing service logic on vf-module for " + SVC_OPERATION, e);
- errorMessage = e.getMessage();
- errorCode = "500";
- }
-
+ if (svcLogicClient.hasGraph(VNF_API, svcOperation, null, "sync")) {
+ respProps = svcLogicClient
+ .execute(VNF_API, svcOperation, null, "sync", vfModuleServiceDataBuilder, parms);
} else {
- errorMessage = "No service logic active for VNF-API: '" + SVC_OPERATION + "'";
+ errorMessage = "No service logic active for VNF-API: '" + svcOperation + "'";
errorCode = "503";
}
+ } catch (SvcLogicException e) {
+ log.error("Caught exception executing service logic for " + svcOperation, e);
+ errorMessage = e.getMessage();
+ errorCode = "500";
} catch (Exception e) {
errorCode = "500";
errorMessage = e.getMessage();
log.error("Caught exception looking for service logic", e);
}
-
if (respProps != null) {
errorCode = respProps.getProperty("error-code");
errorMessage = respProps.getProperty("error-message");
serviceStatusBuilder.setRequestStatus(RequestStatus.Synccomplete);
serviceStatusBuilder.setRpcName(RpcName.VfModuleTopologyOperation);
- if (errorCode != null && errorCode.length() != 0 && !(errorCode.equals("0") || errorCode.equals("200"))) {
+ if (errorCode != null && errorCode.length() != 0 && !("0".equals(errorCode) || "200".equals(errorCode))) {
responseBuilder.setResponseCode(errorCode);
responseBuilder.setResponseMessage(errorMessage);
responseBuilder.setAckFinalIndicator(ackFinal);
vfModuleListBuilder.setVfModuleId(vfid);
vfModuleListBuilder.setServiceStatus(serviceStatusBuilder.build());
try {
- SaveVfModuleList(vfModuleListBuilder.build(), true, LogicalDatastoreType.CONFIGURATION);
+ saveVfModuleList(vfModuleListBuilder.build(), true, LogicalDatastoreType.CONFIGURATION);
} catch (Exception e) {
- log.error("Caught Exception updating MD-SAL for " + SVC_OPERATION + " [" + vfid + "] \n", e);
+ log.error(CAUGHT_EXCEPTION_STR + svcOperation + " [" + vfid + "] \n", e);
}
- log.error("Returned FAILED for " + SVC_OPERATION + " [" + vfid + "] " + responseBuilder.build());
+ log.error(RETURNED_FAILED_STR + svcOperation + " [" + vfid + "] " + responseBuilder.build());
RpcResult<VfModuleTopologyOperationOutput> rpcResult =
RpcResultBuilder.<VfModuleTopologyOperationOutput>status(true).withResult(responseBuilder.build())
.build();
try {
vfModuleServiceData = vfModuleServiceDataBuilder.build();
log.info(
- "Updating MD-SAL for " + SVC_OPERATION + " [" + vfid + "] VfModuleServiceData: " + vfModuleServiceData);
+ UPDATING_MD_SAL_STR + svcOperation + " [" + vfid + "] VfModuleServiceData: " + vfModuleServiceData);
// vf-module-list
VfModuleListBuilder vfModuleListBuilder = new VfModuleListBuilder();
vfModuleListBuilder.setVfModuleServiceData(vfModuleServiceData);
vfModuleListBuilder.setVfModuleId(vfModuleServiceData.getVfModuleId());
- //vfid = vfModuleServiceData.getVfModuleId();
vfModuleListBuilder.setServiceStatus(serviceStatusBuilder.build());
- SaveVfModuleList(vfModuleListBuilder.build(), false, LogicalDatastoreType.CONFIGURATION);
+ saveVfModuleList(vfModuleListBuilder.build(), false, LogicalDatastoreType.CONFIGURATION);
if (input.getSdncRequestHeader() != null && input.getSdncRequestHeader().getSvcAction() != null) {
// Only update operational tree on Delete or Activate
if (input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Delete) || input.getSdncRequestHeader()
.getSvcAction().equals(SvcAction.Activate)) {
- log.info("Updating OPERATIONAL tree.");
- SaveVfModuleList(vfModuleListBuilder.build(), false, LogicalDatastoreType.OPERATIONAL);
+ log.info(UPDATING_OPERATIONAL_TREE_STR);
+ saveVfModuleList(vfModuleListBuilder.build(), false, LogicalDatastoreType.OPERATIONAL);
}
}
VfModuleInformationBuilder vfModuleInformationBuilder = new VfModuleInformationBuilder();
responseBuilder.setVfModuleInformation(vfModuleInformationBuilder.build());
responseBuilder.setServiceInformation(vfModuleServiceData.getServiceInformation());
} catch (Exception e) {
- log.error("Caught Exception updating MD-SAL for " + SVC_OPERATION + " [" + vfid + "] \n", e);
+ log.error(CAUGHT_EXCEPTION_STR + svcOperation + " [" + vfid + "] \n", e);
responseBuilder.setResponseCode("500");
responseBuilder.setResponseMessage(e.toString());
responseBuilder.setAckFinalIndicator("Y");
- log.error("Returned FAILED for " + SVC_OPERATION + " [" + vfid + "] " + responseBuilder.build());
+ log.error(RETURNED_FAILED_STR + svcOperation + " [" + vfid + "] " + responseBuilder.build());
RpcResult<VfModuleTopologyOperationOutput> rpcResult =
RpcResultBuilder.<VfModuleTopologyOperationOutput>status(true).withResult(responseBuilder.build())
.build();
if (errorMessage != null) {
responseBuilder.setResponseMessage(errorMessage);
}
- log.info("Updated vf-module in MD-SAL for " + SVC_OPERATION + " [" + vfid + "] ");
- log.info("Returned SUCCESS for " + SVC_OPERATION + " [" + vfid + "] " + responseBuilder.build());
+ log.info("Updated vf-module in MD-SAL for " + svcOperation + " [" + vfid + "] ");
+ log.info(RETURNED_SUCCESS_STR + svcOperation + " [" + vfid + "] " + responseBuilder.build());
RpcResult<VfModuleTopologyOperationOutput> rpcResult =
RpcResultBuilder.<VfModuleTopologyOperationOutput>status(true).withResult(responseBuilder.build()).build();
return Futures.immediateFuture(rpcResult);
}
-
@Override
- public Future<RpcResult<VnfTopologyOperationOutput>> vnfTopologyOperation(VnfTopologyOperationInput input) {
- final String SVC_OPERATION = "vnf-topology-operation";
- ServiceData serviceData = null;
+ public ListenableFuture<RpcResult<VnfTopologyOperationOutput>> vnfTopologyOperation(
+ VnfTopologyOperationInput input) {
+ final String svcOperation = "vnf-topology-operation";
+ ServiceData serviceData;
ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder();
Properties parms = new Properties();
- log.info(SVC_OPERATION + " called.");
+ log.info(svcOperation + CALLED_STR);
// create a new response object
VnfTopologyOperationOutputBuilder responseBuilder = new VnfTopologyOperationOutputBuilder();
if (input == null || input.getServiceInformation() == null
|| input.getServiceInformation().getServiceInstanceId() == null
|| input.getServiceInformation().getServiceInstanceId().length() == 0) {
- log.debug("exiting " + SVC_OPERATION + " because of invalid input, null or empty service-instance-id");
+ log.debug(EXITING_STR + svcOperation + " because of invalid input, null or empty service-instance-id");
responseBuilder.setResponseCode("403");
- responseBuilder.setResponseMessage("invalid input, null or empty service-instance-id");
+ responseBuilder.setResponseMessage(INVALID_INPUT_NULL_OR_EMPTY_SERVICE_INSTANCE_ID);
responseBuilder.setAckFinalIndicator("Y");
RpcResult<VnfTopologyOperationOutput> rpcResult =
RpcResultBuilder.<VnfTopologyOperationOutput>status(true).withResult(responseBuilder.build()).build();
if (input.getVnfRequestInformation() == null || input.getVnfRequestInformation().getVnfId() == null
|| input.getVnfRequestInformation().getVnfId().length() == 0) {
- log.debug("exiting " + SVC_OPERATION + " because of invalid input, null or empty vf-module-id");
+ log.debug(EXITING_STR + svcOperation + " because of invalid input, null or empty vf-module-id");
responseBuilder.setResponseCode("403");
responseBuilder.setResponseMessage("invalid input, null or empty vf-module-id");
responseBuilder.setAckFinalIndicator("Y");
// Grab the service instance ID from the input buffer
String siid = input.getVnfRequestInformation().getVnfId();
- String preload_name = input.getVnfRequestInformation().getVnfName();
- String preload_type = input.getVnfRequestInformation().getVnfType();
+ String preloadName = input.getVnfRequestInformation().getVnfName();
+ String preloadType = input.getVnfRequestInformation().getVnfType();
if (input.getSdncRequestHeader() != null) {
responseBuilder.setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId());
}
PreloadDataBuilder preloadDataBuilder = new PreloadDataBuilder();
- getPreloadData(preload_name, preload_type, preloadDataBuilder);
+ getPreloadData(preloadName, preloadType, preloadDataBuilder);
ServiceDataBuilder serviceDataBuilder = new ServiceDataBuilder();
getServiceData(siid, serviceDataBuilder);
// setup a service-data object builder
// ACTION vnf-topology-operation
// INPUT:
- // USES sdnc-request-header;
// USES request-information;
- // USES service-information;
// USES vnf-request-information
// OUTPUT:
- // USES vnf-topology-response-body;
// USES vnf-information
// USES service-information
//
// container service-data
- // uses vnf-configuration-information;
// uses oper-status;
- log.info("Adding INPUT data for " + SVC_OPERATION + " [" + siid + "] input: " + input);
+ log.info(ADDING_INPUT_DATA_STR + svcOperation + " [" + siid + INPUT_STR + input);
VnfTopologyOperationInputBuilder inputBuilder = new VnfTopologyOperationInputBuilder(input);
VnfSdnUtil.toProperties(parms, inputBuilder.build());
- log.info("Adding OPERATIONAL data for " + SVC_OPERATION + " [" + siid + "] operational-data: " + operDataBuilder
+ log.info(ADDING_OPERATIONAL_DATA_STR + svcOperation + " [" + siid + OPERATIONAL_DATA_STR + operDataBuilder
.build());
- VnfSdnUtil.toProperties(parms, "operational-data", operDataBuilder);
+ VnfSdnUtil.toProperties(parms, OPERATIONAL_DATA, operDataBuilder);
log.info(
- "Adding CONFIG data for " + SVC_OPERATION + " [" + preload_name + "," + preload_type + "] preload-data: "
+ "Adding CONFIG data for " + svcOperation + " [" + preloadName + "," + preloadType + "] preload-data: "
+ preloadDataBuilder.build());
VnfSdnUtil.toProperties(parms, "preload-data", preloadDataBuilder);
String ackFinal = "Y";
try {
- if (svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync")) {
-
- try {
- respProps =
- svcLogicClient.execute("VNF-API", SVC_OPERATION, null, "sync", serviceDataBuilder, parms);
- } catch (Exception e) {
- log.error("Caught exception executing service logic for " + SVC_OPERATION, e);
- errorMessage = e.getMessage();
- errorCode = "500";
- }
+ if (svcLogicClient.hasGraph(VNF_API, svcOperation, null, "sync")) {
+ respProps = svcLogicClient.execute(VNF_API, svcOperation, null, "sync", serviceDataBuilder, parms);
} else {
- errorMessage = "No service logic active for VNF-API: '" + SVC_OPERATION + "'";
+ errorMessage = "No service logic active for VNF-API: '" + svcOperation + "'";
errorCode = "503";
}
+ } catch (SvcLogicException e) {
+ log.error("Caught exception executing service logic for " + siid, e);
+ errorMessage = e.getMessage();
+ errorCode = "500";
} catch (Exception e) {
errorCode = "500";
errorMessage = e.getMessage();
serviceStatusBuilder.setRequestStatus(RequestStatus.Synccomplete);
serviceStatusBuilder.setRpcName(RpcName.VnfTopologyOperation);
- if (errorCode != null && errorCode.length() != 0 && !(errorCode.equals("0") || errorCode.equals("200"))) {
+ if (errorCode != null && errorCode.length() != 0 && !("0".equals(errorCode) || "200".equals(errorCode))) {
responseBuilder.setResponseCode(errorCode);
responseBuilder.setResponseMessage(errorMessage);
responseBuilder.setAckFinalIndicator(ackFinal);
vnfListBuilder.setVnfId(siid);
vnfListBuilder.setServiceStatus(serviceStatusBuilder.build());
try {
- SaveVnfList(vnfListBuilder.build(), true, LogicalDatastoreType.CONFIGURATION);
+ saveVnfList(vnfListBuilder.build(), true, LogicalDatastoreType.CONFIGURATION);
} catch (Exception e) {
- log.error("Caught Exception updating MD-SAL for " + SVC_OPERATION + " [" + siid + "] \n", e);
+ log.error(CAUGHT_EXCEPTION_STR + svcOperation + " [" + siid + "] \n", e);
}
- log.error("Returned FAILED for " + SVC_OPERATION + " [" + siid + "] " + responseBuilder.build());
+ log.error(RETURNED_FAILED_STR + svcOperation + " [" + siid + "] " + responseBuilder.build());
RpcResult<VnfTopologyOperationOutput> rpcResult =
RpcResultBuilder.<VnfTopologyOperationOutput>status(true).withResult(responseBuilder.build()).build();
// return error
// Got success from SLI
try {
serviceData = serviceDataBuilder.build();
- log.info("Updating MD-SAL for " + SVC_OPERATION + " [" + siid + "] ServiceData: " + serviceData);
+ log.info(UPDATING_MD_SAL_STR + svcOperation + " [" + siid + "] ServiceData: " + serviceData);
// svc-configuration-list
VnfListBuilder vnfListBuilder = new VnfListBuilder();
vnfListBuilder.setServiceData(serviceData);
vnfListBuilder.setVnfId(serviceData.getVnfId());
siid = serviceData.getVnfId();
vnfListBuilder.setServiceStatus(serviceStatusBuilder.build());
- SaveVnfList(vnfListBuilder.build(), false, LogicalDatastoreType.CONFIGURATION);
+ saveVnfList(vnfListBuilder.build(), false, LogicalDatastoreType.CONFIGURATION);
if (input.getSdncRequestHeader() != null && input.getSdncRequestHeader().getSvcAction() != null) {
// Only update operational tree on Delete or Activate
if (input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Activate)) {
- log.info("Updating OPERATIONAL tree.");
- SaveVnfList(vnfListBuilder.build(), false, LogicalDatastoreType.OPERATIONAL);
+ log.info(UPDATING_OPERATIONAL_TREE_STR);
+ saveVnfList(vnfListBuilder.build(), false, LogicalDatastoreType.OPERATIONAL);
} else if (input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Delete) || input
.getSdncRequestHeader().getSvcAction().equals(SvcAction.Rollback)) {
log.info("Delete OPERATIONAL tree.");
- DeleteVnfList(vnfListBuilder.build(), LogicalDatastoreType.CONFIGURATION);
- DeleteVnfList(vnfListBuilder.build(), LogicalDatastoreType.OPERATIONAL);
+ deleteVnfList(vnfListBuilder.build(), LogicalDatastoreType.CONFIGURATION);
+ deleteVnfList(vnfListBuilder.build(), LogicalDatastoreType.OPERATIONAL);
}
}
VnfInformationBuilder vnfInformationBuilder = new VnfInformationBuilder();
responseBuilder.setVnfInformation(vnfInformationBuilder.build());
responseBuilder.setServiceInformation(serviceData.getServiceInformation());
} catch (Exception e) {
- log.error("Caught Exception updating MD-SAL for " + SVC_OPERATION + " [" + siid + "] \n", e);
+ log.error(CAUGHT_EXCEPTION_STR + svcOperation + " [" + siid + "] \n", e);
responseBuilder.setResponseCode("500");
responseBuilder.setResponseMessage(e.toString());
responseBuilder.setAckFinalIndicator("Y");
- log.error("Returned FAILED for " + SVC_OPERATION + " [" + siid + "] " + responseBuilder.build());
+ log.error(RETURNED_FAILED_STR + svcOperation + " [" + siid + "] " + responseBuilder.build());
RpcResult<VnfTopologyOperationOutput> rpcResult =
RpcResultBuilder.<VnfTopologyOperationOutput>status(true).withResult(responseBuilder.build()).build();
// return error
if (errorMessage != null) {
responseBuilder.setResponseMessage(errorMessage);
}
- log.info("Updated MD-SAL for " + SVC_OPERATION + " [" + siid + "] ");
- log.info("Returned SUCCESS for " + SVC_OPERATION + " [" + siid + "] " + responseBuilder.build());
+ log.info(UPDATED_MD_SAL_STR + svcOperation + " [" + siid + "] ");
+ log.info(RETURNED_SUCCESS_STR + svcOperation + " [" + siid + "] " + responseBuilder.build());
RpcResult<VnfTopologyOperationOutput> rpcResult =
RpcResultBuilder.<VnfTopologyOperationOutput>status(true).withResult(responseBuilder.build()).build();
return Futures.immediateFuture(rpcResult);
}
- @Override public Future<RpcResult<NetworkTopologyOperationOutput>> networkTopologyOperation(
+ @Override
+ public ListenableFuture<RpcResult<NetworkTopologyOperationOutput>> networkTopologyOperation(
NetworkTopologyOperationInput input) {
- final String SVC_OPERATION = "network-topology-operation";
- ServiceData serviceData = null;
+ final String svcOperation = "network-topology-operation";
+ ServiceData serviceData;
ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder();
Properties parms = new Properties();
- log.info(SVC_OPERATION + " called.");
+ log.info(svcOperation + CALLED_STR);
// create a new response object
NetworkTopologyOperationOutputBuilder responseBuilder = new NetworkTopologyOperationOutputBuilder();
if (input == null || input.getServiceInformation() == null
|| input.getServiceInformation().getServiceInstanceId() == null
|| input.getServiceInformation().getServiceInstanceId().length() == 0) {
- log.debug("exiting " + SVC_OPERATION + " because of invalid input, null or empty service-instance-id");
+ log.debug(EXITING_STR + svcOperation + " because of invalid input, null or empty service-instance-id");
responseBuilder.setResponseCode("403");
- responseBuilder.setResponseMessage("invalid input, null or empty service-instance-id");
+ responseBuilder.setResponseMessage(INVALID_INPUT_NULL_OR_EMPTY_SERVICE_INSTANCE_ID);
responseBuilder.setAckFinalIndicator("Y");
RpcResult<NetworkTopologyOperationOutput> rpcResult =
RpcResultBuilder.<NetworkTopologyOperationOutput>status(true).withResult(responseBuilder.build())
if (input.getNetworkRequestInformation() == null
|| input.getNetworkRequestInformation().getNetworkName() == null) {
- log.debug("exiting " + SVC_OPERATION + " because of invalid input, null or empty service-instance-id");
+ log.debug(EXITING_STR + svcOperation + " because of invalid input, null or empty service-instance-id");
responseBuilder.setResponseCode("403");
- responseBuilder.setResponseMessage("invalid input, null or empty service-instance-id");
+ responseBuilder.setResponseMessage(INVALID_INPUT_NULL_OR_EMPTY_SERVICE_INSTANCE_ID);
responseBuilder.setAckFinalIndicator("Y");
RpcResult<NetworkTopologyOperationOutput> rpcResult =
RpcResultBuilder.<NetworkTopologyOperationOutput>status(true).withResult(responseBuilder.build())
}
// Grab the service instance ID from the input buffer
- String siid = null;
+ String siid;
if (input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Assign)) {
siid = input.getNetworkRequestInformation().getNetworkName();
} else {
siid = input.getNetworkRequestInformation().getNetworkId();
}
- String preload_name = input.getNetworkRequestInformation().getNetworkName();
- String preload_type = input.getNetworkRequestInformation().getNetworkType();
+ String preloadName = input.getNetworkRequestInformation().getNetworkName();
+ String preloadType = input.getNetworkRequestInformation().getNetworkType();
if (input.getSdncRequestHeader() != null) {
responseBuilder.setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId());
}
PreloadDataBuilder preloadDataBuilder = new PreloadDataBuilder();
- getPreloadData(preload_name, preload_type, preloadDataBuilder);
+ getPreloadData(preloadName, preloadType, preloadDataBuilder);
- log.info("Adding INPUT data for " + SVC_OPERATION + " [" + siid + "] input: " + input);
+ log.info(ADDING_INPUT_DATA_STR + svcOperation + " [" + siid + INPUT_STR + input);
NetworkTopologyOperationInputBuilder inputBuilder = new NetworkTopologyOperationInputBuilder(input);
VnfSdnUtil.toProperties(parms, inputBuilder.build());
String networkId = "error";
try {
- if (svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync")) {
-
- try {
- respProps =
- svcLogicClient.execute("VNF-API", SVC_OPERATION, null, "sync", preloadDataBuilder, parms);
- } catch (Exception e) {
- log.error("Caught exception executing service logic for " + SVC_OPERATION, e);
- errorMessage = e.getMessage();
- errorCode = "500";
- }
+ if (svcLogicClient.hasGraph(VNF_API, svcOperation, null, "sync")) {
+ respProps = svcLogicClient.execute(VNF_API, svcOperation, null, "sync", preloadDataBuilder, parms);
} else {
- errorMessage = "No service logic active for VNF-API: '" + SVC_OPERATION + "'";
+ errorMessage = "No service logic active for VNF-API: '" + svcOperation + "'";
errorCode = "503";
}
+ } catch (SvcLogicException e) {
+ log.error("Caught exception executing service logic for " + svcOperation, e);
+ errorMessage = e.getMessage();
+ errorCode = "500";
} catch (Exception e) {
errorCode = "500";
errorMessage = e.getMessage();
networkId = respProps.getProperty("networkId", "0");
}
- if (errorCode != null && errorCode.length() != 0 && !(errorCode.equals("0") || errorCode.equals("200"))) {
+ if (errorCode != null && errorCode.length() != 0 && !("0".equals(errorCode) || "200".equals(errorCode))) {
responseBuilder.setResponseCode(errorCode);
responseBuilder.setResponseMessage(errorMessage);
responseBuilder.setAckFinalIndicator(ackFinal);
- log.error("Returned FAILED for " + SVC_OPERATION + " [" + siid + "] " + responseBuilder.build());
+ log.error(RETURNED_FAILED_STR + svcOperation + " [" + siid + "] " + responseBuilder.build());
RpcResult<NetworkTopologyOperationOutput> rpcResult =
RpcResultBuilder.<NetworkTopologyOperationOutput>status(true).withResult(responseBuilder.build())
responseBuilder.setNetworkInformation(networkInformationBuilder.build());
responseBuilder.setServiceInformation(input.getServiceInformation());
} catch (IllegalStateException e) {
- log.error("Caught Exception updating MD-SAL for " + SVC_OPERATION + " [" + siid + "] \n", e);
+ log.error(CAUGHT_EXCEPTION_STR + svcOperation + " [" + siid + "] \n", e);
responseBuilder.setResponseCode("500");
responseBuilder.setResponseMessage(e.toString());
responseBuilder.setAckFinalIndicator("Y");
- log.error("Returned FAILED for " + SVC_OPERATION + " [" + siid + "] " + responseBuilder.build());
+ log.error(RETURNED_FAILED_STR + svcOperation + " [" + siid + "] " + responseBuilder.build());
RpcResult<NetworkTopologyOperationOutput> rpcResult =
RpcResultBuilder.<NetworkTopologyOperationOutput>status(true).withResult(responseBuilder.build())
.build();
if (errorMessage != null) {
responseBuilder.setResponseMessage(errorMessage);
}
- log.info("Updated MD-SAL for " + SVC_OPERATION + " [" + siid + "] ");
- log.info("Returned SUCCESS for " + SVC_OPERATION + " [" + siid + "] " + responseBuilder.build());
+ log.info(UPDATED_MD_SAL_STR + svcOperation + " [" + siid + "] ");
+ log.info(RETURNED_SUCCESS_STR + svcOperation + " [" + siid + "] " + responseBuilder.build());
RpcResult<NetworkTopologyOperationOutput> rpcResult =
RpcResultBuilder.<NetworkTopologyOperationOutput>status(true).withResult(responseBuilder.build()).build();
return Futures.immediateFuture(rpcResult);
}
- @Override public Future<RpcResult<PreloadVnfTopologyOperationOutput>> preloadVnfTopologyOperation(
+ @Override
+ public ListenableFuture<RpcResult<PreloadVnfTopologyOperationOutput>> preloadVnfTopologyOperation(
PreloadVnfTopologyOperationInput input) {
- final String SVC_OPERATION = "preload-vnf-topology-operation";
- PreloadData preloadData = null;
+ final String svcOperation = "preload-vnf-topology-operation";
+ PreloadData preloadData;
Properties parms = new Properties();
- log.info(SVC_OPERATION + " called.");
+ log.info(svcOperation + CALLED_STR);
// create a new response object
PreloadVnfTopologyOperationOutputBuilder responseBuilder = new PreloadVnfTopologyOperationOutputBuilder();
// Result from savePreloadData
- final SettableFuture<RpcResult<Void>> futureResult = SettableFuture.create();
if (input == null || input.getVnfTopologyInformation() == null
|| input.getVnfTopologyInformation().getVnfTopologyIdentifier() == null
|| input.getVnfTopologyInformation().getVnfTopologyIdentifier().getVnfName() == null
|| input.getVnfTopologyInformation().getVnfTopologyIdentifier().getVnfType() == null) {
- log.debug("exiting " + SVC_OPERATION + " because of invalid input, null or empty vnf-name or vnf-type");
+ log.debug(EXITING_STR + svcOperation + " because of invalid input, null or empty vnf-name or vnf-type");
responseBuilder.setResponseCode("403");
responseBuilder.setResponseMessage("invalid input, null or empty vnf-name or vnf-type");
responseBuilder.setAckFinalIndicator("Y");
}
// Grab the name and type from the input buffer
- String preload_name = input.getVnfTopologyInformation().getVnfTopologyIdentifier().getVnfName();
- String preload_type = input.getVnfTopologyInformation().getVnfTopologyIdentifier().getVnfType();
+ String preloadName = input.getVnfTopologyInformation().getVnfTopologyIdentifier().getVnfName();
+ String preloadType = input.getVnfTopologyInformation().getVnfTopologyIdentifier().getVnfType();
// Make sure we have a preload_name and preload_type
- if (preload_name == null || preload_name.length() == 0) {
- log.debug("exiting " + SVC_OPERATION + " because of invalid preload-name");
+ if (preloadName == null || preloadName.length() == 0) {
+ log.debug(EXITING_STR + svcOperation + " because of invalid preload-name");
responseBuilder.setResponseCode("403");
- responseBuilder.setResponseMessage("invalid input, invalid preload-name");
+ responseBuilder.setResponseMessage(INVALID_INPUT_INVALID_PRELOAD_TYPE);
responseBuilder.setAckFinalIndicator("Y");
RpcResult<PreloadVnfTopologyOperationOutput> rpcResult =
RpcResultBuilder.<PreloadVnfTopologyOperationOutput>status(true).withResult(responseBuilder.build())
.build();
return Futures.immediateFuture(rpcResult);
}
- if (preload_type == null || preload_type.length() == 0) {
- log.debug("exiting " + SVC_OPERATION + " because of invalid preload-type");
+
+ if (preloadType == null || preloadType.length() == 0) {
+ log.debug(EXITING_STR + svcOperation + " because of invalid preload-type");
responseBuilder.setResponseCode("403");
- responseBuilder.setResponseMessage("invalid input, invalid preload-type");
+ responseBuilder.setResponseMessage(INVALID_INPUT_INVALID_PRELOAD_TYPE);
responseBuilder.setAckFinalIndicator("Y");
RpcResult<PreloadVnfTopologyOperationOutput> rpcResult =
RpcResultBuilder.<PreloadVnfTopologyOperationOutput>status(true).withResult(responseBuilder.build())
}
PreloadDataBuilder preloadDataBuilder = new PreloadDataBuilder();
- getPreloadData(preload_name, preload_type, preloadDataBuilder);
- //preloadData = preloadDataBuilder.build();
-
+ getPreloadData(preloadName, preloadType, preloadDataBuilder);
PreloadDataBuilder operDataBuilder = new PreloadDataBuilder();
- getPreloadData(preload_name, preload_type, operDataBuilder, LogicalDatastoreType.OPERATIONAL);
+ getPreloadData(preloadName, preloadType, operDataBuilder, LogicalDatastoreType.OPERATIONAL);
//
// setup a preload-data object builder
// ACTION vnf-topology-operation
// INPUT:
- // USES sdnc-request-header;
// USES request-information;
// uses vnf-topology-information;
// OUTPUT:
- // USES vnf-topology-response-body;
//
// container preload-data
- // uses vnf-configuration-information;
log.info(
- "Adding INPUT data for " + SVC_OPERATION + " [" + preload_name + "," + preload_type + "] input: " + input);
+ ADDING_INPUT_DATA_STR + svcOperation + " [" + preloadName + "," + preloadType + INPUT_STR + input);
PreloadVnfTopologyOperationInputBuilder inputBuilder = new PreloadVnfTopologyOperationInputBuilder(input);
VnfSdnUtil.toProperties(parms, inputBuilder.build());
- log.info("Adding OPERATIONAL data for " + SVC_OPERATION + " [" + preload_name + "," + preload_type
- + "] operational-data: " + operDataBuilder.build());
- VnfSdnUtil.toProperties(parms, "operational-data", operDataBuilder);
+ log.info(ADDING_OPERATIONAL_DATA_STR + svcOperation + " [" + preloadName + "," + preloadType
+ + OPERATIONAL_DATA_STR + operDataBuilder.build());
+ VnfSdnUtil.toProperties(parms, OPERATIONAL_DATA, operDataBuilder);
// Call SLI sync method
// Get SvcLogicService reference
String ackFinal = "Y";
try {
- if (svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync")) {
-
- try {
- respProps =
- svcLogicClient.execute("VNF-API", SVC_OPERATION, null, "sync", preloadDataBuilder, parms);
- } catch (Exception e) {
- log.error("Caught exception executing service logic for " + SVC_OPERATION, e);
- errorMessage = e.getMessage();
- errorCode = "500";
- }
+ if (svcLogicClient.hasGraph(VNF_API, svcOperation, null, "sync")) {
+ respProps = svcLogicClient.execute(VNF_API, svcOperation, null, "sync", preloadDataBuilder, parms);
} else {
- errorMessage = "No service logic active for VNF-API: '" + SVC_OPERATION + "'";
+ errorMessage = "No service logic active for VNF-API: '" + svcOperation + "'";
errorCode = "503";
}
+ } catch (SvcLogicException e) {
+ log.error("Caught exception executing service logic for " + svcOperation, e);
+ errorMessage = e.getMessage();
+ errorCode = "500";
} catch (Exception e) {
errorCode = "500";
errorMessage = e.getMessage();
errorCode = respProps.getProperty("error-code");
errorMessage = respProps.getProperty("error-message");
ackFinal = respProps.getProperty("ack-final", "Y");
- // internalError = respProps.getProperty("internal-error", "false");
}
- if (errorCode != null && errorCode.length() != 0 && !(errorCode.equals("0") || errorCode.equals("200"))) {
+ if (errorCode != null && errorCode.length() != 0 && !("0".equals(errorCode) || "200".equals(errorCode))) {
responseBuilder.setResponseCode(errorCode);
responseBuilder.setResponseMessage(errorMessage);
responseBuilder.setAckFinalIndicator(ackFinal);
VnfPreloadListBuilder preloadVnfListBuilder = new VnfPreloadListBuilder();
- preloadVnfListBuilder.setVnfName(preload_name);
- preloadVnfListBuilder.setVnfType(preload_type);
+ preloadVnfListBuilder.setVnfName(preloadName);
+ preloadVnfListBuilder.setVnfType(preloadType);
preloadVnfListBuilder.setPreloadData(preloadDataBuilder.build());
log.error(
- "Returned FAILED for " + SVC_OPERATION + " [" + preload_name + "," + preload_type + "] error code: '"
+ RETURNED_FAILED_STR + svcOperation + " [" + preloadName + "," + preloadType + "] error code: '"
+ errorCode + "', Reason: '" + errorMessage + "'");
try {
- SavePreloadList(preloadVnfListBuilder.build(), true, LogicalDatastoreType.CONFIGURATION);
+ savePreloadList(preloadVnfListBuilder.build(), true, LogicalDatastoreType.CONFIGURATION);
} catch (Exception e) {
log.error(
- "Caught Exception updating MD-SAL for " + SVC_OPERATION + " [" + preload_name + "," + preload_type
+ CAUGHT_EXCEPTION_STR + svcOperation + " [" + preloadName + "," + preloadType
+ "] \n", e);
}
- log.debug("Sending Success rpc result due to external error");
+ log.debug(SENDING_SUCCESS_RPC);
RpcResult<PreloadVnfTopologyOperationOutput> rpcResult =
RpcResultBuilder.<PreloadVnfTopologyOperationOutput>status(true).withResult(responseBuilder.build())
.build();
try {
preloadData = preloadDataBuilder.build();
log.info(
- "Updating MD-SAL for " + SVC_OPERATION + " [" + preload_name + "," + preload_type + "] preloadData: "
+ UPDATING_MD_SAL_STR + svcOperation + " [" + preloadName + "," + preloadType + "] preloadData: "
+ preloadData);
// svc-configuration-list
VnfPreloadListBuilder preloadVnfListBuilder = new VnfPreloadListBuilder();
- preloadVnfListBuilder.setVnfName(preload_name);
- preloadVnfListBuilder.setVnfType(preload_type);
+ preloadVnfListBuilder.setVnfName(preloadName);
+ preloadVnfListBuilder.setVnfType(preloadType);
preloadVnfListBuilder.setPreloadData(preloadData);
// SDNGC-989 set merge flag to false
- SavePreloadList(preloadVnfListBuilder.build(), false, LogicalDatastoreType.CONFIGURATION);
- log.info("Updating OPERATIONAL tree.");
- SavePreloadList(preloadVnfListBuilder.build(), false, LogicalDatastoreType.OPERATIONAL);
+ savePreloadList(preloadVnfListBuilder.build(), false, LogicalDatastoreType.CONFIGURATION);
+ log.info(UPDATING_OPERATIONAL_TREE_STR);
+ savePreloadList(preloadVnfListBuilder.build(), false, LogicalDatastoreType.OPERATIONAL);
} catch (Exception e) {
- log.error("Caught Exception updating MD-SAL for " + SVC_OPERATION + " [" + preload_name + "," + preload_type
+ log.error(CAUGHT_EXCEPTION_STR + svcOperation + " [" + preloadName + "," + preloadType
+ "] \n", e);
responseBuilder.setResponseCode("500");
responseBuilder.setResponseMessage(e.toString());
responseBuilder.setAckFinalIndicator("Y");
- log.error("Returned FAILED for " + SVC_OPERATION + " [" + preload_name + "," + preload_type + "] "
+ log.error(RETURNED_FAILED_STR + svcOperation + " [" + preloadName + "," + preloadType + "] "
+ responseBuilder.build());
RpcResult<PreloadVnfTopologyOperationOutput> rpcResult =
RpcResultBuilder.<PreloadVnfTopologyOperationOutput>status(false).withResult(responseBuilder.build())
if (errorMessage != null) {
responseBuilder.setResponseMessage(errorMessage);
}
- log.info("Updated MD-SAL for " + SVC_OPERATION + " [" + preload_name + "," + preload_type + "] ");
+ log.info(UPDATED_MD_SAL_STR + svcOperation + " [" + preloadName + "," + preloadType + "] ");
log.info(
- "Returned SUCCESS for " + SVC_OPERATION + " [" + preload_name + "," + preload_type + "] " + responseBuilder
+ RETURNED_SUCCESS_STR + svcOperation + " [" + preloadName + "," + preloadType + "] " + responseBuilder
.build());
RpcResult<PreloadVnfTopologyOperationOutput> rpcResult =
}
//1610 preload-vnf-instance-topology-operation
- @Override public Future<RpcResult<PreloadVnfInstanceTopologyOperationOutput>> preloadVnfInstanceTopologyOperation(
+ @Override
+ public ListenableFuture<RpcResult<PreloadVnfInstanceTopologyOperationOutput>> preloadVnfInstanceTopologyOperation(
PreloadVnfInstanceTopologyOperationInput input) {
- final String SVC_OPERATION = "preload-vnf-instance-topology-operation";
- VnfInstancePreloadData vnfInstancePreloadData = null;
+ final String svcOperation = "preload-vnf-instance-topology-operation";
+ VnfInstancePreloadData vnfInstancePreloadData;
Properties parms = new Properties();
- log.info(SVC_OPERATION + " called.");
+ log.info(svcOperation + CALLED_STR);
// create a new response object
PreloadVnfInstanceTopologyOperationOutputBuilder responseBuilder =
new PreloadVnfInstanceTopologyOperationOutputBuilder();
- // Result from savePreloadData
- final SettableFuture<RpcResult<Void>> futureResult = SettableFuture.create();
-
if (input == null || input.getVnfInstanceTopologyInformation() == null
|| input.getVnfInstanceTopologyInformation().getVnfInstanceIdentifiers().getVnfInstanceName() == null
|| input.getVnfInstanceTopologyInformation().getVnfInstanceIdentifiers().getVnfModelId() == null) {
- log.debug("exiting " + SVC_OPERATION
+ log.debug(EXITING_STR + svcOperation
+ " because of invalid input, null or empty vnf-instance-name or vnf-model-id");
responseBuilder.setResponseCode("403");
responseBuilder.setResponseMessage("invalid input, null or empty vnf-instance-name or vnf-model-id");
}
// Grab the name and type from the input buffer
- String preload_name =
+ String preloadName =
input.getVnfInstanceTopologyInformation().getVnfInstanceIdentifiers().getVnfInstanceName();
- String preload_type = input.getVnfInstanceTopologyInformation().getVnfInstanceIdentifiers().getVnfModelId();
+ String preloadType = input.getVnfInstanceTopologyInformation().getVnfInstanceIdentifiers().getVnfModelId();
- // Make sure we have a preload_name and preload_type
- if (preload_name == null || preload_name.length() == 0) {
- log.debug("exiting " + SVC_OPERATION + " because of invalid preload-name");
+ // Make sure we have a preloadName and preloadType
+ if (preloadName == null || preloadName.length() == 0) {
+ log.debug(EXITING_STR + svcOperation + " because of invalid preload-name");
responseBuilder.setResponseCode("403");
responseBuilder.setResponseMessage("invalid input, invalid preload-name");
responseBuilder.setAckFinalIndicator("Y");
.withResult(responseBuilder.build()).build();
return Futures.immediateFuture(rpcResult);
}
- if (preload_type == null || preload_type.length() == 0) {
- log.debug("exiting " + SVC_OPERATION + " because of invalid preload-type");
+
+ if (preloadType == null || preloadType.length() == 0) {
+ log.debug(EXITING_STR + svcOperation + " because of invalid preload-type");
responseBuilder.setResponseCode("403");
responseBuilder.setResponseMessage("invalid input, invalid preload-type");
responseBuilder.setAckFinalIndicator("Y");
}
VnfInstancePreloadDataBuilder vnfInstancePreloadDataBuilder = new VnfInstancePreloadDataBuilder();
- getVnfInstancePreloadData(preload_name, preload_type, vnfInstancePreloadDataBuilder);
- //preloadData = preloadDataBuilder.build();
-
+ getVnfInstancePreloadData(preloadName, preloadType, vnfInstancePreloadDataBuilder);
VnfInstancePreloadDataBuilder operDataBuilder = new VnfInstancePreloadDataBuilder();
- getVnfInstancePreloadData(preload_name, preload_type, operDataBuilder, LogicalDatastoreType.OPERATIONAL);
+ getVnfInstancePreloadData(preloadName, preloadType, operDataBuilder, LogicalDatastoreType.OPERATIONAL);
//
// setup a preload-data object builder
// ACTION vnf-topology-operation
// INPUT:
- // USES sdnc-request-header;
- // USES request-information;
// uses vnf-topology-information;
// OUTPUT:
- // USES vnf-topology-response-body;
- //
// container preload-data
- // uses vnf-configuration-information;
log.info(
- "Adding INPUT data for " + SVC_OPERATION + " [" + preload_name + "," + preload_type + "] input: " + input);
+ ADDING_CONFIG_DATA_STR + svcOperation + " [" + preloadName + "," + preloadType + INPUT_STR + input);
PreloadVnfInstanceTopologyOperationInputBuilder inputBuilder =
new PreloadVnfInstanceTopologyOperationInputBuilder(input);
VnfSdnUtil.toProperties(parms, inputBuilder.build());
- log.info("Adding OPERATIONAL data for " + SVC_OPERATION + " [" + preload_name + "," + preload_type
- + "] operational-data: " + operDataBuilder.build());
- VnfSdnUtil.toProperties(parms, "operational-data", operDataBuilder);
+ log.info(ADDING_OPERATIONAL_DATA_STR + svcOperation + " [" + preloadName + "," + preloadType
+ + OPERATIONAL_DATA_STR + operDataBuilder.build());
+ VnfSdnUtil.toProperties(parms, OPERATIONAL_DATA, operDataBuilder);
// Call SLI sync method
// Get SvcLogicService reference
String ackFinal = "Y";
try {
- if (svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync")) {
-
- try {
- respProps = svcLogicClient
- .execute("VNF-API", SVC_OPERATION, null, "sync", vnfInstancePreloadDataBuilder, parms);
- } catch (Exception e) {
- log.error("Caught exception executing service logic for " + SVC_OPERATION, e);
- errorMessage = e.getMessage();
- errorCode = "500";
- }
+ if (svcLogicClient.hasGraph(VNF_API, svcOperation, null, "sync")) {
+ respProps = svcLogicClient
+ .execute(VNF_API, svcOperation, null, "sync", vnfInstancePreloadDataBuilder, parms);
} else {
- errorMessage = "No service logic active for VNF-API: '" + SVC_OPERATION + "'";
+ errorMessage = "No service logic active for VNF-API: '" + svcOperation + "'";
errorCode = "503";
}
+ } catch (SvcLogicException e) {
+ log.error("Caught exception executing service logic for " + svcOperation, e);
+ errorMessage = e.getMessage();
+ errorCode = "500";
} catch (Exception e) {
errorCode = "500";
errorMessage = e.getMessage();
errorCode = respProps.getProperty("error-code");
errorMessage = respProps.getProperty("error-message");
ackFinal = respProps.getProperty("ack-final", "Y");
- // internalError = respProps.getProperty("internal-error", "false");
}
- if (errorCode != null && errorCode.length() != 0 && !(errorCode.equals("0") || errorCode.equals("200"))) {
+ if (errorCode != null && errorCode.length() != 0 && !("0".equals(errorCode) || "200".equals(errorCode))) {
responseBuilder.setResponseCode(errorCode);
responseBuilder.setResponseMessage(errorMessage);
responseBuilder.setAckFinalIndicator(ackFinal);
VnfInstancePreloadListBuilder vnfInstancePreloadListBuilder = new VnfInstancePreloadListBuilder();
- vnfInstancePreloadListBuilder.setVnfInstanceName(preload_name);
- vnfInstancePreloadListBuilder.setVnfModelId(preload_type);
+ vnfInstancePreloadListBuilder.setVnfInstanceName(preloadName);
+ vnfInstancePreloadListBuilder.setVnfModelId(preloadType);
vnfInstancePreloadListBuilder.setVnfInstancePreloadData(vnfInstancePreloadDataBuilder.build());
log.error(
- "Returned FAILED for " + SVC_OPERATION + " [" + preload_name + "," + preload_type + "] error code: '"
+ RETURNED_FAILED_STR + svcOperation + " [" + preloadName + "," + preloadType + "] error code: '"
+ errorCode + "', Reason: '" + errorMessage + "'");
try {
- SaveVnfInstancePreloadList(vnfInstancePreloadListBuilder.build(), true,
+ saveVnfInstancePreloadList(vnfInstancePreloadListBuilder.build(), true,
LogicalDatastoreType.CONFIGURATION);
} catch (Exception e) {
log.error(
- "Caught Exception updating MD-SAL for " + SVC_OPERATION + " [" + preload_name + "," + preload_type
+ CAUGHT_EXCEPTION_STR + svcOperation + " [" + preloadName + "," + preloadType
+ "] \n", e);
}
- log.debug("Sending Success rpc result due to external error");
+ log.debug(SENDING_SUCCESS_RPC);
RpcResult<PreloadVnfInstanceTopologyOperationOutput> rpcResult =
RpcResultBuilder.<PreloadVnfInstanceTopologyOperationOutput>status(true)
.withResult(responseBuilder.build()).build();
try {
vnfInstancePreloadData = vnfInstancePreloadDataBuilder.build();
log.info(
- "Updating MD-SAL for " + SVC_OPERATION + " [" + preload_name + "," + preload_type + "] preloadData: "
+ UPDATING_MD_SAL_STR + svcOperation + " [" + preloadName + "," + preloadType + "] preloadData: "
+ vnfInstancePreloadData);
// svc-configuration-list
VnfInstancePreloadListBuilder vnfInstancePreloadListBuilder = new VnfInstancePreloadListBuilder();
- vnfInstancePreloadListBuilder.setVnfInstanceName(preload_name);
- vnfInstancePreloadListBuilder.setVnfModelId(preload_type);
+ vnfInstancePreloadListBuilder.setVnfInstanceName(preloadName);
+ vnfInstancePreloadListBuilder.setVnfModelId(preloadType);
vnfInstancePreloadListBuilder.setVnfInstancePreloadData(vnfInstancePreloadData);
// SDNGC-989 set merge flag to false
- SaveVnfInstancePreloadList(vnfInstancePreloadListBuilder.build(), false,
+ saveVnfInstancePreloadList(vnfInstancePreloadListBuilder.build(), false,
LogicalDatastoreType.CONFIGURATION);
- log.info("Updating OPERATIONAL tree.");
- SaveVnfInstancePreloadList(vnfInstancePreloadListBuilder.build(), false, LogicalDatastoreType.OPERATIONAL);
+ log.info(UPDATING_OPERATIONAL_TREE_STR);
+ saveVnfInstancePreloadList(vnfInstancePreloadListBuilder.build(), false, LogicalDatastoreType.OPERATIONAL);
} catch (Exception e) {
- log.error("Caught Exception updating MD-SAL for " + SVC_OPERATION + " [" + preload_name + "," + preload_type
+ log.error(CAUGHT_EXCEPTION_STR + svcOperation + " [" + preloadName + "," + preloadType
+ "] \n", e);
responseBuilder.setResponseCode("500");
responseBuilder.setResponseMessage(e.toString());
responseBuilder.setAckFinalIndicator("Y");
- log.error("Returned FAILED for " + SVC_OPERATION + " [" + preload_name + "," + preload_type + "] "
+ log.error(RETURNED_FAILED_STR + svcOperation + " [" + preloadName + "," + preloadType + "] "
+ responseBuilder.build());
RpcResult<PreloadVnfInstanceTopologyOperationOutput> rpcResult =
RpcResultBuilder.<PreloadVnfInstanceTopologyOperationOutput>status(false)
if (errorMessage != null) {
responseBuilder.setResponseMessage(errorMessage);
}
- log.info("Updated MD-SAL for " + SVC_OPERATION + " [" + preload_name + "," + preload_type + "] ");
+ log.info(UPDATED_MD_SAL_STR + svcOperation + " [" + preloadName + "," + preloadType + "] ");
log.info(
- "Returned SUCCESS for " + SVC_OPERATION + " [" + preload_name + "," + preload_type + "] " + responseBuilder
+ RETURNED_SUCCESS_STR + svcOperation + " [" + preloadName + "," + preloadType + "] " + responseBuilder
.build());
RpcResult<PreloadVnfInstanceTopologyOperationOutput> rpcResult =
//1610 preload-vf-module-topology-operation
- @Override public Future<RpcResult<PreloadVfModuleTopologyOperationOutput>> preloadVfModuleTopologyOperation(
+ @Override
+ public ListenableFuture<RpcResult<PreloadVfModuleTopologyOperationOutput>> preloadVfModuleTopologyOperation(
PreloadVfModuleTopologyOperationInput input) {
- final String SVC_OPERATION = "preload-vf-module-topology-operation";
- VfModulePreloadData vfModulePreloadData = null;
+ final String svcOperation = "preload-vf-module-topology-operation";
+ VfModulePreloadData vfModulePreloadData;
Properties parms = new Properties();
- log.info(SVC_OPERATION + " called.");
+ log.info(svcOperation + CALLED_STR);
// create a new response object
PreloadVfModuleTopologyOperationOutputBuilder responseBuilder =
new PreloadVfModuleTopologyOperationOutputBuilder();
// Result from savePreloadData
- final SettableFuture<RpcResult<Void>> futureResult = SettableFuture.create();
if (input == null || input.getVfModuleTopologyInformation() == null
|| input.getVfModuleTopologyInformation().getVfModuleIdentifiers().getVfModuleName() == null
|| input.getVfModuleTopologyInformation().getVfModuleIdentifiers().getVfModuleModelId() == null) {
- log.debug("exiting " + SVC_OPERATION
+ log.debug(EXITING_STR + svcOperation
+ " because of invalid input, null or empty vf-module-name or vf-module-model-id");
responseBuilder.setResponseCode("403");
responseBuilder.setResponseMessage("invalid input, null or empty vf-module-name or vf-module-model-id");
}
// Grab the name and type from the input buffer
- String preload_name = input.getVfModuleTopologyInformation().getVfModuleIdentifiers().getVfModuleName();
- String preload_type = input.getVfModuleTopologyInformation().getVfModuleIdentifiers().getVfModuleModelId();
+ String preloadName = input.getVfModuleTopologyInformation().getVfModuleIdentifiers().getVfModuleName();
+ String preloadType = input.getVfModuleTopologyInformation().getVfModuleIdentifiers().getVfModuleModelId();
- // Make sure we have a preload_name and preload_type
- if (preload_name == null || preload_name.length() == 0) {
- log.debug("exiting " + SVC_OPERATION + " because of invalid preload-name");
+ // Make sure we have a preloadName and preloadType
+ if (preloadName == null || preloadName.length() == 0) {
+ log.debug(EXITING_STR + svcOperation + " because of invalid preload-name");
responseBuilder.setResponseCode("403");
responseBuilder.setResponseMessage("invalid input, invalid preload-name");
responseBuilder.setAckFinalIndicator("Y");
.withResult(responseBuilder.build()).build();
return Futures.immediateFuture(rpcResult);
}
- if (preload_type == null || preload_type.length() == 0) {
- log.debug("exiting " + SVC_OPERATION + " because of invalid preload-type");
+ if (preloadType == null || preloadType.length() == 0) {
+ log.debug(EXITING_STR + svcOperation + " because of invalid preload-type");
responseBuilder.setResponseCode("403");
responseBuilder.setResponseMessage("invalid input, invalid preload-type");
responseBuilder.setAckFinalIndicator("Y");
}
VfModulePreloadDataBuilder vfModulePreloadDataBuilder = new VfModulePreloadDataBuilder();
- getVfModulePreloadData(preload_name, preload_type, vfModulePreloadDataBuilder);
- //preloadData = preloadDataBuilder.build();
-
+ getVfModulePreloadData(preloadName, preloadType, vfModulePreloadDataBuilder);
VfModulePreloadDataBuilder operDataBuilder = new VfModulePreloadDataBuilder();
- getVfModulePreloadData(preload_name, preload_type, operDataBuilder, LogicalDatastoreType.OPERATIONAL);
+ getVfModulePreloadData(preloadName, preloadType, operDataBuilder, LogicalDatastoreType.OPERATIONAL);
//
// setup a preload-data object builder
// ACTION vnf-topology-operation
// INPUT:
- // USES sdnc-request-header;
// USES request-information;
// uses vnf-topology-information;
// OUTPUT:
- // USES vnf-topology-response-body;
//
// container preload-data
- // uses vnf-configuration-information;
log.info(
- "Adding INPUT data for " + SVC_OPERATION + " [" + preload_name + "," + preload_type + "] input: " + input);
+ ADDING_INPUT_DATA_STR + svcOperation + " [" + preloadName + "," + preloadType + INPUT_STR + input);
PreloadVfModuleTopologyOperationInputBuilder inputBuilder =
new PreloadVfModuleTopologyOperationInputBuilder(input);
VnfSdnUtil.toProperties(parms, inputBuilder.build());
- log.info("Adding OPERATIONAL data for " + SVC_OPERATION + " [" + preload_name + "," + preload_type
- + "] operational-data: " + operDataBuilder.build());
- VnfSdnUtil.toProperties(parms, "operational-data", operDataBuilder);
+ log.info(ADDING_OPERATIONAL_DATA_STR + svcOperation + " [" + preloadName + "," + preloadType
+ + OPERATIONAL_DATA_STR + operDataBuilder.build());
+ VnfSdnUtil.toProperties(parms, OPERATIONAL_DATA, operDataBuilder);
// Call SLI sync method
// Get SvcLogicService reference
String ackFinal = "Y";
try {
- if (svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync")) {
- try {
- respProps = svcLogicClient
- .execute("VNF-API", SVC_OPERATION, null, "sync", vfModulePreloadDataBuilder, parms);
- } catch (Exception e) {
- log.error("Caught exception executing service logic for " + SVC_OPERATION, e);
- errorMessage = e.getMessage();
- errorCode = "500";
- }
+ if (svcLogicClient.hasGraph(VNF_API, svcOperation, null, "sync")) {
+ respProps = svcLogicClient
+ .execute(VNF_API, svcOperation, null, "sync", vfModulePreloadDataBuilder, parms);
} else {
- errorMessage = "No service logic active for VNF-API: '" + SVC_OPERATION + "'";
+ errorMessage = "No service logic active for VNF-API: '" + svcOperation + "'";
errorCode = "503";
}
+ } catch (SvcLogicException e) {
+ log.error("Caught exception executing service logic for " + svcOperation, e);
+ errorMessage = e.getMessage();
+ errorCode = "500";
+
} catch (Exception e) {
errorCode = "500";
errorMessage = e.getMessage();
errorCode = respProps.getProperty("error-code");
errorMessage = respProps.getProperty("error-message");
ackFinal = respProps.getProperty("ack-final", "Y");
- // internalError = respProps.getProperty("internal-error", "false");
}
- if (errorCode != null && errorCode.length() != 0 && !(errorCode.equals("0") || errorCode.equals("200"))) {
+ if (errorCode != null && errorCode.length() != 0 && !("0".equals(errorCode) || "200".equals(errorCode))) {
responseBuilder.setResponseCode(errorCode);
responseBuilder.setResponseMessage(errorMessage);
responseBuilder.setAckFinalIndicator(ackFinal);
VfModulePreloadListBuilder vfModulePreloadListBuilder = new VfModulePreloadListBuilder();
- vfModulePreloadListBuilder.setVfModuleName(preload_name);
- vfModulePreloadListBuilder.setVfModuleModelId(preload_type);
+ vfModulePreloadListBuilder.setVfModuleName(preloadName);
+ vfModulePreloadListBuilder.setVfModuleModelId(preloadType);
vfModulePreloadListBuilder.setVfModulePreloadData(vfModulePreloadDataBuilder.build());
log.error(
- "Returned FAILED for " + SVC_OPERATION + " [" + preload_name + "," + preload_type + "] error code: '"
+ RETURNED_FAILED_STR + svcOperation + " [" + preloadName + "," + preloadType + "] error code: '"
+ errorCode + "', Reason: '" + errorMessage + "'");
try {
- SaveVfModulePreloadList(vfModulePreloadListBuilder.build(), true, LogicalDatastoreType.CONFIGURATION);
+ saveVfModulePreloadList(vfModulePreloadListBuilder.build(), true, LogicalDatastoreType.CONFIGURATION);
} catch (Exception e) {
log.error(
- "Caught Exception updating MD-SAL for " + SVC_OPERATION + " [" + preload_name + "," + preload_type
+ CAUGHT_EXCEPTION_STR + svcOperation + " [" + preloadName + "," + preloadType
+ "] \n", e);
}
- log.debug("Sending Success rpc result due to external error");
+ log.debug(SENDING_SUCCESS_RPC);
RpcResult<PreloadVfModuleTopologyOperationOutput> rpcResult =
RpcResultBuilder.<PreloadVfModuleTopologyOperationOutput>status(true)
.withResult(responseBuilder.build()).build();
try {
vfModulePreloadData = vfModulePreloadDataBuilder.build();
log.info(
- "Updating MD-SAL for " + SVC_OPERATION + " [" + preload_name + "," + preload_type + "] preloadData: "
+ UPDATING_MD_SAL_STR + svcOperation + " [" + preloadName + "," + preloadType + "] preloadData: "
+ vfModulePreloadData);
// svc-configuration-list
VfModulePreloadListBuilder vfModulePreloadListBuilder = new VfModulePreloadListBuilder();
- vfModulePreloadListBuilder.setVfModuleName(preload_name);
- vfModulePreloadListBuilder.setVfModuleModelId(preload_type);
+ vfModulePreloadListBuilder.setVfModuleName(preloadName);
+ vfModulePreloadListBuilder.setVfModuleModelId(preloadType);
vfModulePreloadListBuilder.setVfModulePreloadData(vfModulePreloadData);
// SDNGC-989 set merge flag to false
- SaveVfModulePreloadList(vfModulePreloadListBuilder.build(), false, LogicalDatastoreType.CONFIGURATION);
- log.info("Updating OPERATIONAL tree.");
- SaveVfModulePreloadList(vfModulePreloadListBuilder.build(), false, LogicalDatastoreType.OPERATIONAL);
+ saveVfModulePreloadList(vfModulePreloadListBuilder.build(), false, LogicalDatastoreType.CONFIGURATION);
+ log.info(UPDATING_OPERATIONAL_TREE_STR);
+ saveVfModulePreloadList(vfModulePreloadListBuilder.build(), false, LogicalDatastoreType.OPERATIONAL);
} catch (Exception e) {
- log.error("Caught Exception updating MD-SAL for " + SVC_OPERATION + " [" + preload_name + "," + preload_type
+ log.error(CAUGHT_EXCEPTION_STR + svcOperation + " [" + preloadName + "," + preloadType
+ "] \n", e);
responseBuilder.setResponseCode("500");
responseBuilder.setResponseMessage(e.toString());
responseBuilder.setAckFinalIndicator("Y");
- log.error("Returned FAILED for " + SVC_OPERATION + " [" + preload_name + "," + preload_type + "] "
+ log.error(RETURNED_FAILED_STR + svcOperation + " [" + preloadName + "," + preloadType + "] "
+ responseBuilder.build());
RpcResult<PreloadVfModuleTopologyOperationOutput> rpcResult =
RpcResultBuilder.<PreloadVfModuleTopologyOperationOutput>status(false)
if (errorMessage != null) {
responseBuilder.setResponseMessage(errorMessage);
}
- log.info("Updated MD-SAL for " + SVC_OPERATION + " [" + preload_name + "," + preload_type + "] ");
+ log.info(UPDATED_MD_SAL_STR + svcOperation + " [" + preloadName + "," + preloadType + "] ");
log.info(
- "Returned SUCCESS for " + SVC_OPERATION + " [" + preload_name + "," + preload_type + "] " + responseBuilder
+ RETURNED_SUCCESS_STR + svcOperation + " [" + preloadName + "," + preloadType + "] " + responseBuilder
.build());
RpcResult<PreloadVfModuleTopologyOperationOutput> rpcResult =
}
- @Override public Future<RpcResult<PreloadNetworkTopologyOperationOutput>> preloadNetworkTopologyOperation(
+ @Override
+ public ListenableFuture<RpcResult<PreloadNetworkTopologyOperationOutput>> preloadNetworkTopologyOperation(
PreloadNetworkTopologyOperationInput input) {
- final String SVC_OPERATION = "preload-network-topology-operation";
+ final String svcOperation = "preload-network-topology-operation";
PreloadData preloadData = null;
Properties parms = new Properties();
- log.info(SVC_OPERATION + " called.");
+ log.info(svcOperation + CALLED_STR);
// create a new response object
PreloadNetworkTopologyOperationOutputBuilder responseBuilder =
new PreloadNetworkTopologyOperationOutputBuilder();
// Result from savePreloadData
- final SettableFuture<RpcResult<Void>> futureResult = SettableFuture.create();
if (input == null || input.getNetworkTopologyInformation() == null
|| input.getNetworkTopologyInformation().getNetworkTopologyIdentifier() == null
|| input.getNetworkTopologyInformation().getNetworkTopologyIdentifier().getNetworkName() == null
|| input.getNetworkTopologyInformation().getNetworkTopologyIdentifier().getNetworkType() == null) {
- log.debug("exiting " + SVC_OPERATION + " because of invalid input, null or" +
- " empty network-name or network-type");
+ log.debug(EXITING_STR + svcOperation + " because of invalid input, null or" +
+ " empty network-name or network-type");
responseBuilder.setResponseCode("403");
responseBuilder.setResponseMessage("input, null or empty network-name or network-type");
responseBuilder.setAckFinalIndicator("Y");
}
// Grab the name and type from the input buffer
- String preload_name = input.getNetworkTopologyInformation().getNetworkTopologyIdentifier().getNetworkName();
- String preload_type = input.getNetworkTopologyInformation().getNetworkTopologyIdentifier().getNetworkType();
+ String preloadName = input.getNetworkTopologyInformation().getNetworkTopologyIdentifier().getNetworkName();
+ String preloadType = input.getNetworkTopologyInformation().getNetworkTopologyIdentifier().getNetworkType();
- // Make sure we have a preload_name and preload_type
- if (preload_name == null || preload_name.length() == 0) {
- log.debug("exiting " + SVC_OPERATION + " because of invalid preload-name");
+ // Make sure we have a preloadName and preloadType
+ if (preloadName == null || preloadName.length() == 0) {
+ log.debug(EXITING_STR + svcOperation + " because of invalid preload-name");
responseBuilder.setResponseCode("403");
responseBuilder.setResponseMessage("input, invalid preload-name");
responseBuilder.setAckFinalIndicator("Y");
return Futures.immediateFuture(rpcResult);
}
- if (preload_type == null || preload_type.length() == 0) {
- log.debug("exiting " + SVC_OPERATION + " because of invalid preload-type");
+ if (preloadType == null || preloadType.length() == 0) {
+ log.debug(EXITING_STR + svcOperation + " because of invalid preload-type");
responseBuilder.setResponseCode("403");
responseBuilder.setResponseMessage("input, invalid preload-type");
responseBuilder.setAckFinalIndicator("Y");
}
PreloadDataBuilder preloadDataBuilder = new PreloadDataBuilder();
- getPreloadData(preload_name, preload_type, preloadDataBuilder);
+ getPreloadData(preloadName, preloadType, preloadDataBuilder);
PreloadDataBuilder operDataBuilder = new PreloadDataBuilder();
- getPreloadData(preload_name, preload_type, operDataBuilder, LogicalDatastoreType.OPERATIONAL);
+ getPreloadData(preloadName, preloadType, operDataBuilder, LogicalDatastoreType.OPERATIONAL);
//
// setup a preload-data object builder
// ACTION vnf-topology-operation
// INPUT:
- // USES sdnc-request-header;
// USES request-information;
// uses vnf-topology-information;
// OUTPUT:
- // USES vnf-topology-response-body;
//
// container preload-data
- // uses vnf-configuration-information;
log.info(
- "Adding INPUT data for " + SVC_OPERATION + " [" + preload_name + "," + preload_type + "] input: " + input);
+ ADDING_INPUT_DATA_STR + svcOperation + " [" + preloadName + "," + preloadType + INPUT_STR + input);
PreloadNetworkTopologyOperationInputBuilder inputBuilder =
new PreloadNetworkTopologyOperationInputBuilder(input);
VnfSdnUtil.toProperties(parms, inputBuilder.build());
- log.info("Adding OPERATIONAL data for " + SVC_OPERATION + " [" + preload_name + "," + preload_type
- + "] operational-data: " + operDataBuilder.build());
- VnfSdnUtil.toProperties(parms, "operational-data", operDataBuilder);
+ log.info(ADDING_OPERATIONAL_DATA_STR + svcOperation + " [" + preloadName + "," + preloadType
+ + OPERATIONAL_DATA_STR + operDataBuilder.build());
+ VnfSdnUtil.toProperties(parms, OPERATIONAL_DATA, operDataBuilder);
// Call SLI sync method
// Get SvcLogicService reference
String ackFinal = "Y";
try {
- if (svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync")) {
- try {
- respProps =
- svcLogicClient.execute("VNF-API", SVC_OPERATION, null, "sync", preloadDataBuilder, parms);
- } catch (Exception e) {
- log.error("Caught exception executing service logic for " + SVC_OPERATION, e);
- errorMessage = e.getMessage();
- errorCode = "500";
- }
+ if (svcLogicClient.hasGraph(VNF_API, svcOperation, null, "sync")) {
+ respProps = svcLogicClient.execute(VNF_API, svcOperation, null, "sync", preloadDataBuilder, parms);
} else {
- errorMessage = "No service logic active for VNF-API: '" + SVC_OPERATION + "'";
+ errorMessage = "No service logic active for VNF-API: '" + svcOperation + "'";
errorCode = "503";
}
+ } catch (SvcLogicException e) {
+ log.error("Caught exception executing service logic for " + svcOperation, e);
+ errorMessage = e.getMessage();
+ errorCode = "500";
} catch (Exception e) {
errorCode = "500";
errorMessage = e.getMessage();
log.error("Caught exception looking for service logic", e);
}
-
if (respProps != null) {
errorCode = respProps.getProperty("error-code");
errorMessage = respProps.getProperty("error-message");
ackFinal = respProps.getProperty("ack-final", "Y");
- // internalError = respProps.getProperty("internal-error", "false");
}
- if (errorCode != null && errorCode.length() != 0 && !(errorCode.equals("0") || errorCode.equals("200"))) {
+ if (errorCode != null && errorCode.length() != 0 && !("0".equals(errorCode) || "200".equals(errorCode))) {
responseBuilder.setResponseCode(errorCode);
responseBuilder.setResponseMessage(errorMessage);
responseBuilder.setAckFinalIndicator(ackFinal);
VnfPreloadListBuilder preloadVnfListBuilder = new VnfPreloadListBuilder();
- preloadVnfListBuilder.setVnfName(preload_name);
- preloadVnfListBuilder.setVnfType(preload_type);
+ preloadVnfListBuilder.setVnfName(preloadName);
+ preloadVnfListBuilder.setVnfType(preloadType);
preloadVnfListBuilder.setPreloadData(preloadDataBuilder.build());
log.error(
- "Returned FAILED for " + SVC_OPERATION + " [" + preload_name + "," + preload_type + "] error code: '"
+ RETURNED_FAILED_STR + svcOperation + " [" + preloadName + "," + preloadType + "] error code: '"
+ errorCode + "', Reason: '" + errorMessage + "'");
try {
- SavePreloadList(preloadVnfListBuilder.build(), true, LogicalDatastoreType.CONFIGURATION);
+ savePreloadList(preloadVnfListBuilder.build(), true, LogicalDatastoreType.CONFIGURATION);
} catch (Exception e) {
log.error(
- "Caught Exception updating MD-SAL for " + SVC_OPERATION + " [" + preload_name + "," + preload_type
+ CAUGHT_EXCEPTION_STR + svcOperation + " [" + preloadName + "," + preloadType
+ "] \n", e);
}
- log.debug("Sending Success rpc result due to external error");
+ log.debug(SENDING_SUCCESS_RPC);
RpcResult<PreloadNetworkTopologyOperationOutput> rpcResult =
RpcResultBuilder.<PreloadNetworkTopologyOperationOutput>status(true).withResult(responseBuilder.build())
.build();
try {
preloadData = preloadDataBuilder.build();
log.info(
- "Updating MD-SAL for " + SVC_OPERATION + " [" + preload_name + "," + preload_type + "] preloadData: "
+ UPDATING_MD_SAL_STR + svcOperation + " [" + preloadName + "," + preloadType + "] preloadData: "
+ preloadData);
// svc-configuration-list
VnfPreloadListBuilder preloadVnfListBuilder = new VnfPreloadListBuilder();
- preloadVnfListBuilder.setVnfName(preload_name);
- preloadVnfListBuilder.setVnfType(preload_type);
+ preloadVnfListBuilder.setVnfName(preloadName);
+ preloadVnfListBuilder.setVnfType(preloadType);
preloadVnfListBuilder.setPreloadData(preloadData);
// SDNGC-989 set merge flag to false
- SavePreloadList(preloadVnfListBuilder.build(), false, LogicalDatastoreType.CONFIGURATION);
- log.info("Updating OPERATIONAL tree.");
- SavePreloadList(preloadVnfListBuilder.build(), false, LogicalDatastoreType.OPERATIONAL);
+ savePreloadList(preloadVnfListBuilder.build(), false, LogicalDatastoreType.CONFIGURATION);
+ log.info(UPDATING_OPERATIONAL_TREE_STR);
+ savePreloadList(preloadVnfListBuilder.build(), false, LogicalDatastoreType.OPERATIONAL);
} catch (Exception e) {
- log.error("Caught Exception updating MD-SAL for " + SVC_OPERATION + " [" + preload_name + "," + preload_type
+ log.error(CAUGHT_EXCEPTION_STR + svcOperation + " [" + preloadName + "," + preloadType
+ "] \n", e);
responseBuilder.setResponseCode("500");
responseBuilder.setResponseMessage(e.toString());
responseBuilder.setAckFinalIndicator("Y");
- log.error("Returned FAILED for " + SVC_OPERATION + " [" + preload_name + "," + preload_type + "] "
+ log.error(RETURNED_FAILED_STR + svcOperation + " [" + preloadName + "," + preloadType + "] "
+ responseBuilder.build());
RpcResult<PreloadNetworkTopologyOperationOutput> rpcResult =
RpcResultBuilder.<PreloadNetworkTopologyOperationOutput>status(false)
if (errorMessage != null) {
responseBuilder.setResponseMessage(errorMessage);
}
- log.info("Updated MD-SAL for " + SVC_OPERATION + " [" + preload_name + "," + preload_type + "] ");
+ log.info(UPDATED_MD_SAL_STR + svcOperation + " [" + preloadName + "," + preloadType + "] ");
log.info(
- "Returned SUCCESS for " + SVC_OPERATION + " [" + preload_name + "," + preload_type + "] " + responseBuilder
+ RETURNED_SUCCESS_STR + svcOperation + " [" + preloadName + "," + preloadType + "] " + responseBuilder
.build());
RpcResult<PreloadNetworkTopologyOperationOutput> rpcResult =
.build();
return Futures.immediateFuture(rpcResult);
}
+
+
}