Ejemplo n.º 1
0
  @Override
  protected void executeVmCommand() {
    VDSReturnValue vdsReturnValue =
        resourceManager.runVdsCommand(VDSCommandType.MigrateBroker, getParameters());
    VM vm = getVmDao().get(getParameters().getVmId());

    if (vdsReturnValue.getSucceeded()) {
      resourceManager.AddAsyncRunningVm(getParameters().getVmId());
      resourceManager.InternalSetVmStatus(vm, VMStatus.MigratingFrom);
      vm.setMigratingToVds(getParameters().getDstVdsId());
      vmManager.update(vm.getDynamicData());
      getVDSReturnValue().setReturnValue(VMStatus.MigratingFrom);
    } else {
      log.error("Failed Vm migration");
      getVDSReturnValue().setSucceeded(false);
      getVDSReturnValue().setReturnValue(vm.getStatus());
      getVDSReturnValue().setVdsError(vdsReturnValue.getVdsError());
      getVDSReturnValue().setExceptionString(vdsReturnValue.getExceptionString());
      getVDSReturnValue().setExceptionObject(vdsReturnValue.getExceptionObject());
    }
  }