server: update validateVnfApplianceNics instead of a new method

This commit is contained in:
Wei Zhou 2026-01-22 12:43:19 +01:00
parent 74e3b555c9
commit fb012c8f64
No known key found for this signature in database
GPG Key ID: 1503DFE7C8226103
2 changed files with 10 additions and 11 deletions

View File

@ -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");
}

View File

@ -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");
}