Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Choose external network #276

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,16 @@ public abstract class AbstractVirtualLink extends BaseEntity {

private String cidr;

private String poolName;

public String getPoolName() {
return poolName;
}

public void setPoolName(String poolName) {
this.poolName = poolName;
}

public String getCidr() {
return cidr;
}
Expand Down Expand Up @@ -157,6 +167,9 @@ public String toString() {
+ ", cidr='"
+ cidr
+ '\''
+ ", poolName='"
+ poolName
+ '\''
+ "} "
+ super.toString();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,6 @@ public String toString() {
+ ", descriptor_version='"
+ descriptor_version
+ '\''
+ ", poolName='"
+ poolName
+ '\''
+ ", number_of_endpoints="
+ number_of_endpoints
+ ", connection="
Expand All @@ -62,9 +59,6 @@ public String toString() {
/** Version of this VLD */
private String descriptor_version;

/** Public ip pool */
private String poolName;

public List<String> getDns() {
return dns;
}
Expand All @@ -91,14 +85,6 @@ public void setDns(List<String> dns) {

public VirtualLinkDescriptor() {}

public String getPoolName() {
return poolName;
}

public void setPoolName(String poolName) {
this.poolName = poolName;
}

public String getName() {
return name;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ public class Subnet extends BaseEntity {
private String networkId;
private String cidr;
private String gatewayIp;
private String externalNetworkName;

public Subnet() {}

Expand Down Expand Up @@ -84,6 +85,14 @@ public void setDns(List<String> dns) {
this.dns = dns;
}

public String getExternalNetworkName() {
return externalNetworkName;
}

public void setExternalNetworkName(String externalNetworkName) {
this.externalNetworkName = externalNetworkName;
}

@Override
public String toString() {
return "Subnet{"
Expand All @@ -102,6 +111,9 @@ public String toString() {
+ ", gatewayIp='"
+ gatewayIp
+ '\''
+ ", externalNetworkName='"
+ externalNetworkName
+ '\''
+ "} "
+ super.toString();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import java.util.*;
import java.util.stream.Collectors;
import org.apache.commons.net.util.SubnetUtils;
import org.openbaton.catalogue.mano.common.AbstractVirtualLink;
import org.openbaton.catalogue.mano.descriptor.InternalVirtualLink;
import org.openbaton.catalogue.mano.descriptor.NetworkServiceDescriptor;
import org.openbaton.catalogue.mano.descriptor.VNFDConnectionPoint;
Expand Down Expand Up @@ -126,6 +127,7 @@ public static void updateBaseNetworks(BaseNetwork networkOld, BaseNetwork networ
subnetNfvo.setNetworkId(subnetNew.getNetworkId());
subnetNfvo.setGatewayIp(subnetNew.getGatewayIp());
subnetNfvo.setCidr(subnetNew.getCidr());
subnetNfvo.setExternalNetworkName(subnetNew.getExternalNetworkName());
found_subnet = true;
break;
}
Expand Down Expand Up @@ -217,23 +219,26 @@ public static BaseNetwork createBaseNetwork(
HashSet<Subnet> subnets = new HashSet<>();
Subnet subnet = new Subnet();
subnet.setName(String.format("%s_subnet", vnfdConnectionPoint.getVirtual_link_reference()));
subnet.setCidr(
getCidrFromVLName(
AbstractVirtualLink avl =
getVLFromVLName(
vnfdConnectionPoint.getVirtual_link_reference(),
networkServiceDescriptor,
virtualNetworkFunctionDescriptor));
virtualNetworkFunctionDescriptor);
subnet.setCidr(avl.getCidr());
subnet.setExternalNetworkName(avl.getPoolName());
subnets.add(subnet);
network.setSubnets(subnets);
network.setName(vnfdConnectionPoint.getVirtual_link_reference());
return network;
} else if (vimInstance instanceof DockerVimInstance) {
DockerNetwork networkdc = new DockerNetwork();
networkdc.setName(vnfdConnectionPoint.getVirtual_link_reference());
networkdc.setSubnet(
getCidrFromVLName(
AbstractVirtualLink avl =
getVLFromVLName(
vnfdConnectionPoint.getVirtual_link_reference(),
networkServiceDescriptor,
virtualNetworkFunctionDescriptor));
virtualNetworkFunctionDescriptor);
networkdc.setSubnet(avl.getCidr());
return networkdc;
} else {
BaseNetwork networkb = new BaseNetwork();
Expand All @@ -254,19 +259,22 @@ public static BaseNetwork createBaseNetwork(
Subnet subnet = new Subnet();
subnet.setName(String.format("%s_subnet", vlr.getName()));
subnet.setDns(vlr.getDns());
subnet.setCidr(
getCidrFromVLName(
vlr.getName(), networkServiceDescriptor, virtualNetworkFunctionDescriptor));
AbstractVirtualLink avl =
getVLFromVLName(
vlr.getName(), networkServiceDescriptor, virtualNetworkFunctionDescriptor);
subnet.setCidr(avl.getCidr());
subnet.setExternalNetworkName(avl.getPoolName());
subnets.add(subnet);
network.setSubnets(subnets);
network.setName(vlr.getName());
return network;
} else if (vimInstance instanceof DockerVimInstance) {
DockerNetwork networkdc = new DockerNetwork();
networkdc.setName(vlr.getName());
networkdc.setSubnet(
getCidrFromVLName(
vlr.getName(), networkServiceDescriptor, virtualNetworkFunctionDescriptor));
AbstractVirtualLink avl =
getVLFromVLName(
vlr.getName(), networkServiceDescriptor, virtualNetworkFunctionDescriptor);
networkdc.setSubnet(avl.getCidr());
return networkdc;
} else {
BaseNetwork networkb = new BaseNetwork();
Expand All @@ -275,19 +283,20 @@ public static BaseNetwork createBaseNetwork(
}
}

private static String getCidrFromVLName(
private static AbstractVirtualLink getVLFromVLName(
String virtual_link_reference,
NetworkServiceDescriptor networkServiceDescriptor,
VirtualNetworkFunctionDescriptor virtualNetworkFunctionDescriptor)
throws BadRequestException {

for (VirtualLinkDescriptor vld : networkServiceDescriptor.getVld()) {
if (vld.getName().equals(virtual_link_reference)) {
return vld.getCidr();
return vld;
}
}
for (InternalVirtualLink ivl : virtualNetworkFunctionDescriptor.getVirtual_link()) {
if (ivl.getName().equals(virtual_link_reference)) {
return ivl.getCidr();
return ivl;
}
}
throw new BadRequestException(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -588,16 +588,16 @@ public BaseNetwork add(BaseVimInstance vimInstance, BaseNetwork network) throws
e);
}
if (network instanceof Network) {
Network osNetowork = (Network) network;
Network osNetwork = (Network) network;
log.debug(
"Creating Subnets for Network with name: "
+ network.getName()
+ " on VimInstance "
+ vimInstance.getName()
+ " -> Subnets: "
+ osNetowork.getSubnets());
+ osNetwork.getSubnets());
Set<Subnet> createdSubnets = new HashSet<>();
for (Subnet subnet : osNetowork.getSubnets()) {
for (Subnet subnet : osNetwork.getSubnets()) {
try {
log.debug(
"Creating Subnet with name: "
Expand Down Expand Up @@ -659,7 +659,7 @@ public BaseNetwork add(BaseVimInstance vimInstance, BaseNetwork network) throws
+ " on VimInstnace "
+ vimInstance.getName()
+ " -> Subnets: "
+ osNetowork.getSubnets());
+ osNetwork.getSubnets());
}
return createdNetwork;
}
Expand Down