Skip to content

Commit 5f54d85

Browse files
ui: centralize importVMTask null guard in task manager and add warning logs
1 parent 93876ee commit 5f54d85

2 files changed

Lines changed: 925 additions & 481 deletions

File tree

server/src/main/java/org/apache/cloudstack/vm/ImportVmTasksManagerImpl.java

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,8 @@ public ListResponse<ImportVMTaskResponse> listImportVMTasks(ListImportVMTasksCmd
8080
Long pageSizeVal = cmd.getPageSizeVal();
8181

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

8687
List<ImportVMTaskResponse> responses = new ArrayList<>();
@@ -99,14 +100,16 @@ private ImportVmTask.TaskState getStateFromFilter(String tasksFilter) {
99100
try {
100101
return ImportVmTask.TaskState.getValue(tasksFilter);
101102
} catch (IllegalArgumentException e) {
102-
throw new ServerApiException(ApiErrorCode.PARAM_ERROR, String.format("Invalid value for task state: %s", tasksFilter));
103+
throw new ServerApiException(ApiErrorCode.PARAM_ERROR,
104+
String.format("Invalid value for task state: %s", tasksFilter));
103105
}
104106
}
105107

106108
@Override
107-
public ImportVmTask createImportVMTaskRecord(DataCenter zone, Account owner, long userId, String displayName, String vcenter, String datacenterName, String sourceVMName, Host convertHost, Host importHost) {
109+
public ImportVmTask createImportVMTaskRecord(DataCenter zone, Account owner, long userId, String displayName,
110+
String vcenter, String datacenterName, String sourceVMName, Host convertHost, Host importHost) {
108111
logger.debug("Creating import VM task entry for VM: {} for account {} on zone {} " +
109-
"from the vCenter: {} / datacenter: {} / source VM: {}",
112+
"from the vCenter: {} / datacenter: {} / source VM: {}",
110113
sourceVMName, owner.getAccountName(), zone.getName(), displayName, vcenter, datacenterName);
111114
ImportVMTaskVO importVMTaskVO = new ImportVMTaskVO(zone.getId(), owner.getAccountId(), userId, displayName,
112115
vcenter, datacenterName, sourceVMName, convertHost.getId(), importHost.getId());
@@ -115,21 +118,26 @@ public ImportVmTask createImportVMTaskRecord(DataCenter zone, Account owner, lon
115118
}
116119

117120
private String getStepDescription(ImportVMTaskVO importVMTaskVO, Host convertHost, Host importHost,
118-
ImportVMTaskVO.Step step, Date updatedDate) {
121+
ImportVMTaskVO.Step step, Date updatedDate) {
119122
String sourceVMName = importVMTaskVO.getSourceVMName();
120123
String vcenter = importVMTaskVO.getVcenter();
121124
String datacenter = importVMTaskVO.getDatacenter();
122125

123126
StringBuilder stringBuilder = new StringBuilder();
124127
if (Completed == step) {
125-
stringBuilder.append("Completed at ").append(DateUtil.getDateDisplayString(TimeZone.getTimeZone("GMT"), updatedDate));
128+
stringBuilder.append("Completed at ")
129+
.append(DateUtil.getDateDisplayString(TimeZone.getTimeZone("GMT"), updatedDate));
126130
} else {
127131
if (CloningInstance == step) {
128-
stringBuilder.append(String.format("Cloning source instance: %s on vCenter: %s / datacenter: %s", sourceVMName, vcenter, datacenter));
132+
stringBuilder.append(String.format("Cloning source instance: %s on vCenter: %s / datacenter: %s",
133+
sourceVMName, vcenter, datacenter));
129134
} else if (ConvertingInstance == step) {
130-
stringBuilder.append(String.format("Converting the cloned VMware instance to a KVM instance on the host: %s", convertHost.getName()));
135+
stringBuilder
136+
.append(String.format("Converting the cloned VMware instance to a KVM instance on the host: %s",
137+
convertHost.getName()));
131138
} else if (Importing == step) {
132-
stringBuilder.append(String.format("Importing the converted KVM instance on the host: %s", importHost.getName()));
139+
stringBuilder.append(
140+
String.format("Importing the converted KVM instance on the host: %s", importHost.getName()));
133141
} else if (Prepare == step) {
134142
stringBuilder.append("Preparing to convert Vmware instance");
135143
}
@@ -139,11 +147,12 @@ private String getStepDescription(ImportVMTaskVO importVMTaskVO, Host convertHos
139147

140148
@Override
141149
public void updateImportVMTaskStep(ImportVmTask importVMTask, DataCenter zone, Account owner, Host convertHost,
142-
Host importHost, Long vmId, ImportVmTask.Step step) {
150+
Host importHost, Long vmId, ImportVmTask.Step step) {
143151
ImportVMTaskVO importVMTaskVO = (ImportVMTaskVO) importVMTask;
144152
logger.debug("Updating import VM task entry for VM: {} for account {} on zone {} " +
145-
"from the vCenter: {} / datacenter: {} / source VM: {} to step: {}",
146-
importVMTaskVO.getSourceVMName(), owner.getAccountName(), zone.getName(), importVMTaskVO.getDisplayName(),
153+
"from the vCenter: {} / datacenter: {} / source VM: {} to step: {}",
154+
importVMTaskVO.getSourceVMName(), owner.getAccountName(), zone.getName(),
155+
importVMTaskVO.getDisplayName(),
147156
importVMTaskVO.getVcenter(), importVMTaskVO.getDatacenter(), step);
148157
Date updatedDate = DateUtil.now();
149158
String description = getStepDescription(importVMTaskVO, convertHost, importHost, step, updatedDate);
@@ -162,6 +171,9 @@ public void updateImportVMTaskStep(ImportVmTask importVMTask, DataCenter zone, A
162171
@Override
163172
public void updateImportVMTaskErrorState(ImportVmTask importVMTask, ImportVmTask.TaskState state, String errorMsg) {
164173
if (importVMTask == null) {
174+
logger.warn(
175+
"Skipping import VM task error state update because importVMTask is null; state: {}, errorMsg: {}",
176+
state, errorMsg);
165177
return;
166178
}
167179
ImportVMTaskVO importVMTaskVO = (ImportVMTaskVO) importVMTask;

0 commit comments

Comments
 (0)