public void run(final FlowTrigger trigger, final Map data) { final VipInventory v = (VipInventory) data.get(VipConstant.Params.VIP.toString()); final String serviceProviderType = (String) data.get(VipConstant.Params.VIP_SERVICE_PROVIDER_TYPE.toString()); final L3NetworkInventory peerL3 = (L3NetworkInventory) data.get(VipConstant.Params.GUEST_L3NETWORK_VIP_FOR.toString()); boolean needLockVip = data.containsKey(Params.NEED_LOCK_VIP.toString()); ModifyVipAttributesStruct struct = new ModifyVipAttributesStruct(); struct.setUseFor( PortForwardingConstant.PORTFORWARDING_NETWORK_SERVICE_TYPE); Vip vip = new Vip(v.getUuid()); vip.setStruct(struct); vip.acquire(new Completion(trigger) { @Override public void success() { trigger.next(); } @Override public void fail(ErrorCode errorCode) { trigger.fail(errorCode); } }); }
@Override public void run(final FlowTrigger trigger, Map data) { VipInventory v = (VipInventory) data.get(VipConstant.Params.VIP.toString()); ModifyVipAttributesStruct struct = new ModifyVipAttributesStruct(); struct.setUseFor( PortForwardingConstant.PORTFORWARDING_NETWORK_SERVICE_TYPE); Vip vip = new Vip(v.getUuid()); vip.setStruct(struct); vip.release(new Completion(trigger) { @Override public void success() { trigger.next(); } @Override public void fail(ErrorCode errorCode) { trigger.fail(errorCode); } }); } }
Vip getVipWithSnatService(Map data){ String vipUuid = (String)data.get(VirtualRouterConstant.Param.PUB_VIP_UUID.toString()); if (vipUuid == null){ return null; } ModifyVipAttributesStruct struct = new ModifyVipAttributesStruct(); struct.setUseFor(NetworkServiceType.SNAT.toString()); Vip vip = new Vip(vipUuid); VirtualRouterVmInventory vr = (VirtualRouterVmInventory) data.get(VirtualRouterConstant.Param.VR.toString()); if (!vr.getGuestL3Networks().isEmpty()){ String l3NetworkUuuid = vr.getGuestL3Networks().get(0); try { NetworkServiceProviderType providerType = nwServiceMgr.getTypeOfNetworkServiceProviderForService(l3NetworkUuuid, NetworkServiceType.SNAT); struct.setPeerL3NetworkUuid(l3NetworkUuuid); struct.setServiceProvider(providerType.toString()); } catch (OperationFailureException e){ logger.debug(String.format("Get providerType exception %s", e.toString())); } } vip.setStruct(struct); return vip; } }
private void addVipToList(String name, String note) { Vip guy = new Vip(name,note); vip.add(guy); }
vip.acquire(new Completion(completion) { @Override public void success() {
private Vip getVipWithSnatService(VirtualRouterVmInventory vr, VmNicInventory nic){ String vipUuid = Q.New(VipVO.class).eq(VipVO_.usedIpUuid, vr.getPublicNic().getUsedIpUuid()).select(VipVO_.uuid).findValue(); if (vipUuid == null){ return null; } ModifyVipAttributesStruct struct = new ModifyVipAttributesStruct(); struct.setUseFor(NetworkServiceType.SNAT.toString()); Vip vip = new Vip(vipUuid); String l3NetworkUuuid = nic.getL3NetworkUuid(); try { NetworkServiceProviderType providerType = nwServiceMgr.getTypeOfNetworkServiceProviderForService(l3NetworkUuuid, NetworkServiceType.SNAT); struct.setPeerL3NetworkUuid(l3NetworkUuuid); struct.setServiceProvider(providerType.toString()); } catch (OperationFailureException e){ logger.debug(String.format("Get providerType exception %s", e.toString())); } vip.setStruct(struct); return vip; }
vipStruct.setPeerL3NetworkUuid(guestL3NetworkUuid); Vip v = new Vip(vip.getUuid()); v.setStruct(vipStruct); v.acquire(new Completion(trigger) { Vip v = new Vip(vip.getUuid()); v.setStruct(vipStruct); v.release(new Completion(trigger) { vipStruct.setPeerL3NetworkUuid(guestL3NetworkUuid); Vip v = new Vip(vip.getUuid()); v.setStruct(vipStruct); v.acquire(new Completion(trigger) { Vip v = new Vip(vip.getUuid()); v.setStruct(vipStruct); v.release(new Completion(trigger) {
Vip vip = getVipWithSnatService(data); if (vip != null){ vip.acquire(new Completion(chain) { @Override public void success() {
@Override public void rollback(final FlowRollback trigger, Map data) { if (!data.containsKey(SUCCESS)) { trigger.rollback(); return; } VipInventory v = (VipInventory) data.get(VipConstant.Params.VIP.toString()); ModifyVipAttributesStruct struct = new ModifyVipAttributesStruct(); struct.setUseFor( PortForwardingConstant.PORTFORWARDING_NETWORK_SERVICE_TYPE); Vip vip = new Vip(v.getUuid()); vip.setStruct(struct); vip.release(new Completion(trigger) { @Override public void success() { trigger.rollback(); } @Override public void fail(ErrorCode errorCode) { //TODO add GC logger.warn(errorCode.toString()); trigger.rollback(); } }); } }
Vip vip = new Vip(vo.getVipUuid()); ModifyVipAttributesStruct struct = new ModifyVipAttributesStruct(); struct.setUseFor(PortForwardingConstant.PORTFORWARDING_NETWORK_SERVICE_TYPE); struct.setServiceProvider(providerType.toString()); struct.setPeerL3NetworkUuid(nicvo.getL3NetworkUuid()); vip.setStruct(struct); vip.acquire(new Completion(msg) { @Override public void success() {
@Override public void rollback(FlowRollback chain, Map data) { String vipUuid = (String) data.get(VirtualRouterConstant.Param.PUB_VIP_UUID.toString()); if (vipUuid == null) { chain.rollback(); return; } SQL.New(VirtualRouterVipVO.class).eq(VirtualRouterVipVO_.uuid, vipUuid).hardDelete(); ModifyVipAttributesStruct struct = new ModifyVipAttributesStruct(); struct.setUseFor(NetworkServiceType.SNAT.toString()); Vip vip = new Vip(vipUuid); vip.setStruct(struct); vip.release(new Completion(chain) { @Override public void success() { chain.rollback(); } @Override public void fail(ErrorCode errorCode) { chain.rollback(); } }); } }
ModifyVipAttributesStruct struct = new ModifyVipAttributesStruct(); struct.setUseFor(PortForwardingConstant.PORTFORWARDING_NETWORK_SERVICE_TYPE); Vip v = new Vip(vo.getVipUuid()); v.setStruct(struct); v.acquire(new Completion(msg) { @Override public void success() { ModifyVipAttributesStruct struct = new ModifyVipAttributesStruct(); struct.setUseFor(PortForwardingConstant.PORTFORWARDING_NETWORK_SERVICE_TYPE); Vip v = new Vip(vo.getVipUuid()); v.setStruct(struct); v.acquire(new Completion(msg) { @Override public void success() {
ModifyVipAttributesStruct struct = new ModifyVipAttributesStruct(); struct.setUseFor(EipConstant.EIP_NETWORK_SERVICE_TYPE); Vip vip = new Vip(vipInventory.getUuid()); vip.setStruct(struct); vip.acquire(new Completion(msg) { @Override public void success() { ModifyVipAttributesStruct struct = new ModifyVipAttributesStruct(); struct.setUseFor(EipConstant.EIP_NETWORK_SERVICE_TYPE); Vip vip = new Vip(vipInventory.getUuid()); vip.setStruct(struct); vip.acquire(new Completion(msg) { @Override public void success() {