enchance rebuildaction to make snapshotid Optional
[appc.git] / appc-adapters / appc-iaas-adapter / appc-iaas-adapter-bundle / src / main / java / org / onap / appc / adapter / iaas / provider / operation / impl / SnapshotStack.java
index ac35d4b..a0ce25c 100644 (file)
@@ -50,6 +50,8 @@ import org.onap.appc.adapter.openstack.heat.model.CreateSnapshotParams;
 import org.onap.appc.adapter.openstack.heat.model.Snapshot;
 import org.onap.appc.exceptions.APPCException;
 import org.onap.appc.i18n.Msg;
+import org.onap.appc.logging.LoggingConstants;
+import org.onap.appc.logging.LoggingUtils;
 import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
 import org.slf4j.MDC;
 import java.text.DateFormat;
@@ -64,41 +66,29 @@ public class SnapshotStack extends ProviderStackOperation {
     private static final EELFLogger logger = EELFManager.getInstance().getLogger(SnapshotStack.class);
     private static EELFLogger metricsLogger = EELFManager.getInstance().getMetricsLogger();
 
-
     private Snapshot snapshotStack(@SuppressWarnings("unused") RequestContext rc, Stack stack)
             throws ZoneException, RequestFailedException {
         Snapshot snapshot = new Snapshot();
         Context context = stack.getContext();
-
         OpenStackContext osContext = (OpenStackContext) context;
-
         final HeatConnector heatConnector = osContext.getHeatConnector();
         ((OpenStackContext) context).refreshIfStale(heatConnector);
-
         trackRequest(context);
         RequestState.put("SERVICE", "Orchestration");
         RequestState.put("SERVICE_URL", heatConnector.getEndpoint());
-
         Heat heat = heatConnector.getClient();
-
         SnapshotResource snapshotResource = new SnapshotResource(heat);
-
         setTimeForMetricsLogger();
-
         try {
-
             snapshot = snapshotResource.create(stack.getName(), stack.getId(), new CreateSnapshotParams()).execute();
-
             // wait for the stack deletion
             StackResource stackResource = new StackResource(heat);
             if (!waitForStack(stack, stackResource, "SNAPSHOT_COMPLETE")) {
                 throw new RequestFailedException("Stack Snapshot failed.");
             }
-
         } catch (OpenStackBaseException e) {
             ExceptionMapper.mapException(e);
         }
-
         return snapshot;
     }
 
@@ -108,33 +98,26 @@ public class SnapshotStack extends ProviderStackOperation {
         RequestContext rc = new RequestContext(ctx);
         rc.isAlive();
         ctx.setAttribute("SNAPSHOT_STATUS", "STACK_NOT_FOUND");
-
         setTimeForMetricsLogger();
-
         String vm_url = null;
         Context context = null;
-        String tenantName = "Unknown";//to be used also in case of exception
+        String tenantName = "Unknown";// to be used also in case of exception
         try {
             validateParametersExist(params, ProviderAdapter.PROPERTY_INSTANCE_URL,
                     ProviderAdapter.PROPERTY_PROVIDER_NAME, ProviderAdapter.PROPERTY_STACK_ID);
-
             String stackId = params.get(ProviderAdapter.PROPERTY_STACK_ID);
             String appName = configuration.getProperty(Constants.PROPERTY_APPLICATION_NAME);
             vm_url = params.get(ProviderAdapter.PROPERTY_INSTANCE_URL);
             context = resolveContext(rc, params, appName, vm_url);
-
             if (context != null) {
-                tenantName = context.getTenantName();//this varaible also is used in case of exception
+                tenantName = context.getTenantName();// this varaible also is used in case of exception
                 stack = lookupStack(rc, context, stackId);
                 logger.debug(Msg.STACK_FOUND, vm_url, tenantName, stack.getStatus().toString());
                 logger.info(EELFResourceManager.format(Msg.SNAPSHOTING_STACK, stack.getName()));
                 metricsLogger.info(EELFResourceManager.format(Msg.SNAPSHOTING_STACK, stack.getName()));
-
                 Snapshot snapshot = snapshotStack(rc, stack);
-
                 ctx.setAttribute(ProviderAdapter.DG_OUTPUT_PARAM_NAMESPACE + ProviderAdapter.PROPERTY_SNAPSHOT_ID,
                         snapshot.getId());
-
                 logger.info(EELFResourceManager.format(Msg.STACK_SNAPSHOTED, stack.getName(), snapshot.getId()));
                 metricsLogger.info(EELFResourceManager.format(Msg.STACK_SNAPSHOTED, stack.getName(), snapshot.getId()));
                 context.close();
@@ -142,7 +125,6 @@ public class SnapshotStack extends ProviderStackOperation {
             } else {
                 ctx.setAttribute(Constants.DG_ATTRIBUTE_STATUS, "failure");
             }
-
         } catch (ResourceNotFoundException e) {
             String msg = EELFResourceManager.format(Msg.STACK_NOT_FOUND, e, vm_url);
             logger.error(msg);
@@ -168,27 +150,20 @@ public class SnapshotStack extends ProviderStackOperation {
             throws APPCException {
         setMDC(Operation.SNAPSHOT_STACK.toString(), "App-C IaaS Adapter:Snapshot-Stack", ADAPTER_NAME);
         logOperation(Msg.SNAPSHOTING_STACK, params, context);
-
         setTimeForMetricsLogger();
-
         metricsLogger.info("Executing Provider Operation: Snapshot Stack");
-
         return snapshotStack(params, context);
     }
 
     private void setTimeForMetricsLogger() {
-        long startTime = System.currentTimeMillis();
-        TimeZone tz = TimeZone.getTimeZone("UTC");
-        DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
-        df.setTimeZone(tz);
-        long endTime = System.currentTimeMillis();
-        long duration = endTime - startTime;
-        String durationStr = String.valueOf(duration);
-        String endTimeStrUTC = df.format(new Date());
-        MDC.put("EndTimestamp", endTimeStrUTC);
-        MDC.put("ElapsedTime", durationStr);
-        MDC.put("TargetEntity", "cdp");
-        MDC.put("TargetServiceName", "snapshot stack");
-        MDC.put("ClassName", "org.onap.appc.adapter.iaas.provider.operation.impl.SnapshotStack");
+        String timestamp = LoggingUtils.generateTimestampStr(((Date) new Date()).toInstant());
+        MDC.put(LoggingConstants.MDCKeys.BEGIN_TIMESTAMP, timestamp);
+        MDC.put(LoggingConstants.MDCKeys.END_TIMESTAMP, timestamp);
+        MDC.put(LoggingConstants.MDCKeys.ELAPSED_TIME, "0");
+        MDC.put(LoggingConstants.MDCKeys.STATUS_CODE, LoggingConstants.StatusCodes.COMPLETE);
+        MDC.put(LoggingConstants.MDCKeys.TARGET_ENTITY, "cdp");
+        MDC.put(LoggingConstants.MDCKeys.TARGET_SERVICE_NAME, "snapshot stack");
+        MDC.put(LoggingConstants.MDCKeys.CLASS_NAME,
+                "org.onap.appc.adapter.iaas.provider.operation.impl.SnapshotStack");
     }
 }