Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,8 @@ public ListResponse<ImportVMTaskResponse> listImportVMTasks(ListImportVMTasksCmd
Long pageSizeVal = cmd.getPageSizeVal();

ImportVmTask.TaskState state = getStateFromFilter(cmd.getTasksFilter());
Pair<List<ImportVMTaskVO>, Integer> result = importVMTaskDao.listImportVMTasks(zoneId, accountId, vcenter, convertHostId, state, startIndex, pageSizeVal);
Pair<List<ImportVMTaskVO>, Integer> result = importVMTaskDao.listImportVMTasks(zoneId, accountId, vcenter,
convertHostId, state, startIndex, pageSizeVal);
List<ImportVMTaskVO> tasks = result.first();

List<ImportVMTaskResponse> responses = new ArrayList<>();
Expand All @@ -99,37 +100,44 @@ private ImportVmTask.TaskState getStateFromFilter(String tasksFilter) {
try {
return ImportVmTask.TaskState.getValue(tasksFilter);
} catch (IllegalArgumentException e) {
throw new ServerApiException(ApiErrorCode.PARAM_ERROR, String.format("Invalid value for task state: %s", tasksFilter));
throw new ServerApiException(ApiErrorCode.PARAM_ERROR,
String.format("Invalid value for task state: %s", tasksFilter));
}
}

@Override
public ImportVmTask createImportVMTaskRecord(DataCenter zone, Account owner, long userId, String displayName, String vcenter, String datacenterName, String sourceVMName, Host convertHost, Host importHost) {
public ImportVmTask createImportVMTaskRecord(DataCenter zone, Account owner, long userId, String displayName,
String vcenter, String datacenterName, String sourceVMName, Host convertHost, Host importHost) {
logger.debug("Creating import VM task entry for VM: {} for account {} on zone {} " +
"from the vCenter: {} / datacenter: {} / source VM: {}",
sourceVMName, owner.getAccountName(), zone.getName(), displayName, vcenter, datacenterName);
"from the vCenter: {} / datacenter: {} / source VM: {}",
displayName, owner.getAccountName(), zone.getName(), vcenter, datacenterName, sourceVMName);
ImportVMTaskVO importVMTaskVO = new ImportVMTaskVO(zone.getId(), owner.getAccountId(), userId, displayName,
vcenter, datacenterName, sourceVMName, convertHost.getId(), importHost.getId());
importVMTaskVO.setState(ImportVmTask.TaskState.Running);
return importVMTaskDao.persist(importVMTaskVO);
}

private String getStepDescription(ImportVMTaskVO importVMTaskVO, Host convertHost, Host importHost,
ImportVMTaskVO.Step step, Date updatedDate) {
ImportVMTaskVO.Step step, Date updatedDate) {
String sourceVMName = importVMTaskVO.getSourceVMName();
String vcenter = importVMTaskVO.getVcenter();
String datacenter = importVMTaskVO.getDatacenter();

StringBuilder stringBuilder = new StringBuilder();
if (Completed == step) {
stringBuilder.append("Completed at ").append(DateUtil.getDateDisplayString(TimeZone.getTimeZone("GMT"), updatedDate));
stringBuilder.append("Completed at ")
.append(DateUtil.getDateDisplayString(TimeZone.getTimeZone("GMT"), updatedDate));
} else {
if (CloningInstance == step) {
stringBuilder.append(String.format("Cloning source instance: %s on vCenter: %s / datacenter: %s", sourceVMName, vcenter, datacenter));
stringBuilder.append(String.format("Cloning source instance: %s on vCenter: %s / datacenter: %s",
sourceVMName, vcenter, datacenter));
} else if (ConvertingInstance == step) {
stringBuilder.append(String.format("Converting the cloned VMware instance to a KVM instance on the host: %s", convertHost.getName()));
stringBuilder
.append(String.format("Converting the cloned VMware instance to a KVM instance on the host: %s",
convertHost.getName()));
} else if (Importing == step) {
stringBuilder.append(String.format("Importing the converted KVM instance on the host: %s", importHost.getName()));
stringBuilder.append(
String.format("Importing the converted KVM instance on the host: %s", importHost.getName()));
} else if (Prepare == step) {
stringBuilder.append("Preparing to convert Vmware instance");
}
Expand All @@ -139,12 +147,13 @@ private String getStepDescription(ImportVMTaskVO importVMTaskVO, Host convertHos

@Override
public void updateImportVMTaskStep(ImportVmTask importVMTask, DataCenter zone, Account owner, Host convertHost,
Host importHost, Long vmId, ImportVmTask.Step step) {
Host importHost, Long vmId, ImportVmTask.Step step) {
ImportVMTaskVO importVMTaskVO = (ImportVMTaskVO) importVMTask;
logger.debug("Updating import VM task entry for VM: {} for account {} on zone {} " +
"from the vCenter: {} / datacenter: {} / source VM: {} to step: {}",
importVMTaskVO.getSourceVMName(), owner.getAccountName(), zone.getName(), importVMTaskVO.getDisplayName(),
importVMTaskVO.getVcenter(), importVMTaskVO.getDatacenter(), step);
"from the vCenter: {} / datacenter: {} / source VM: {} to step: {}",
importVMTaskVO.getDisplayName(), owner.getAccountName(), zone.getName(),
importVMTaskVO.getVcenter(), importVMTaskVO.getDatacenter(),
importVMTaskVO.getSourceVMName(), step);
Date updatedDate = DateUtil.now();
String description = getStepDescription(importVMTaskVO, convertHost, importHost, step, updatedDate);
importVMTaskVO.setStep(step);
Expand All @@ -161,6 +170,12 @@ public void updateImportVMTaskStep(ImportVmTask importVMTask, DataCenter zone, A

@Override
public void updateImportVMTaskErrorState(ImportVmTask importVMTask, ImportVmTask.TaskState state, String errorMsg) {
if (importVMTask == null) {
logger.warn(
"Skipping import VM task error state update because importVMTask is null; state: {}, errorMsg: {}",
state, errorMsg);
return;
}
ImportVMTaskVO importVMTaskVO = (ImportVMTaskVO) importVMTask;
Date updatedDate = DateUtil.now();
importVMTaskVO.setUpdated(updatedDate);
Expand Down
Loading