import org.onap.appc.configuration.ConfigurationFactory;
import org.onap.appc.exceptions.APPCException;
import org.onap.appc.i18n.Msg;
+import org.onap.appc.logging.LoggingConstants;
import org.slf4j.MDC;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
private String generateSnapshotName(String server) {
setTimeForMetricsLogger();
-
SimpleDateFormat df = new SimpleDateFormat(DATE_FORMAT);
metricsLogger.info("Snapshot Name Generated: Snapshot of %s at %s", server, df.format(new Date()));
-
return String.format("Snapshot of %s at %s", server, df.format(new Date()));
}
Context context = server.getContext();
Provider provider = context.getProvider();
ImageService service = context.getImageService(); // Already checked access by this point
-
String snapshotName = generateSnapshotName(server.getName());
-
setTimeForMetricsLogger();
-
logger.info(String.format("Creating snapshot of server %s (%s) with name %s", server.getName(), server.getId(),
snapshotName));
metricsLogger.info(String.format("Creating snapshot of server %s (%s) with name %s", server.getName(),
server.getId(), snapshotName));
-
// Request Snapshot
String msg;
while (rc.attempt()) {
throw new RequestFailedException("Stop Server", msg, HttpStatus.BAD_GATEWAY_502, server);
}
rc.reset();
-
// Locate snapshot image
Image snapshot = null;
while (rc.attempt()) {
throw new RequestFailedException("Stop Server", msg, HttpStatus.BAD_GATEWAY_502, server);
}
rc.reset();
-
// Wait for it to be ready
waitForStateChange(rc, snapshot, Image.Status.ACTIVE);
-
return snapshot;
}
Image snapshot = null;
RequestContext rc = new RequestContext(ctx);
rc.isAlive();
-
setTimeForMetricsLogger();
try {
validateParametersExist(params, ProviderAdapter.PROPERTY_INSTANCE_URL,
VMURL vm = VMURL.parseURL(vm_url);
if (validateVM(rc, appName, vm_url, vm))
return null;
-
IdentityURL ident = IdentityURL.parseURL(params.get(ProviderAdapter.PROPERTY_IDENTITY_URL));
String identStr = (ident == null) ? null : ident.toString();
snapshot = createSnapshotNested(snapshot, rc, vm, vm_url, identStr);
return snapshot;
}
- private Image createSnapshotNested(Image SnapShot, RequestContext RcContext, VMURL vm, String vmUrl, String identStr)
- throws APPCException {
-
+ private Image createSnapshotNested(Image SnapShot, RequestContext RcContext, VMURL vm, String vmUrl,
+ String identStr) throws APPCException {
String msg;
-
Context context = null;
- String tenantName = "Unknown";//this variable is also used in catch
+ String tenantName = "Unknown";// this variable is also used in catch
try {
context = getContext(RcContext, vmUrl, identStr);
if (context != null) {
tenantName = context.getTenantName();
Server server = lookupServer(RcContext, context, vm.getServerId());
-
logger.debug(Msg.SERVER_FOUND, vmUrl, tenantName, server.getStatus().toString());
-
if (hasImageAccess(RcContext, context)) {
SnapShot = createSnapshot(RcContext, server);
doSuccess(RcContext);
} else {
- msg = EELFResourceManager.format(Msg.REBUILD_SERVER_FAILED, server.getName(), server.getId(),
+ msg = EELFResourceManager.format(Msg.IMAGE_SERVICE_FAILED, server.getName(), server.getId(),
"Accessing Image Service Failed");
logger.error(msg);
metricsLogger.error(msg);
doFailure(RcContext, HttpStatus.NOT_FOUND_404, msg);
} catch (Exception e1) {
msg = EELFResourceManager.format(Msg.SERVER_OPERATION_EXCEPTION, e1, e1.getClass().getSimpleName(),
- Operation.SNAPSHOT_SERVICE.toString(), vmUrl,
- tenantName);
+ Operation.SNAPSHOT_SERVICE.toString(), vmUrl, tenantName);
logger.error(msg, e1);
doFailure(RcContext, HttpStatus.INTERNAL_SERVER_ERROR_500, msg);
}
@Override
protected ModelObject executeProviderOperation(Map<String, String> params, SvcLogicContext context)
throws APPCException {
-
setMDC(Operation.SNAPSHOT_SERVICE.toString(), "App-C IaaS Adapter:Snapshot", ADAPTER_NAME);
logOperation(Msg.SNAPSHOTING_SERVER, params, context);
setTimeForMetricsLogger();
-
metricsLogger.info("Executing Provider Operation: Create Snapshot");
-
return createSnapshot(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", "create snapshot");
- MDC.put("ClassName", "org.onap.appc.adapter.iaas.provider.operation.impl.CreateSnapshot");
+ MDC.put(LoggingConstants.MDCKeys.TARGET_ENTITY, "cdp");
+ MDC.put(LoggingConstants.MDCKeys.TARGET_SERVICE_NAME, "create snapshot");
+ MDC.put(LoggingConstants.MDCKeys.CLASS_NAME,
+ "org.onap.appc.adapter.iaas.provider.operation.impl.CreateSnapshot");
}
}