public static VipPeerL3NetworkRefInventory valueOf(VipPeerL3NetworkRefVO vo) { VipPeerL3NetworkRefInventory inv = new VipPeerL3NetworkRefInventory(); inv.setVipUuid(vo.getVipUuid()); inv.setL3NetworkUuid(vo.getL3NetworkUuid()); inv.setCreateDate(vo.getCreateDate()); inv.setLastOpDate(vo.getLastOpDate()); return inv; }
public void addPeerL3NetworkUuid(String peerL3NetworkUuid) { if (checkPeerL3Additive(peerL3NetworkUuid) == false) { logger.debug(String.format("can not add peer l3[uuid:%s] to vip[uuid:%s]", peerL3NetworkUuid, self.getUuid())); return; } if (Q.New(VipPeerL3NetworkRefVO.class) .eq(VipPeerL3NetworkRefVO_.vipUuid, self.getUuid()) .eq(VipPeerL3NetworkRefVO_.l3NetworkUuid, peerL3NetworkUuid) .find() != null) { logger.debug(String.format("peer l3 [uuid:%s] has already add to vip[uuid:%s], skip to add", peerL3NetworkUuid, self.getUuid())); return; } VipPeerL3NetworkRefVO vo = new VipPeerL3NetworkRefVO(); vo.setVipUuid(self.getUuid()); vo.setL3NetworkUuid(peerL3NetworkUuid); dbf.persistAndRefresh(vo); logger.debug(String.format("added peer l3[uuid:%s] to vip[uuid:%s]", peerL3NetworkUuid, self.getUuid())); }
public Set<String> getPeerL3NetworkUuids() { if (getPeerL3NetworkRefs() != null && !getPeerL3NetworkRefs().isEmpty()) { return getPeerL3NetworkRefs().stream() .map(ref -> ref.getL3NetworkUuid()) .collect(Collectors.toSet()); } return null; }
@Override public void releaseResourceOnDetachingNic(VmInstanceSpec spec, VmNicInventory nic, NoErrorCompletion completion) { // Todo(WeiW): Need to check router rather than not only user vm if (spec.getVmInventory().getType().equals(VmInstanceConstant.USER_VM_TYPE)) { completion.done(); return; } /* FIXME shixin: nic.getL3NetworkUuid() should be change to nic.getUesedIp for appliancevm */ logger.debug(String.format("check detaching nic[uuid:%s] in peer l3 of vip", nic.getUuid())); List<VipPeerL3NetworkRefVO> refVOS = Q.New(VipPeerL3NetworkRefVO.class).eq(VipPeerL3NetworkRefVO_.l3NetworkUuid, nic.getL3NetworkUuid()).list(); if (refVOS == null || refVOS.isEmpty()) { completion.done(); return; } Set<String> refUuids = refVOS.stream().map(r -> r.getVipUuid()).collect(Collectors.toSet()); logger.debug(String.format("release peer l3[uuid:%s] from vips[uuid:%s] for detaching nic[uuid:%s]", nic.getL3NetworkUuid(), refUuids, nic.getUuid())); List<VipVO> vipVOS = Q.New(VipVO.class).in(VipVO_.uuid, refUuids).list(); for (VipVO vipVO : vipVOS) { VipBase v = new VipBase(vipVO); v.deletePeerL3NetworkUuid(nic.getL3NetworkUuid()); } completion.done(); }
VipPeerL3NetworkRefVO vo = new VipPeerL3NetworkRefVO(); vo.setVipUuid(vipvo.getUuid()); vo.setL3NetworkUuid(vr.getGuestL3Networks().get(0)); dbf.persistAndRefresh(vo);
public Boolean checkPeerL3Deleteable(String peerL3NetworkUuid) { refresh(); if (self.getPeerL3NetworkRefs() == null || self.getPeerL3NetworkRefs().isEmpty()) { return false; } if (self.getPeerL3NetworkRefs().stream() .anyMatch(ref -> ref.getL3NetworkUuid().equals(peerL3NetworkUuid))) { return true; } return false; }
.anyMatch(ref -> ref.getL3NetworkUuid().equals(peerL3NetworkUuid))) { logger.debug(String.format("peer l3 [uuid:%s] has already add to vip[uuid:%s], skip to add", peerL3NetworkUuid, self.getUuid())); VmNicVO enic = Q.New(VmNicVO.class).eq(VmNicVO_.l3NetworkUuid, ref.getL3NetworkUuid()) .notNull(VmNicVO_.metaData).limit(1).find(); if (enic == null || enic.getVmInstanceUuid().equals(nnic.getVmInstanceUuid())) {
if (vipPeerL3Refs != null && !vipPeerL3Refs.isEmpty()) { vipPeerL3Uuids = vipPeerL3Refs.stream() .map(ref -> ref.getL3NetworkUuid()) .collect(Collectors.toList());
public static VipInventory valueOf(VipVO vo) { VipInventory inv = new VipInventory(); inv.setName(vo.getName()); inv.setDescription(vo.getDescription()); inv.setCreateDate(vo.getCreateDate()); inv.setGateway(vo.getGateway()); inv.setIp(vo.getIp()); inv.setIpRangeUuid(vo.getIpRangeUuid()); inv.setServiceProvider(vo.getServiceProvider()); inv.setL3NetworkUuid(vo.getL3NetworkUuid()); inv.setLastOpDate(vo.getLastOpDate()); inv.setNetmask(vo.getNetmask()); inv.setPrefixLen(vo.getPrefixLen()); inv.setUseFor(vo.getUseFor()); inv.setUuid(vo.getUuid()); inv.setState(vo.getState().toString()); inv.setUsedIpUuid(vo.getUsedIpUuid()); if (vo.getPeerL3NetworkRefs() != null && !vo.getPeerL3NetworkRefs().isEmpty()) { inv.setPeerL3NetworkUuids(vo.getPeerL3NetworkRefs().stream() .map(ref -> ref.getL3NetworkUuid()) .collect(Collectors.toList())); } return inv; }