Skip to content

Commit fb012c8

Browse files
committed
server: update validateVnfApplianceNics instead of a new method
1 parent 74e3b55 commit fb012c8

File tree

2 files changed

+10
-11
lines changed

2 files changed

+10
-11
lines changed

server/src/main/java/com/cloud/vm/UserVmManagerImpl.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6127,11 +6127,7 @@ public UserVm createVirtualMachine(DeployVMCmd cmd) throws InsufficientCapacityE
61276127
throw new InvalidParameterValueException("Unable to use template " + templateId);
61286128
}
61296129
if (TemplateType.VNF.equals(template.getTemplateType())) {
6130-
if (template.isDeployAsIs()) {
6131-
vnfTemplateManager.validateVnfApplianceNetworksMap(template, cmd.getVmNetworkMap());
6132-
} else {
6133-
vnfTemplateManager.validateVnfApplianceNics(template, cmd.getNetworkIds());
6134-
}
6130+
vnfTemplateManager.validateVnfApplianceNics(template, cmd.getNetworkIds(), cmd.getVmNetworkMap());
61356131
} else if (cmd instanceof DeployVnfApplianceCmd) {
61366132
throw new InvalidParameterValueException("Can't deploy VNF appliance from a non-VNF template");
61376133
}

server/src/main/java/org/apache/cloudstack/storage/template/VnfTemplateManagerImpl.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -201,13 +201,17 @@ public ConfigKey<?>[] getConfigKeys() {
201201
}
202202

203203
@Override
204-
public void validateVnfApplianceNics(VirtualMachineTemplate template, List<Long> networkIds) {
204+
public void validateVnfApplianceNics(VirtualMachineTemplate template, List<Long> networkIds, Map<Integer, Long> vmNetworkMap) {
205+
if (template.isDeployAsIs()) {
206+
if (CollectionUtils.isNotEmpty(networkIds)) {
207+
throw new InvalidParameterValueException("VNF nics mappings should be empty for deploy-as-is templates");
208+
}
209+
validateVnfApplianceNetworksMap(template, vmNetworkMap);
210+
return;
211+
}
205212
if (CollectionUtils.isEmpty(networkIds)) {
206213
throw new InvalidParameterValueException("VNF nics list is empty");
207214
}
208-
if (CollectionUtils.isNotEmpty(networkIds) && template.isDeployAsIs()) {
209-
throw new InvalidParameterValueException("VNF nics list should be empty for deploy-as-is templates");
210-
}
211215
List<VnfTemplateNicVO> vnfNics = vnfTemplateNicDao.listByTemplateId(template.getId());
212216
for (VnfTemplateNicVO vnfNic : vnfNics) {
213217
if (vnfNic.isRequired() && networkIds.size() <= vnfNic.getDeviceId()) {
@@ -216,8 +220,7 @@ public void validateVnfApplianceNics(VirtualMachineTemplate template, List<Long>
216220
}
217221
}
218222

219-
@Override
220-
public void validateVnfApplianceNetworksMap(VirtualMachineTemplate template, Map<Integer, Long> vmNetworkMap) {
223+
private void validateVnfApplianceNetworksMap(VirtualMachineTemplate template, Map<Integer, Long> vmNetworkMap) {
221224
if (MapUtils.isEmpty(vmNetworkMap)) {
222225
throw new InvalidParameterValueException("VNF networks map is empty");
223226
}

0 commit comments

Comments
 (0)