mirror of
https://github.com/apache/cloudstack
synced 2026-08-12 00:35:09 +00:00
introduce 'RegionLevelVpc' as capability of 'Connectivity' service. Add support for CreateVPCOffering to take the 'regionlevelvpc' as capability of service 'connectivity'. introduces new capability 'StretchedL2Subnet' for 'Connectivity' service. Also add support to createNetworkOffering api to allow StretchedL2Subnet capablity for the connectivity service. adds check to ensure 'Connectivity' service provider supports 'StretchedL2Subnet' and 'RegionLevelVpc' capabilities when specified in createNetworkOffering and createVpcOffering respectivley enable ovs plug-in to support both StretchedL2Subnet and RegionLevelVpc capabilities make zone id optional parameter in createVpc, zone id can be null only if vpc offfering supports region level VPC in region level vpc, let the network/tier to be created in any zone of the region keep zoneid as required param for createVpc skip external guest network guru if 'Connectivy' service is present in network offering fix build break in contrail manager permit VM's to be created in different zone that in which network is created if the network support streched L2 subnet add integration tests for region level VPC rebase to master Conflicts: setup/db/db/schema-430to440.sql Conflicts: api/src/org/apache/cloudstack/api/ApiConstants.java engine/schema/src/com/cloud/network/vpc/VpcVO.java setup/db/db/schema-430to440.sql
292 lines
7.0 KiB
Java
292 lines
7.0 KiB
Java
// Licensed to the Apache Software Foundation (ASF) under one
|
|
// or more contributor license agreements. See the NOTICE file
|
|
// distributed with this work for additional information
|
|
// regarding copyright ownership. The ASF licenses this file
|
|
// to you under the Apache License, Version 2.0 (the
|
|
// "License"); you may not use this file except in compliance
|
|
// with the License. You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing,
|
|
// software distributed under the License is distributed on an
|
|
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
// KIND, either express or implied. See the License for the
|
|
// specific language governing permissions and limitations
|
|
// under the License.
|
|
package com.cloud.network;
|
|
|
|
import java.net.URI;
|
|
|
|
import com.cloud.network.Networks.BroadcastDomainType;
|
|
import com.cloud.network.Networks.Mode;
|
|
import com.cloud.network.Networks.TrafficType;
|
|
|
|
public class NetworkProfile implements Network {
|
|
private final long id;
|
|
private final String uuid;
|
|
private final long dataCenterId;
|
|
private final long ownerId;
|
|
private final long domainId;
|
|
private String dns1;
|
|
private String dns2;
|
|
private URI broadcastUri;
|
|
private final State state;
|
|
private final String name;
|
|
private final Mode mode;
|
|
private final BroadcastDomainType broadcastDomainType;
|
|
private TrafficType trafficType;
|
|
private final String gateway;
|
|
private final String cidr;
|
|
private final String networkCidr;
|
|
private final String ip6Gateway;
|
|
private final String ip6Cidr;
|
|
private final long networkOfferingId;
|
|
private final long related;
|
|
private final String displayText;
|
|
private final String reservationId;
|
|
private final String networkDomain;
|
|
private final Network.GuestType guestType;
|
|
private Long physicalNetworkId;
|
|
private final ACLType aclType;
|
|
private final boolean restartRequired;
|
|
private final boolean specifyIpRanges;
|
|
private final Long vpcId;
|
|
private final boolean displayNetwork;
|
|
private Long networkAclId;
|
|
private final String guruName;
|
|
private boolean strechedL2Subnet;
|
|
|
|
public NetworkProfile(Network network) {
|
|
id = network.getId();
|
|
uuid = network.getUuid();
|
|
broadcastUri = network.getBroadcastUri();
|
|
dataCenterId = network.getDataCenterId();
|
|
ownerId = network.getAccountId();
|
|
state = network.getState();
|
|
name = network.getName();
|
|
mode = network.getMode();
|
|
broadcastDomainType = network.getBroadcastDomainType();
|
|
trafficType = network.getTrafficType();
|
|
gateway = network.getGateway();
|
|
cidr = network.getCidr();
|
|
networkCidr = network.getNetworkCidr();
|
|
ip6Gateway = network.getIp6Gateway();
|
|
ip6Cidr = network.getIp6Cidr();
|
|
networkOfferingId = network.getNetworkOfferingId();
|
|
related = network.getRelated();
|
|
displayText = network.getDisplayText();
|
|
reservationId = network.getReservationId();
|
|
networkDomain = network.getNetworkDomain();
|
|
domainId = network.getDomainId();
|
|
guestType = network.getGuestType();
|
|
physicalNetworkId = network.getPhysicalNetworkId();
|
|
aclType = network.getAclType();
|
|
restartRequired = network.isRestartRequired();
|
|
specifyIpRanges = network.getSpecifyIpRanges();
|
|
vpcId = network.getVpcId();
|
|
displayNetwork = network.getDisplayNetwork();
|
|
networkAclId = network.getNetworkACLId();
|
|
guruName = network.getGuruName();
|
|
strechedL2Subnet = network.isStrechedL2Network();
|
|
}
|
|
|
|
public String getDns1() {
|
|
return dns1;
|
|
}
|
|
|
|
public String getDns2() {
|
|
return dns2;
|
|
}
|
|
|
|
public void setDns1(String dns1) {
|
|
this.dns1 = dns1;
|
|
}
|
|
|
|
public void setDns2(String dns2) {
|
|
this.dns2 = dns2;
|
|
}
|
|
|
|
@Override
|
|
public String getGuruName() {
|
|
return guruName;
|
|
}
|
|
|
|
public void setBroadcastUri(URI broadcastUri) {
|
|
this.broadcastUri = broadcastUri;
|
|
}
|
|
|
|
@Override
|
|
public URI getBroadcastUri() {
|
|
return broadcastUri;
|
|
}
|
|
|
|
@Override
|
|
public long getId() {
|
|
return id;
|
|
}
|
|
|
|
@Override
|
|
public String getUuid() {
|
|
return uuid;
|
|
}
|
|
|
|
@Override
|
|
public long getDataCenterId() {
|
|
return dataCenterId;
|
|
}
|
|
|
|
@Override
|
|
public long getAccountId() {
|
|
return ownerId;
|
|
}
|
|
|
|
@Override
|
|
public State getState() {
|
|
return state;
|
|
}
|
|
|
|
@Override
|
|
public String getName() {
|
|
return name;
|
|
}
|
|
|
|
@Override
|
|
public Mode getMode() {
|
|
return mode;
|
|
}
|
|
|
|
@Override
|
|
public BroadcastDomainType getBroadcastDomainType() {
|
|
return broadcastDomainType;
|
|
}
|
|
|
|
@Override
|
|
public TrafficType getTrafficType() {
|
|
return trafficType;
|
|
}
|
|
|
|
@Override
|
|
public String getGateway() {
|
|
return gateway;
|
|
}
|
|
|
|
@Override
|
|
public String getCidr() {
|
|
return cidr;
|
|
}
|
|
|
|
@Override
|
|
public String getNetworkCidr() {
|
|
return networkCidr;
|
|
}
|
|
|
|
@Override
|
|
public long getNetworkOfferingId() {
|
|
return networkOfferingId;
|
|
}
|
|
|
|
@Override
|
|
public long getRelated() {
|
|
return related;
|
|
}
|
|
|
|
@Override
|
|
public String getDisplayText() {
|
|
return displayText;
|
|
}
|
|
|
|
@Override
|
|
public String getReservationId() {
|
|
return reservationId;
|
|
}
|
|
|
|
@Override
|
|
public String getNetworkDomain() {
|
|
return networkDomain;
|
|
}
|
|
|
|
@Override
|
|
public long getDomainId() {
|
|
return domainId;
|
|
}
|
|
|
|
@Override
|
|
public Network.GuestType getGuestType() {
|
|
return guestType;
|
|
}
|
|
|
|
@Override
|
|
public Long getPhysicalNetworkId() {
|
|
return physicalNetworkId;
|
|
}
|
|
|
|
@Override
|
|
public void setPhysicalNetworkId(Long physicalNetworkId) {
|
|
this.physicalNetworkId = physicalNetworkId;
|
|
}
|
|
|
|
@Override
|
|
public ACLType getAclType() {
|
|
return aclType;
|
|
}
|
|
|
|
@Override
|
|
public boolean isRestartRequired() {
|
|
// TODO Auto-generated method stub
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public boolean getSpecifyIpRanges() {
|
|
// TODO Auto-generated method stub
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public boolean getDisplayNetwork() {
|
|
return displayNetwork;
|
|
}
|
|
|
|
@Override
|
|
public Long getVpcId() {
|
|
return vpcId;
|
|
}
|
|
|
|
@Override
|
|
public Long getNetworkACLId() {
|
|
return networkAclId;
|
|
}
|
|
|
|
@Override
|
|
public void setNetworkACLId(Long networkACLId) {
|
|
networkAclId = networkACLId;
|
|
}
|
|
|
|
@Override
|
|
public void setTrafficType(TrafficType type) {
|
|
trafficType = type;
|
|
}
|
|
|
|
@Override
|
|
public String getIp6Gateway() {
|
|
return ip6Gateway;
|
|
}
|
|
|
|
@Override
|
|
public String getIp6Cidr() {
|
|
return ip6Cidr;
|
|
}
|
|
|
|
@Override
|
|
public Class<?> getEntityType() {
|
|
return Network.class;
|
|
}
|
|
|
|
@Override
|
|
public boolean isStrechedL2Network() {
|
|
return false;
|
|
}
|
|
|
|
}
|