mirror of https://github.com/apache/cloudstack.git
server: update validateVnfApplianceNics instead of a new method
This commit is contained in:
parent
74e3b555c9
commit
fb012c8f64
|
|
@ -6127,11 +6127,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
|
|||
throw new InvalidParameterValueException("Unable to use template " + templateId);
|
||||
}
|
||||
if (TemplateType.VNF.equals(template.getTemplateType())) {
|
||||
if (template.isDeployAsIs()) {
|
||||
vnfTemplateManager.validateVnfApplianceNetworksMap(template, cmd.getVmNetworkMap());
|
||||
} else {
|
||||
vnfTemplateManager.validateVnfApplianceNics(template, cmd.getNetworkIds());
|
||||
}
|
||||
vnfTemplateManager.validateVnfApplianceNics(template, cmd.getNetworkIds(), cmd.getVmNetworkMap());
|
||||
} else if (cmd instanceof DeployVnfApplianceCmd) {
|
||||
throw new InvalidParameterValueException("Can't deploy VNF appliance from a non-VNF template");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -201,13 +201,17 @@ public class VnfTemplateManagerImpl extends ManagerBase implements VnfTemplateMa
|
|||
}
|
||||
|
||||
@Override
|
||||
public void validateVnfApplianceNics(VirtualMachineTemplate template, List<Long> networkIds) {
|
||||
public void validateVnfApplianceNics(VirtualMachineTemplate template, List<Long> networkIds, Map<Integer, Long> vmNetworkMap) {
|
||||
if (template.isDeployAsIs()) {
|
||||
if (CollectionUtils.isNotEmpty(networkIds)) {
|
||||
throw new InvalidParameterValueException("VNF nics mappings should be empty for deploy-as-is templates");
|
||||
}
|
||||
validateVnfApplianceNetworksMap(template, vmNetworkMap);
|
||||
return;
|
||||
}
|
||||
if (CollectionUtils.isEmpty(networkIds)) {
|
||||
throw new InvalidParameterValueException("VNF nics list is empty");
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(networkIds) && template.isDeployAsIs()) {
|
||||
throw new InvalidParameterValueException("VNF nics list should be empty for deploy-as-is templates");
|
||||
}
|
||||
List<VnfTemplateNicVO> vnfNics = vnfTemplateNicDao.listByTemplateId(template.getId());
|
||||
for (VnfTemplateNicVO vnfNic : vnfNics) {
|
||||
if (vnfNic.isRequired() && networkIds.size() <= vnfNic.getDeviceId()) {
|
||||
|
|
@ -216,8 +220,7 @@ public class VnfTemplateManagerImpl extends ManagerBase implements VnfTemplateMa
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void validateVnfApplianceNetworksMap(VirtualMachineTemplate template, Map<Integer, Long> vmNetworkMap) {
|
||||
private void validateVnfApplianceNetworksMap(VirtualMachineTemplate template, Map<Integer, Long> vmNetworkMap) {
|
||||
if (MapUtils.isEmpty(vmNetworkMap)) {
|
||||
throw new InvalidParameterValueException("VNF networks map is empty");
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue