Examples of VmWorkJobVO


Examples of org.apache.cloudstack.framework.jobs.impl.VmWorkJobVO

            throws ConcurrentOperationException, ResourceUnavailableException {

        AsyncJobExecutionContext jobContext = AsyncJobExecutionContext.getCurrentExecutionContext();
        if (!VmJobEnabled.value() || jobContext.isJobDispatchedBy(VmWorkConstants.VM_WORK_JOB_DISPATCHER)) {
            // avoid re-entrance
            VmWorkJobVO placeHolder = null;
            if (VmJobEnabled.value()) {
                placeHolder = createPlaceHolderWork(vm.getId());
            }
            try {
                return orchestrateRemoveNicFromVm(vm, nic);
            } finally {
                if (VmJobEnabled.value())
                    _workJobDao.expunge(placeHolder.getId());
            }

        } else {
            Outcome<VirtualMachine> outcome = removeNicFromVmThroughJobQueue(vm, nic);
View Full Code Here

Examples of org.apache.cloudstack.framework.jobs.impl.VmWorkJobVO

    public void migrateForScale(String vmUuid, long srcHostId, DeployDestination dest, Long oldSvcOfferingId)
            throws ResourceUnavailableException, ConcurrentOperationException {
        AsyncJobExecutionContext jobContext = AsyncJobExecutionContext.getCurrentExecutionContext();
        if (!VmJobEnabled.value() || jobContext.isJobDispatchedBy(VmWorkConstants.VM_WORK_JOB_DISPATCHER)) {
            // avoid re-entrance
            VmWorkJobVO placeHolder = null;
            if (VmJobEnabled.value()) {
                VirtualMachine vm = _vmDao.findByUuid(vmUuid);
                placeHolder = createPlaceHolderWork(vm.getId());
            }
            try {
                orchestrateMigrateForScale(vmUuid, srcHostId, dest, oldSvcOfferingId);
            } finally {
                if (VmJobEnabled.value())
                    _workJobDao.expunge(placeHolder.getId());
            }
        } else {
            Outcome<VirtualMachine> outcome = migrateVmForScaleThroughJobQueue(vmUuid, srcHostId, dest, oldSvcOfferingId);

            try {
View Full Code Here

Examples of org.apache.cloudstack.framework.jobs.impl.VmWorkJobVO

            throws ResourceUnavailableException, InsufficientServerCapacityException, ConcurrentOperationException {

        AsyncJobExecutionContext jobContext = AsyncJobExecutionContext.getCurrentExecutionContext();
        if (!VmJobEnabled.value() || jobContext.isJobDispatchedBy(VmWorkConstants.VM_WORK_JOB_DISPATCHER)) {
            // avoid re-entrance
            VmWorkJobVO placeHolder = null;
            if (VmJobEnabled.value()) {
                VirtualMachine vm = _vmDao.findByUuid(vmUuid);
                placeHolder = createPlaceHolderWork(vm.getId());
            }
            try {
                return orchestrateReConfigureVm(vmUuid, oldServiceOffering, reconfiguringOnExistingHost);
            } finally {
                if (VmJobEnabled.value())
                    _workJobDao.expunge(placeHolder.getId());
            }
        } else {
            Outcome<VirtualMachine> outcome = reconfigureVmThroughJobQueue(vmUuid, oldServiceOffering, reconfiguringOnExistingHost);

            VirtualMachine vm = null;
View Full Code Here

Examples of org.apache.cloudstack.framework.jobs.impl.VmWorkJobVO

        final VMInstanceVO vm = _vmDao.findByUuid(vmUuid);

        Object[] result = Transaction.execute(new TransactionCallback<Object[]>() {
            @Override
            public Object[] doInTransaction(TransactionStatus status) {
                VmWorkJobVO workJob = null;

                _vmDao.lockInLockTable(String.valueOf(vm.getId()), Integer.MAX_VALUE);
                try {
                    List<VmWorkJobVO> pendingWorkJobs = _workJobDao.listPendingWorkJobs(VirtualMachine.Type.Instance,
                            vm.getId(), VmWorkStart.class.getName());

                    if (pendingWorkJobs.size() > 0) {
                        assert (pendingWorkJobs.size() == 1);
                        workJob = pendingWorkJobs.get(0);
                    } else {
                        workJob = new VmWorkJobVO(context.getContextId());

                        workJob.setDispatcher(VmWorkConstants.VM_WORK_JOB_DISPATCHER);
                        workJob.setCmd(VmWorkStart.class.getName());

                        workJob.setAccountId(callingAccount.getId());
                        workJob.setUserId(callingUser.getId());
                        workJob.setStep(VmWorkJobVO.Step.Starting);
                        workJob.setVmType(VirtualMachine.Type.Instance);
                        workJob.setVmInstanceId(vm.getId());
                        workJob.setRelated(AsyncJobExecutionContext.getOriginJobId());

                        // save work context info (there are some duplications)
                        VmWorkStart workInfo = new VmWorkStart(callingUser.getId(), callingAccount.getId(), vm.getId(), VirtualMachineManagerImpl.VM_WORK_JOB_HANDLER);
                        workInfo.setPlan(planToDeploy);
                        if (planner != null) {
                            workInfo.setDeploymentPlanner(planner.getName());
                        }
                        workInfo.setParams(params);
                        workJob.setCmdInfo(VmWorkSerializer.serialize(workInfo));

                        _jobMgr.submitAsyncJob(workJob, VmWorkConstants.VM_WORK_QUEUE, vm.getId());
                    }

                    return new Object[] {workJob, new Long(workJob.getId())};
                } finally {
                    _vmDao.unlockFromLockTable(String.valueOf(vm.getId()));
                }
            }
        });
View Full Code Here

Examples of org.apache.cloudstack.framework.jobs.impl.VmWorkJobVO

                try {
                    List<VmWorkJobVO> pendingWorkJobs = _workJobDao.listPendingWorkJobs(
                            vm.getType(), vm.getId(),
                            VmWorkStop.class.getName());

                    VmWorkJobVO workJob = null;
                    if (pendingWorkJobs != null && pendingWorkJobs.size() > 0) {
                        assert (pendingWorkJobs.size() == 1);
                        workJob = pendingWorkJobs.get(0);
                    } else {
                        workJob = new VmWorkJobVO(context.getContextId());

                        workJob.setDispatcher(VmWorkConstants.VM_WORK_JOB_DISPATCHER);
                        workJob.setCmd(VmWorkStop.class.getName());

                        workJob.setAccountId(account.getId());
                        workJob.setUserId(user.getId());
                        workJob.setStep(VmWorkJobVO.Step.Prepare);
                        workJob.setVmType(VirtualMachine.Type.Instance);
                        workJob.setVmInstanceId(vm.getId());
                        workJob.setRelated(AsyncJobExecutionContext.getOriginJobId());

                        // save work context info (there are some duplications)
                        VmWorkStop workInfo = new VmWorkStop(user.getId(), account.getId(), vm.getId(), VirtualMachineManagerImpl.VM_WORK_JOB_HANDLER, cleanup);
                        workJob.setCmdInfo(VmWorkSerializer.serialize(workInfo));

                        _jobMgr.submitAsyncJob(workJob, VmWorkConstants.VM_WORK_QUEUE, vm.getId());
                    }

                    return new Object[] {workJob, new Long(workJob.getId())};
                } finally {
                    _vmDao.unlockFromLockTable(String.valueOf(vm.getId()));
                }
            }
        });
View Full Code Here

Examples of org.apache.cloudstack.framework.jobs.impl.VmWorkJobVO

                try {
                    List<VmWorkJobVO> pendingWorkJobs = _workJobDao.listPendingWorkJobs(
                            VirtualMachine.Type.Instance, vm.getId(),
                            VmWorkReboot.class.getName());

                    VmWorkJobVO workJob = null;
                    if (pendingWorkJobs != null && pendingWorkJobs.size() > 0) {
                        assert (pendingWorkJobs.size() == 1);
                        workJob = pendingWorkJobs.get(0);
                    } else {
                        workJob = new VmWorkJobVO(context.getContextId());

                        workJob.setDispatcher(VmWorkConstants.VM_WORK_JOB_DISPATCHER);
                        workJob.setCmd(VmWorkReboot.class.getName());

                        workJob.setAccountId(account.getId());
                        workJob.setUserId(user.getId());
                        workJob.setStep(VmWorkJobVO.Step.Prepare);
                        workJob.setVmType(VirtualMachine.Type.Instance);
                        workJob.setVmInstanceId(vm.getId());
                        workJob.setRelated(AsyncJobExecutionContext.getOriginJobId());

                        // save work context info (there are some duplications)
                        VmWorkReboot workInfo = new VmWorkReboot(user.getId(), account.getId(), vm.getId(), VirtualMachineManagerImpl.VM_WORK_JOB_HANDLER, params);
                        workJob.setCmdInfo(VmWorkSerializer.serialize(workInfo));

                        _jobMgr.submitAsyncJob(workJob, VmWorkConstants.VM_WORK_QUEUE, vm.getId());
                    }

                    return new Object[] {workJob, new Long(workJob.getId())};
                } finally {
                    _vmDao.unlockFromLockTable(String.valueOf(vm.getId()));
                }
            }
        });
View Full Code Here

Examples of org.apache.cloudstack.framework.jobs.impl.VmWorkJobVO

                try {
                    List<VmWorkJobVO> pendingWorkJobs = _workJobDao.listPendingWorkJobs(
                            VirtualMachine.Type.Instance, vm.getId(),
                            VmWorkMigrate.class.getName());

                    VmWorkJobVO workJob = null;
                    if (pendingWorkJobs != null && pendingWorkJobs.size() > 0) {
                        assert (pendingWorkJobs.size() == 1);
                        workJob = pendingWorkJobs.get(0);
                    } else {

                        workJob = new VmWorkJobVO(context.getContextId());

                        workJob.setDispatcher(VmWorkConstants.VM_WORK_JOB_DISPATCHER);
                        workJob.setCmd(VmWorkMigrate.class.getName());

                        workJob.setAccountId(account.getId());
                        workJob.setUserId(user.getId());
                        workJob.setVmType(VirtualMachine.Type.Instance);
                        workJob.setVmInstanceId(vm.getId());
                        workJob.setRelated(AsyncJobExecutionContext.getOriginJobId());

                        // save work context info (there are some duplications)
                        VmWorkMigrate workInfo = new VmWorkMigrate(user.getId(), account.getId(), vm.getId(), VirtualMachineManagerImpl.VM_WORK_JOB_HANDLER, srcHostId, dest);
                        workJob.setCmdInfo(VmWorkSerializer.serialize(workInfo));

                        _jobMgr.submitAsyncJob(workJob, VmWorkConstants.VM_WORK_QUEUE, vm.getId());
                    }
                    return new Object[] {workJob, new Long(workJob.getId())};
                } finally {
                    _vmDao.unlockFromLockTable(String.valueOf(vm.getId()));
                }
            }
        });
View Full Code Here

Examples of org.apache.cloudstack.framework.jobs.impl.VmWorkJobVO

                try {
                    List<VmWorkJobVO> pendingWorkJobs = _workJobDao.listPendingWorkJobs(
                            VirtualMachine.Type.Instance, vm.getId(),
                            VmWorkMigrateAway.class.getName());

                    VmWorkJobVO workJob = null;
                    if (pendingWorkJobs != null && pendingWorkJobs.size() > 0) {
                        assert (pendingWorkJobs.size() == 1);
                        workJob = pendingWorkJobs.get(0);
                    } else {
                        workJob = new VmWorkJobVO(context.getContextId());

                        workJob.setDispatcher(VmWorkConstants.VM_WORK_JOB_DISPATCHER);
                        workJob.setCmd(VmWorkMigrateAway.class.getName());

                        workJob.setAccountId(account.getId());
                        workJob.setUserId(user.getId());
                        workJob.setVmType(VirtualMachine.Type.Instance);
                        workJob.setVmInstanceId(vm.getId());
                        workJob.setRelated(AsyncJobExecutionContext.getOriginJobId());

                        // save work context info (there are some duplications)
                        VmWorkMigrateAway workInfo = new VmWorkMigrateAway(user.getId(), account.getId(), vm.getId(), VirtualMachineManagerImpl.VM_WORK_JOB_HANDLER, srcHostId);
                        workJob.setCmdInfo(VmWorkSerializer.serialize(workInfo));

                        _jobMgr.submitAsyncJob(workJob, VmWorkConstants.VM_WORK_QUEUE, vm.getId());
                    }
                    return new Object[] {workJob, new Long(workJob.getId())};
                } finally {
                    _vmDao.unlockFromLockTable(String.valueOf(vm.getId()));
                }
            }
        });
View Full Code Here

Examples of org.apache.cloudstack.framework.jobs.impl.VmWorkJobVO

                try {
                    List<VmWorkJobVO> pendingWorkJobs = _workJobDao.listPendingWorkJobs(
                            VirtualMachine.Type.Instance, vm.getId(),
                            VmWorkMigrateWithStorage.class.getName());

                    VmWorkJobVO workJob = null;
                    if (pendingWorkJobs != null && pendingWorkJobs.size() > 0) {
                        assert (pendingWorkJobs.size() == 1);
                        workJob = pendingWorkJobs.get(0);
                    } else {

                        workJob = new VmWorkJobVO(context.getContextId());

                        workJob.setDispatcher(VmWorkConstants.VM_WORK_JOB_DISPATCHER);
                        workJob.setCmd(VmWorkMigrate.class.getName());

                        workJob.setAccountId(account.getId());
                        workJob.setUserId(user.getId());
                        workJob.setVmType(VirtualMachine.Type.Instance);
                        workJob.setVmInstanceId(vm.getId());
                        workJob.setRelated(AsyncJobExecutionContext.getOriginJobId());

                        // save work context info (there are some duplications)
                        VmWorkMigrateWithStorage workInfo = new VmWorkMigrateWithStorage(user.getId(), account.getId(), vm.getId(),
                                VirtualMachineManagerImpl.VM_WORK_JOB_HANDLER, srcHostId, destHostId, volumeToPool);
                        workJob.setCmdInfo(VmWorkSerializer.serialize(workInfo));

                        _jobMgr.submitAsyncJob(workJob, VmWorkConstants.VM_WORK_QUEUE, vm.getId());
                    }
                    return new Object[] {workJob, new Long(workJob.getId())};
                } finally {
                    _vmDao.unlockFromLockTable(String.valueOf(vm.getId()));
                }
            }
        });
View Full Code Here

Examples of org.apache.cloudstack.framework.jobs.impl.VmWorkJobVO

                try {
                    List<VmWorkJobVO> pendingWorkJobs = _workJobDao.listPendingWorkJobs(
                            VirtualMachine.Type.Instance, vm.getId(),
                            VmWorkMigrateForScale.class.getName());

                    VmWorkJobVO workJob = null;
                    if (pendingWorkJobs != null && pendingWorkJobs.size() > 0) {
                        assert (pendingWorkJobs.size() == 1);
                        workJob = pendingWorkJobs.get(0);
                    } else {

                        workJob = new VmWorkJobVO(context.getContextId());

                        workJob.setDispatcher(VmWorkConstants.VM_WORK_JOB_DISPATCHER);
                        workJob.setCmd(VmWorkMigrate.class.getName());

                        workJob.setAccountId(account.getId());
                        workJob.setUserId(user.getId());
                        workJob.setVmType(VirtualMachine.Type.Instance);
                        workJob.setVmInstanceId(vm.getId());
                        workJob.setRelated(AsyncJobExecutionContext.getOriginJobId());

                        // save work context info (there are some duplications)
                        VmWorkMigrateForScale workInfo = new VmWorkMigrateForScale(user.getId(), account.getId(), vm.getId(),
                                VirtualMachineManagerImpl.VM_WORK_JOB_HANDLER, srcHostId, dest, newSvcOfferingId);
                        workJob.setCmdInfo(VmWorkSerializer.serialize(workInfo));

                        _jobMgr.submitAsyncJob(workJob, VmWorkConstants.VM_WORK_QUEUE, vm.getId());
                    }

                    return new Object[] {workJob, new Long(workJob.getId())};
                } finally {
                    _vmDao.unlockFromLockTable(String.valueOf(vm.getId()));
                }
            }
        });
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.