Skip to content

Commit 3f8f9e2

Browse files
nvazquezPearl1594
andauthored
[NSX] Refactor API wrapper operations (#8059)
* [NSX] Refactor API wrapper operations * Big refactor * Address review comment * change network cidr to cidr to prevent NPE * add domain and zone names to the various networks - vpc & tier --------- Co-authored-by: Pearl Dsilva <pearl1594@gmail.com>
1 parent 7332e6d commit 3f8f9e2

File tree

18 files changed

+542
-430
lines changed

18 files changed

+542
-430
lines changed

engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@
4848
import javax.naming.ConfigurationException;
4949
import javax.persistence.EntityExistsException;
5050

51+
import com.cloud.domain.Domain;
52+
import com.cloud.domain.dao.DomainDao;
5153
import com.cloud.network.vpc.VpcVO;
5254
import com.cloud.network.vpc.dao.VpcDao;
5355
import com.cloud.user.dao.AccountDao;
@@ -392,6 +394,8 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
392394
private AccountDao accountDao;
393395
@Inject
394396
private VpcDao vpcDao;
397+
@Inject
398+
private DomainDao domainDao;
395399

396400
VmWorkJobHandlerProxy _jobHandlerProxy = new VmWorkJobHandlerProxy(this);
397401

@@ -1478,7 +1482,9 @@ private void setVmNetworkDetails(VMInstanceVO vm, VirtualMachineTO vmTO) {
14781482
for (UserVmJoinVO userVmJoinVO : userVmJoinVOs) {
14791483
NetworkVO networkVO = _networkDao.findById(userVmJoinVO.getNetworkId());
14801484
Account acc = accountDao.findById(networkVO.getAccountId());
1481-
String networkName = acc.getAccountName() + "-" ;
1485+
Domain domain = domainDao.findById(networkVO.getDomainId());
1486+
DataCenter zone = _dcDao.findById(vm.getDataCenterId());
1487+
String networkName = domain.getName() + "-" + acc.getAccountName() + "-" + zone.getName() + "-";
14821488
if (Objects.isNull(networkVO.getVpcId())) {
14831489
networkName += networkVO.getName();
14841490
} else {

plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/agent/api/CreateNsxDhcpRelayConfigCommand.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ public class CreateNsxDhcpRelayConfigCommand extends NsxCommand {
2424
private String networkName;
2525
private List<String> addresses;
2626

27-
public CreateNsxDhcpRelayConfigCommand(String zoneName, Long zoneId, String accountName, Long accountId,
27+
public CreateNsxDhcpRelayConfigCommand(String domainName, String accountName, String zoneName,
2828
String vpcName, String networkName, List<String> addresses) {
29-
super(zoneName, zoneId, accountName, accountId);
29+
super(domainName, accountName, zoneName);
3030
this.vpcName = vpcName;
3131
this.networkName = networkName;
3232
this.addresses = addresses;

plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/agent/api/CreateNsxSegmentCommand.java

Lines changed: 28 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,38 @@
1616
// under the License.
1717
package org.apache.cloudstack.agent.api;
1818

19-
import com.cloud.network.dao.NetworkVO;
20-
2119
import java.util.Objects;
2220

23-
public class CreateNsxSegmentCommand extends CreateNsxTier1GatewayCommand {
24-
private NetworkVO tierNetwork;
25-
public CreateNsxSegmentCommand(String zoneName, Long zoneId, String accountName, Long accountId, String vpcName, NetworkVO tierNetwork) {
26-
super(zoneName, zoneId, accountName, accountId, vpcName);
27-
this.tierNetwork = tierNetwork;
21+
public class CreateNsxSegmentCommand extends NsxCommand {
22+
23+
private String vpcName;
24+
private String networkName;
25+
private String networkGateway;
26+
private String networkCidr;
27+
28+
public CreateNsxSegmentCommand(String domainName, String accountName, String zoneName,
29+
String vpcName, String networkName, String networkGateway, String networkCidr) {
30+
super(domainName, accountName, zoneName);
31+
this.vpcName = vpcName;
32+
this.networkName = networkName;
33+
this.networkGateway = networkGateway;
34+
this.networkCidr = networkCidr;
35+
}
36+
37+
public String getVpcName() {
38+
return vpcName;
39+
}
40+
41+
public String getNetworkName() {
42+
return networkName;
2843
}
2944

30-
public NetworkVO getTierNetwork() {
31-
return tierNetwork;
45+
public String getNetworkGateway() {
46+
return networkGateway;
3247
}
3348

34-
public void setTierNetwork(NetworkVO tierNetwork) {
35-
this.tierNetwork = tierNetwork;
49+
public String getNetworkCidr() {
50+
return networkCidr;
3651
}
3752

3853
@Override
@@ -41,11 +56,11 @@ public boolean equals(Object o) {
4156
if (o == null || getClass() != o.getClass()) return false;
4257
if (!super.equals(o)) return false;
4358
CreateNsxSegmentCommand command = (CreateNsxSegmentCommand) o;
44-
return Objects.equals(tierNetwork, command.tierNetwork);
59+
return Objects.equals(networkName, command.networkName);
4560
}
4661

4762
@Override
4863
public int hashCode() {
49-
return Objects.hash(super.hashCode(), tierNetwork);
64+
return Objects.hash(super.hashCode(), networkName);
5065
}
5166
}

plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/agent/api/CreateNsxTier1GatewayCommand.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,15 @@
2121
public class CreateNsxTier1GatewayCommand extends NsxCommand {
2222
private String vpcName;
2323

24-
public CreateNsxTier1GatewayCommand(String zoneName, Long zoneId, String accountName, Long accountId, String vpcName) {
25-
super(zoneName, zoneId, accountName, accountId);
24+
public CreateNsxTier1GatewayCommand(String domainName, String accountName, String zoneName, String vpcName) {
25+
super(domainName, accountName, zoneName);
2626
this.vpcName = vpcName;
2727
}
2828

2929
public String getVpcName() {
3030
return vpcName;
3131
}
3232

33-
public void setVpcName(String vpcName) {
34-
this.vpcName = vpcName;
35-
}
36-
3733
@Override
3834
public boolean equals(Object o) {
3935
if (this == o) return true;

plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/agent/api/DeleteNsxSegmentCommand.java

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,22 @@
1616
// under the License.
1717
package org.apache.cloudstack.agent.api;
1818

19-
import com.cloud.network.dao.NetworkVO;
19+
public class DeleteNsxSegmentCommand extends NsxCommand {
2020

21-
public class DeleteNsxSegmentCommand extends CreateNsxSegmentCommand {
22-
public DeleteNsxSegmentCommand(String zoneName, String accountName, String vpcName, NetworkVO network) {
23-
super(zoneName, network.getDataCenterId(), accountName, network.getAccountId(), vpcName, network);
21+
private String vpcName;
22+
private String networkName;
23+
24+
public DeleteNsxSegmentCommand(String domainName, String accountName, String zoneName, String vpcName, String networkName) {
25+
super(domainName, accountName, zoneName);
26+
this.vpcName = vpcName;
27+
this.networkName = networkName;
28+
}
29+
30+
public String getVpcName() {
31+
return vpcName;
32+
}
33+
34+
public String getNetworkName() {
35+
return networkName;
2436
}
2537
}

plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/agent/api/DeleteNsxTier1GatewayCommand.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,16 @@
1616
// under the License.
1717
package org.apache.cloudstack.agent.api;
1818

19-
public class DeleteNsxTier1GatewayCommand extends CreateNsxTier1GatewayCommand {
19+
public class DeleteNsxTier1GatewayCommand extends NsxCommand {
2020

21-
public DeleteNsxTier1GatewayCommand(String zoneName, Long zoneId, String accountName, Long accountId, String vpcName) {
22-
super(zoneName, zoneId, accountName, accountId, vpcName);
21+
private String vpcName;
22+
23+
public DeleteNsxTier1GatewayCommand(String domainName, String accountName, String zoneName, String vpcName) {
24+
super(domainName, accountName, zoneName);
25+
this.vpcName = vpcName;
26+
}
27+
28+
public String getVpcName() {
29+
return vpcName;
2330
}
2431
}

plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/agent/api/NsxCommand.java

Lines changed: 7 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -22,48 +22,27 @@
2222

2323
public class NsxCommand extends Command {
2424
private String zoneName;
25-
private Long zoneId;
2625
private String accountName;
27-
private Long accountId;
26+
private String domainName;
2827

29-
public NsxCommand(String zoneName, Long zoneId, String accountName, Long accountId) {
28+
public NsxCommand(String domainName, String accountName, String zoneName) {
3029
this.zoneName = zoneName;
31-
this.zoneId = zoneId;
3230
this.accountName = accountName;
33-
this.accountId = accountId;
31+
this.domainName = domainName;
3432
}
3533

3634
public String getZoneName() {
3735
return zoneName;
3836
}
3937

40-
public void setZoneName(String zoneName) {
41-
this.zoneName = zoneName;
42-
}
43-
44-
public Long getZoneId() {
45-
return zoneId;
46-
}
47-
48-
public void setZoneId(Long zoneId) {
49-
this.zoneId = zoneId;
50-
}
51-
5238
public String getAccountName() {
5339
return accountName;
5440
}
5541

56-
public void setAccountName(String accountName) {
57-
this.accountName = accountName;
42+
public String getDomainName() {
43+
return domainName;
5844
}
5945

60-
public Long getAccountId() {
61-
return accountId;
62-
}
63-
64-
public void setAccountId(Long accountId) {
65-
this.accountId = accountId;
66-
}
6746
@Override
6847
public boolean executeInSequence() {
6948
return false;
@@ -75,11 +54,11 @@ public boolean equals(Object o) {
7554
if (o == null || getClass() != o.getClass()) return false;
7655
if (!super.equals(o)) return false;
7756
NsxCommand that = (NsxCommand) o;
78-
return Objects.equals(zoneName, that.zoneName) && Objects.equals(zoneId, that.zoneId) && Objects.equals(accountName, that.accountName) && Objects.equals(accountId, that.accountId);
57+
return Objects.equals(zoneName, that.zoneName) && Objects.equals(accountName, that.accountName) && Objects.equals(domainName, that.domainName);
7958
}
8059

8160
@Override
8261
public int hashCode() {
83-
return Objects.hash(super.hashCode(), zoneName, zoneId, accountName, accountId);
62+
return Objects.hash(super.hashCode(), zoneName, accountName, domainName);
8463
}
8564
}

0 commit comments

Comments
 (0)