Skip to content

Commit ee10641

Browse files
Merge pull request #2 from sureshr-hasvik/feature/vpc-ipv6
Modified VPC, Zone schema and VO files to add IPv6 attributes LGTM. The changes I suggested were applied and the choice for asNumber being a String was explained. Merging...
2 parents 9c2a1ea + 4941822 commit ee10641

14 files changed

Lines changed: 94 additions & 18 deletions

File tree

api/src/com/cloud/dc/DataCenter.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,4 +81,9 @@ public enum NetworkType {
8181
String getZoneToken();
8282

8383
boolean isLocalStorageEnabled();
84+
85+
String getIp6SuperNetworkCidr();
86+
87+
String getAsNumber();
88+
8489
}

api/src/com/cloud/network/vpc/Vpc.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,4 +87,10 @@ public enum State {
8787
* @return true if VPC spans multiple zones in the region
8888
*/
8989
boolean isRegionLevelVpc();
90+
91+
/**
92+
*
93+
* @return IPv6 CIDR of the VPC
94+
*/
95+
String getIp6Cidr();
9096
}

engine/orchestration/src/org/apache/cloudstack/engine/datacenter/entity/api/db/EngineDataCenterVO.java

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,12 @@ public class EngineDataCenterVO implements EngineDataCenter, Identity {
8282
@Column(name = "guest_network_cidr")
8383
private String guestNetworkCidr = null;
8484

85+
@Column(name = "ip6_super_network_cidr")
86+
private String ip6SuperNetworkCidr = null;
87+
88+
@Column(name = "as_number")
89+
private String asNumber = null;
90+
8591
@Column(name = "domain_id")
8692
private Long domainId = null;
8793

@@ -210,21 +216,23 @@ public void setFirewallProvider(String firewallProvider) {
210216

211217
public EngineDataCenterVO(long id, String name, String description, String dns1, String dns2, String dns3, String dns4, String guestCidr, String domain,
212218
Long domainId, NetworkType zoneType, String zoneToken, String domainSuffix) {
213-
this(name, description, dns1, dns2, dns3, dns4, guestCidr, domain, domainId, zoneType, zoneToken, domainSuffix, false, false, null, null);
219+
this(name, description, dns1, dns2, dns3, dns4, guestCidr, domain, domainId, zoneType, zoneToken, domainSuffix, false, false, null, null, null, null);
214220
this.id = id;
215221
this.allocationState = Grouping.AllocationState.Enabled;
216222
this.uuid = UUID.randomUUID().toString();
217223
}
218224

219225
public EngineDataCenterVO(String name, String description, String dns1, String dns2, String dns3, String dns4, String guestCidr, String domain, Long domainId,
220-
NetworkType zoneType, String zoneToken, String domainSuffix, boolean securityGroupEnabled, boolean localStorageEnabled, String ip6Dns1, String ip6Dns2) {
226+
NetworkType zoneType, String zoneToken, String domainSuffix, boolean securityGroupEnabled, boolean localStorageEnabled, String ip6Dns1, String ip6Dns2, String ip6SuperNetworkCidr, String asNumber) {
221227
this.name = name;
222228
this.description = description;
223229
this.dns1 = dns1;
224230
this.dns2 = dns2;
225231
this.internalDns1 = dns3;
226232
this.internalDns2 = dns4;
227233
this.guestNetworkCidr = guestCidr;
234+
this.ip6SuperNetworkCidr = ip6SuperNetworkCidr;
235+
this.asNumber = asNumber;
228236
this.domain = domain;
229237
this.domainId = domainId;
230238
this.networkType = zoneType;
@@ -503,4 +511,22 @@ public String getIp6Dns2() {
503511
public void setIp6Dns2(String ip6Dns2) {
504512
this.ip6Dns2 = ip6Dns2;
505513
}
514+
515+
@Override
516+
public String getIp6SuperNetworkCidr() {
517+
return ip6SuperNetworkCidr;
518+
}
519+
520+
public void setIp6SuperNetworkCidr(String ip6GuestNetworkCidr) {
521+
this.ip6SuperNetworkCidr = ip6GuestNetworkCidr;
522+
}
523+
524+
@Override
525+
public String getAsNumber() {
526+
return asNumber;
527+
}
528+
529+
public void setAsNumber(String asNumber) {
530+
this.asNumber = asNumber;
531+
}
506532
}

engine/orchestration/test/org/apache/cloudstack/engine/provisioning/test/ProvisioningTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ public class ProvisioningTest extends TestCase {
7575
public void setUp() {
7676
EngineDataCenterVO dc =
7777
new EngineDataCenterVO(UUID.randomUUID().toString(), "test", "8.8.8.8", null, "10.0.0.1", null, "10.0.0.1/24", null, null, NetworkType.Basic, null, null,
78-
true, true, null, null);
78+
true, true, null, null, null, null);
7979
Mockito.when(dcDao.findByUuid(Matchers.anyString())).thenReturn(dc);
8080
Mockito.when(dcDao.persist((EngineDataCenterVO)Matchers.anyObject())).thenReturn(dc);
8181

engine/schema/src/com/cloud/dc/DataCenterVO.java

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,12 @@ public class DataCenterVO implements DataCenter {
7575
@Column(name = "guest_network_cidr")
7676
private String guestNetworkCidr = null;
7777

78+
@Column(name = "ip6_super_network_cidr")
79+
private String ip6SuperNetworkCidr = null;
80+
81+
@Column(name = "as_number")
82+
private String asNumber = null;
83+
7884
@Column(name = "domain_id")
7985
private Long domainId = null;
8086

@@ -182,14 +188,14 @@ public void setFirewallProvider(String firewallProvider) {
182188

183189
public DataCenterVO(long id, String name, String description, String dns1, String dns2, String dns3, String dns4, String guestCidr, String domain, Long domainId,
184190
NetworkType zoneType, String zoneToken, String domainSuffix) {
185-
this(name, description, dns1, dns2, dns3, dns4, guestCidr, domain, domainId, zoneType, zoneToken, domainSuffix, false, false, null, null);
191+
this(name, description, dns1, dns2, dns3, dns4, guestCidr, domain, domainId, zoneType, zoneToken, domainSuffix, false, false, null, null, null, null);
186192
this.id = id;
187193
this.allocationState = Grouping.AllocationState.Enabled;
188194
this.uuid = UUID.randomUUID().toString();
189195
}
190196

191197
public DataCenterVO(String name, String description, String dns1, String dns2, String dns3, String dns4, String guestCidr, String domain, Long domainId,
192-
NetworkType zoneType, String zoneToken, String domainSuffix, boolean securityGroupEnabled, boolean localStorageEnabled, String ip6Dns1, String ip6Dns2) {
198+
NetworkType zoneType, String zoneToken, String domainSuffix, boolean securityGroupEnabled, boolean localStorageEnabled, String ip6Dns1, String ip6Dns2, String ip6SuperCidr, String asNumber) {
193199
this.name = name;
194200
this.description = description;
195201
this.dns1 = dns1;
@@ -199,6 +205,8 @@ public DataCenterVO(String name, String description, String dns1, String dns2, S
199205
this.internalDns1 = dns3;
200206
this.internalDns2 = dns4;
201207
this.guestNetworkCidr = guestCidr;
208+
this.ip6SuperNetworkCidr = ip6SuperCidr;
209+
this.asNumber = asNumber;
202210
this.domain = domain;
203211
this.domainId = domainId;
204212
this.networkType = zoneType;
@@ -456,4 +464,22 @@ public String getIp6Dns2() {
456464
public void setIp6Dns2(String ip6Dns2) {
457465
this.ip6Dns2 = ip6Dns2;
458466
}
459-
}
467+
468+
@Override
469+
public String getIp6SuperNetworkCidr() {
470+
return ip6SuperNetworkCidr;
471+
}
472+
473+
public void setIp6SuperNetworkCidr(String ip6GuestNetworkCidr) {
474+
this.ip6SuperNetworkCidr = ip6GuestNetworkCidr;
475+
}
476+
477+
@Override
478+
public String getAsNumber() {
479+
return asNumber;
480+
}
481+
482+
public void setAsNumber(String asNumber) {
483+
this.asNumber = asNumber;
484+
}
485+
}

engine/schema/src/com/cloud/network/vpc/VpcVO.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,9 @@ public class VpcVO implements Vpc {
5151
@Column(name = "cidr")
5252
private String cidr = null;
5353

54+
@Column(name = "ip6_cidr")
55+
private String ip6Cidr = null;
56+
5457
@Column(name = "domain_id")
5558
Long domainId = null;
5659

@@ -94,13 +97,14 @@ public VpcVO() {
9497

9598
public VpcVO(final long zoneId, final String name, final String displayText, final long accountId, final long domainId,
9699
final long vpcOffId, final String cidr, final String networkDomain, final boolean useDistributedRouter,
97-
final boolean regionLevelVpc, final boolean isRedundant) {
100+
final boolean regionLevelVpc, final boolean isRedundant, String ip6Cidr) {
98101
this.zoneId = zoneId;
99102
this.name = name;
100103
this.displayText = displayText;
101104
this.accountId = accountId;
102105
this.domainId = domainId;
103106
this.cidr = cidr;
107+
this.ip6Cidr = ip6Cidr;
104108
uuid = UUID.randomUUID().toString();
105109
state = State.Enabled;
106110
this.networkDomain = networkDomain;
@@ -237,4 +241,9 @@ public Class<?> getEntityType() {
237241
public boolean usesDistributedRouter() {
238242
return usesDistributedRouter;
239243
}
244+
245+
@Override
246+
public String getIp6Cidr() {
247+
return ip6Cidr;
248+
}
240249
}

plugins/hypervisors/vmware/test/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ public void testSetUp() {
167167

168168
DataCenterVO zone =
169169
new DataCenterVO(UUID.randomUUID().toString(), "test", "8.8.8.8", null, "10.0.0.1", null, "10.0.0.1/24", null, null, NetworkType.Basic, null, null, true,
170-
true, null, null);
170+
true, null, null, null, null);
171171
zoneId = 1L;
172172

173173
HostPodVO pod = new HostPodVO(UUID.randomUUID().toString(), zoneId, "192.168.56.1", "192.168.56.0/24", 8, "test");

plugins/storage/volume/solidfire/test/org/apache/cloudstack/storage/test/VolumeTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ public void setUp() {
7676
// create data center
7777
DataCenterVO dc =
7878
new DataCenterVO(UUID.randomUUID().toString(), "test", "8.8.8.8", null, "10.0.0.1", null, "10.0.0.1/24", null, null, NetworkType.Basic, null, null, true,
79-
true, null, null);
79+
true, null, null, null, null);
8080
dc = dcDao.persist(dc);
8181
dcId = dc.getId();
8282
// create pod

server/src/com/cloud/configuration/ConfigurationManagerImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1826,7 +1826,7 @@ public DataCenterVO createZone(final long userId, final String zoneName, final S
18261826

18271827
// Create the new zone in the database
18281828
final DataCenterVO zoneFinal = new DataCenterVO(zoneName, null, dns1, dns2, internalDns1, internalDns2, guestCidr, domain, domainId, zoneType, zoneToken, networkDomain,
1829-
isSecurityGroupEnabled, isLocalStorageEnabled, ip6Dns1, ip6Dns2);
1829+
isSecurityGroupEnabled, isLocalStorageEnabled, ip6Dns1, ip6Dns2, null, null);
18301830
if (allocationStateStr != null && !allocationStateStr.isEmpty()) {
18311831
final Grouping.AllocationState allocationState = Grouping.AllocationState.valueOf(allocationStateStr);
18321832
zoneFinal.setAllocationState(allocationState);

server/src/com/cloud/network/vpc/VpcManagerImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -816,7 +816,7 @@ public Vpc createVpc(final long zoneId, final long vpcOffId, final long vpcOwner
816816

817817
final boolean useDistributedRouter = vpcOff.supportsDistributedRouter();
818818
final VpcVO vpc = new VpcVO(zoneId, vpcName, displayText, owner.getId(), owner.getDomainId(), vpcOffId,
819-
cidr, networkDomain, useDistributedRouter, isRegionLevelVpcOff, vpcOff.getRedundantRouter());
819+
cidr, networkDomain, useDistributedRouter, isRegionLevelVpcOff, vpcOff.getRedundantRouter(), null);
820820

821821
return createVpc(displayVpc, vpc);
822822
}

0 commit comments

Comments
 (0)