@Override public String call(VmNicInventory arg) { return arg.getUuid(); } }));
@Override public String call(VmNicInventory arg) { return arg.getUuid(); } });
@Override public String call(VmNicInventory arg) { return arg.getUuid(); } });
@Override public VmNicVO call(VmNicVO arg) { return arg.getUuid().equals(nic.getUuid()) ? null : arg; } });
@Override public String getName() { return String.format("after-attach-nic-%s-on-vm-%s", nicInventory.getUuid(), nicInventory.getVmInstanceUuid()); } });
@Override public String call(VmNicInventory arg) { return arg.getL3NetworkUuid() == null ? arg.getUuid() : null; } });
@Transactional private void removeNicFromDb(List<VmNicInventory> nics) { dbf.entityForTranscationCallback(TransactionalCallback.Operation.REMOVE, VmNicVO.class); List<String> uuids = new ArrayList<String>(nics.size()); for (VmNicInventory nic : nics) { uuids.add(nic.getUuid()); } String sql = "delete from VmNicVO v where v.uuid in (:uuids)"; Query q = dbf.getEntityManager().createQuery(sql); q.setParameter("uuids", uuids); q.executeUpdate(); }
private void addAppliedStruct() { List<EipStruct> s = applieds.computeIfAbsent(providerType, k -> new ArrayList<EipStruct>()); s.add(struct); logger.debug(String.format("successfully applied eip[uuid:%s, ip:%s] for vm nic[uuid:%s]", struct.getEip().getUuid(), struct.getVip().getIp(), struct.getNic().getUuid())); }
@Override public Result audit(APIMessage msg, APIEvent rsp) { return new Result(rsp.isSuccess() ? ((APICreateVmNicEvent)rsp).getInventory().getUuid() : "", VmNicVO.class); } }
@Override public void fail(ErrorCode errorCode) { String err = String.format("failed to release eip[uuid:%s, ip:%s, vm nic uuid:%s] on service provider[%s], service provider should handle the failure, %s", struct.getEip().getUuid(), struct.getVip().getIp(), struct.getNic().getUuid(), providerType, errorCode); logger.warn(err); releaseNetworkService(it, providerType, detachInDb, completion); } };
@Override public void after(APIEvent evt) { if (evt.isSuccess()) { ntfy("Created").resource(((APICreateVmNicEvent) evt).getInventory().getUuid(), VmNicVO.class.getSimpleName()) .messageAndEvent(that, evt).done(); } } };
@Override public void run(MessageReply reply) { for (VmNicExtensionPoint ext : pluginRgty.getExtensionList(VmNicExtensionPoint.class)) { ext.afterDelIpAddress(nic.getUuid(), ipInventory.getUuid()); } VmNicInventory nicInv = VmNicInventory.valueOf(dbf.findByUuid(nic.getUuid(), VmNicVO.class)); new DualStackNicSecondaryNetworksOperator().deleteSecondaryNetworksByVmNic(nicInv, l3.getUuid()); chain.rollback(); } });
@Override public void fail(ErrorCode errorCode) { logger.warn(String.format("failed to detach eip[uuid:%s, ip:%s, vm nic uuid:%s] on service provider[%s], service provider will garbage collect. %s", struct.getEip().getUuid(), struct.getVip().getIp(), struct.getNic().getUuid(), providerType, errorCode)); completion.fail(errorCode); } });
@Override public void success() { logger.debug(String.format("successfully released eip[uuid:%s, ip:%s] for vm[uuid:%s, nic uuid:%s]", struct.getEip().getUuid(), struct.getVip().getIp(), struct.getNic().getVmInstanceUuid(), struct.getNic().getUuid())); releaseNetworkService(it, providerType, detachInDb, completion); }
@Override public KVMAgentCommands.NicTO completeNicInformation(L2NetworkInventory l2Network, VmNicInventory nic) { VxlanNetworkPoolVO vo = dbf.findByUuid(l2Network.getUuid(), VxlanNetworkPoolVO.class); KVMAgentCommands.NicTO to = new KVMAgentCommands.NicTO(); to.setMac(nic.getMac()); to.setUuid(nic.getUuid()); to.setDeviceId(nic.getDeviceId()); to.setNicInternalName(nic.getInternalName()); return to; }
@Override public NicTO completeNicInformation(L2NetworkInventory l2Network, VmNicInventory nic) { L2VlanNetworkVO vo = dbf.findByUuid(l2Network.getUuid(), L2VlanNetworkVO.class); NicTO to = new NicTO(); to.setMac(nic.getMac()); to.setUuid(nic.getUuid()); to.setBridgeName(makeBridgeName(l2Network.getPhysicalInterface(), vo.getVlan())); to.setDeviceId(nic.getDeviceId()); to.setNicInternalName(nic.getInternalName()); to.setMetaData(String.valueOf(vo.getVlan())); return to; }
@Override public NicTO completeNicInformation(L2NetworkInventory l2Network, VmNicInventory nic) { NicTO to = new NicTO(); to.setMac(nic.getMac()); to.setUuid(nic.getUuid()); to.setBridgeName(makeBridgeName(l2Network.getPhysicalInterface())); to.setDeviceId(nic.getDeviceId()); to.setNicInternalName(nic.getInternalName()); return to; } }
@Override public KVMAgentCommands.NicTO completeNicInformation(L2NetworkInventory l2Network, VmNicInventory nic) { VxlanNetworkVO vo = dbf.findByUuid(l2Network.getUuid(), VxlanNetworkVO.class); KVMAgentCommands.NicTO to = new KVMAgentCommands.NicTO(); to.setMac(nic.getMac()); to.setUuid(nic.getUuid()); to.setBridgeName(makeBridgeName(vo.getVni())); to.setDeviceId(nic.getDeviceId()); to.setNicInternalName(nic.getInternalName()); to.setMetaData(String.valueOf(vo.getVni())); return to; }