@Override public String getName() { return "connect-appliance-vm-" + spec.getVmInventory().getUuid(); } });
private VmInstanceDeletionPolicy getDeletionPolicy(VmInstanceSpec spec, Map data) { if (data.containsKey(VmInstanceConstant.Params.DeletionPolicy)) { return (VmInstanceDeletionPolicy) data.get(VmInstanceConstant.Params.DeletionPolicy); } return deletionPolicyMgr.getDeletionPolicy(spec.getVmInventory().getUuid()); } }
@Transactional(readOnly = true) private List<VolumeInventory> getVolumeOnLocalStorage(VmInstanceSpec spec) { String sql = "select v from VolumeVO v, PrimaryStorageVO ps where v.primaryStorageUuid = ps.uuid" + " and ps.type = :type and v.vmInstanceUuid = :vmUuid"; TypedQuery<VolumeVO> q = dbf.getEntityManager().createQuery(sql, VolumeVO.class); q.setParameter("type", LocalStorageConstants.LOCAL_STORAGE_TYPE); q.setParameter("vmUuid", spec.getVmInventory().getUuid()); return VolumeInventory.valueOf(q.getResultList()); } }
@Override public L3NetworkInventory call(L3NetworkInventory arg) { return arg.getUuid().equals(spec.getVmInventory().getDefaultL3NetworkUuid()) ? arg : null; } });
@Override public L3NetworkInventory call(L3NetworkInventory arg) { return arg.getUuid().equals(servedVm.getVmInventory().getDefaultL3NetworkUuid()) ? arg : null; } });
@Override public L3NetworkInventory call(L3NetworkInventory arg) { return arg.getUuid().equals(servedVm.getVmInventory().getDefaultL3NetworkUuid()) ? arg : null; } });
@Override public void handle(Map data) { logger.debug(String.format("successfully released network services for vm[uuid:%s, name:%s]", spec.getVmInventory().getUuid(), spec.getVmInventory().getName())); completion.done(); } }).start();
private void connected() { String info = String.format("successfully connected to appliance vm[uuid:%s, name:%s, ip:%s], deploying agent now ...", spec.getVmInventory().getUuid(), spec.getVmInventory().getName(), mgmtIp); logger.debug(info); chain.next(); }
@Override public void run(VmInstanceMigrateExtensionPoint ext) { ext.beforeMigrateVm(spec.getVmInventory(), destHost.getUuid()); } });
@Override public void fail(ErrorCode errorCode) { //TODO add GC logger.warn(String.format("unable to release user data for vm[uuid:%s], %s", servedVm.getVmInventory().getUuid(), errorCode)); completion.done(); } });
@Override public void fail(ErrorCode errorCode) { N.New(VmInstanceVO.class, spec.getVmInventory().getUuid()).warn_("unable to release a network service of the VM[uuid:%s] when rolling back an attached" + " L3 network[uuid: %s], %s. You may need to reboot the VM to fix the issue", spec.getVmInventory().getUuid(), l3.getUuid(), errorCode); completion.done(); } });
@Override public void run(FlowTrigger trigger, Map data) { VmInstanceSpec spec = (VmInstanceSpec) data.get(VmInstanceConstant.Params.VmInstanceSpec.toString()); tracker.untrack(spec.getVmInventory().getUuid()); trigger.next(); } }
@Override public void rollback(FlowRollback trigger, Map data) { if (data.containsKey(VmSetDefaultL3NetworkOnAttachingFlow.class)) { VmInstanceSpec spec = (VmInstanceSpec) data.get(VmInstanceConstant.Params.VmInstanceSpec.toString()); VmInstanceVO vm = dbf.findByUuid(spec.getVmInventory().getUuid(), VmInstanceVO.class); vm.setDefaultL3NetworkUuid(null); dbf.update(vm); } trigger.rollback(); } }
public void setParametersFromVmSpec(VmInstanceSpec vmSpec) { vmUuid = vmSpec.getVmInventory().getUuid(); vmNics = vmSpec.getDestNics(); hostUuid = vmSpec.getDestHost().getUuid(); }
@Override public void releaseDhcpService(List<DhcpStruct> dhcpStructsList, final VmInstanceSpec spec, final NoErrorCompletion completion) { if (dhcpStructsList.isEmpty()) { completion.done(); return; } releaseDhcpService(toDhcpInfo(dhcpStructsList), spec.getVmInventory().getUuid(), spec.getDestHost().getUuid(), completion); }
@Override public void run(MessageReply reply) { if (!reply.isSuccess()) { logger.warn(String.format("failed to stop vm[uuid:%s] on host[uuid:%s], %s", spec.getVmInventory().getUuid(), spec.getDestHost().getUuid(), reply.getError())); } chain.rollback(); } });
private void addons(final VmInstanceSpec spec, StartVmCmd cmd) { KVMAddons.Channel chan = new KVMAddons.Channel(); chan.setSocketPath(makeChannelSocketPath(spec.getVmInventory().getUuid())); chan.setTargetName("org.qemu.guest_agent.0"); cmd.getAddons().put(KVMAddons.Channel.NAME, chan); logger.debug(String.format("make kvm channel device[path:%s, target:%s]", chan.getSocketPath(), chan.getTargetName())); }
@Override public void run(FlowTrigger chain, Map ctx) { final VolumeInventory volume = (VolumeInventory) ctx.get(VmInstanceConstant.Params.AttachingVolumeInventory.toString()); final VmInstanceSpec spec = (VmInstanceSpec) ctx.get(VmInstanceConstant.Params.VmInstanceSpec.toString()); VolumeVO dvol = dbf.findByUuid(volume.getUuid(), VolumeVO.class); dvol.setDeviceId(new NextVolumeDeviceIdGetter().getNextVolumeDeviceId(spec.getVmInventory().getUuid())); dvol = dbf.updateAndRefresh(dvol); ctx.put(VmInstanceConstant.Params.AttachingVolumeInventory.toString(), VolumeInventory.valueOf(dvol)); chain.next(); }
@Override public void applianceVmPrepareBootstrapInfo(VmInstanceSpec spec, Map<String, Object> info) { SimpleQuery<ApplianceVmVO> q = dbf.createQuery(ApplianceVmVO.class); q.add(ApplianceVmVO_.applianceVmType, Op.EQ, VyosConstants.VYOS_VM_TYPE); q.add(ApplianceVmVO_.uuid, Op.EQ, spec.getVmInventory().getUuid()); if (!q.isExists()) { return; } logger.debug("add vyos password to vrouter"); info.put(VyosConstants.BootstrapInfoKey.vyosPassword.toString(), VirtualRouterGlobalConfig.VYOS_PASSWORD.value()); } }
private void handle(StartVmOnHypervisorMsg msg) { logger.debug(String.format("Successfully started vm on simulator host[uuid:%s], %s", self.getUuid(), JSONObjectUtil.toJsonString(msg.getVmSpec()))); StartVmOnHypervisorReply reply = new StartVmOnHypervisorReply(); setVmState(msg.getVmSpec().getVmInventory().getUuid(), VmInstanceState.Running); bus.reply(msg, reply); }