Skip to content
Merged
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 @@ -5248,10 +5248,9 @@
workJob = newVmWorkJobAndInfo.first();
VmWorkMigrateAway workInfo = new VmWorkMigrateAway(newVmWorkJobAndInfo.second(), srcHostId);

workJob.setCmdInfo(VmWorkSerializer.serialize(workInfo));
setCmdInfoAndSubmitAsyncJob(workJob, workInfo, vmId);

Check warning on line 5251 in engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java

View check run for this annotation

Codecov / codecov/patch

engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java#L5251

Added line #L5251 was not covered by tests
}

_jobMgr.submitAsyncJob(workJob, VmWorkConstants.VM_WORK_QUEUE, vmId);

AsyncJobExecutionContext.getCurrentExecutionContext().joinJob(workJob.getId());

Expand Down
2 changes: 1 addition & 1 deletion engine/schema/src/main/java/com/cloud/vm/VMInstanceVO.java
Original file line number Diff line number Diff line change
Expand Up @@ -502,7 +502,7 @@ public void setRemoved(Date removed) {

@Override
public String toString() {
return String.format("VM instance %s", ReflectionToStringBuilderUtils.reflectOnlySelectedFields(this, "id", "instanceName", "uuid", "type"));
return String.format("VM instance %s", ReflectionToStringBuilderUtils.reflectOnlySelectedFields(this, "id", "instanceName", "uuid", "type", "state"));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -342,7 +342,8 @@
@Override
public boolean scheduleMigration(final VMInstanceVO vm) {
if (vm.getHostId() != null) {
final HaWorkVO work = new HaWorkVO(vm.getId(), vm.getType(), WorkType.Migration, Step.Scheduled, vm.getHostId(), vm.getState(), 0, vm.getUpdated());
Long hostId = VirtualMachine.State.Migrating.equals(vm.getState()) ? vm.getLastHostId() : vm.getHostId();
final HaWorkVO work = new HaWorkVO(vm.getId(), vm.getType(), WorkType.Migration, Step.Scheduled, hostId, vm.getState(), 0, vm.getUpdated());

Check warning on line 346 in server/src/main/java/com/cloud/ha/HighAvailabilityManagerImpl.java

View check run for this annotation

Codecov / codecov/patch

server/src/main/java/com/cloud/ha/HighAvailabilityManagerImpl.java#L346

Added line #L346 was not covered by tests
_haDao.persist(work);
s_logger.info("Scheduled migration work of VM " + vm.getUuid() + " from host " + _hostDao.findById(vm.getHostId()) + " with HAWork " + work);
wakeupWorkers();
Expand Down Expand Up @@ -716,6 +717,14 @@
s_logger.info("Unable to find vm: " + vmId + ", skipping migrate.");
return null;
}
if (VirtualMachine.State.Stopped.equals(vm.getState())) {
s_logger.info(String.format("vm %s is Stopped, skipping migrate.", vm));
return null;

Check warning on line 722 in server/src/main/java/com/cloud/ha/HighAvailabilityManagerImpl.java

View check run for this annotation

Codecov / codecov/patch

server/src/main/java/com/cloud/ha/HighAvailabilityManagerImpl.java#L721-L722

Added lines #L721 - L722 were not covered by tests
}
if (VirtualMachine.State.Running.equals(vm.getState()) && srcHostId != vm.getHostId()) {
s_logger.info(String.format("VM %s is running on a different host %s, skipping migration", vm, vm.getHostId()));
return null;

Check warning on line 726 in server/src/main/java/com/cloud/ha/HighAvailabilityManagerImpl.java

View check run for this annotation

Codecov / codecov/patch

server/src/main/java/com/cloud/ha/HighAvailabilityManagerImpl.java#L725-L726

Added lines #L725 - L726 were not covered by tests
}
s_logger.info("Migration attempt: for VM " + vm.getUuid() + "from host id " + srcHostId +
". Starting attempt: " + (1 + work.getTimesTried()) + "/" + _maxRetries + " times.");
try {
Expand Down Expand Up @@ -1022,6 +1031,13 @@

@Override
public void run() {
try {
synchronized (this) {
wait(_timeToSleep);
}
} catch (final InterruptedException e) {
s_logger.info("Interrupted");
}

Check warning on line 1040 in server/src/main/java/com/cloud/ha/HighAvailabilityManagerImpl.java

View check run for this annotation

Codecov / codecov/patch

server/src/main/java/com/cloud/ha/HighAvailabilityManagerImpl.java#L1034-L1040

Added lines #L1034 - L1040 were not covered by tests
s_logger.info("Starting work");
while (!_stopped) {
_managedContext.runWithContext(new Runnable() {
Expand Down
Loading