* ================================================================================
* Modifications Copyright (c) 2020 Tech Mahindra
* ================================================================================
+ * Modifications Copyright (c) 2021 Orange
+ * ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
import org.onap.so.db.catalog.beans.CvnfcCustomization;
import org.onap.so.db.catalog.beans.VfModuleCustomization;
import org.onap.so.db.catalog.client.CatalogDbClient;
+import org.onap.so.serviceinstancebeans.ModelInfo;
import org.onap.so.serviceinstancebeans.Networks;
import org.onap.so.serviceinstancebeans.Pnfs;
import org.onap.so.serviceinstancebeans.Service;
private List<Resource> getResourceList(DelegateExecution execution, String serviceModelVersionId,
String requestAction, Service validate) {
List<Resource> resourceList = new ArrayList<>();
- resourceList.add(new Resource(WorkflowType.SERVICE, validate.getModelInfo().getModelVersionId(), false));
+ Resource serviceResource =
+ new Resource(WorkflowType.SERVICE, validate.getModelInfo().getModelVersionId(), false, null);
+ ModelInfo modelInfo = validate.getModelInfo();
+ if (modelInfo != null) {
+ serviceResource.setModelVersionId(modelInfo.getModelVersionId());
+ serviceResource.setModelInvariantId(modelInfo.getModelInvariantUuid());
+ }
+ resourceList.add(serviceResource);
+ if (validate.getResources().getServices() != null) {
+ setResourceListForChildServices(execution, resourceList, serviceResource, validate);
+ }
if (validate.getResources().getVnfs() != null) {
- setResourceListForVnfs(execution, resourceList, validate);
+ setResourceListForVnfs(execution, resourceList, serviceResource, validate);
}
if (validate.getResources().getPnfs() != null) {
- setResourceListForPnfs(resourceList, validate);
+ setResourceListForPnfs(resourceList, serviceResource, validate);
}
if (validate.getResources().getNetworks() != null) {
- setResourceListForNetworks(execution, serviceModelVersionId, requestAction, resourceList, validate);
+ setResourceListForNetworks(execution, serviceModelVersionId, requestAction, resourceList, serviceResource,
+ validate);
}
return resourceList;
}
- private void setResourceListForVnfs(DelegateExecution execution, List<Resource> resourceList, Service validate) {
+ private void setResourceListForChildServices(DelegateExecution execution, List<Resource> resourceList,
+ Resource serviceResource, Service validate) {
+ for (Service childService : validate.getResources().getServices()) {
+ Resource childServiceResource = new Resource(WorkflowType.SERVICE,
+ childService.getModelInfo().getModelVersionId(), false, serviceResource);
+ childServiceResource.setProcessingPriority(childService.getProcessingPriority());
+ childServiceResource.setInstanceName(childService.getInstanceName());
+ resourceList.add(childServiceResource);
+ }
+ }
+
+ private void setResourceListForVnfs(DelegateExecution execution, List<Resource> resourceList,
+ Resource serviceResource, Service validate) {
for (Vnfs vnf : validate.getResources().getVnfs()) {
setVnfCustomizationUUID(vnf);
- resourceList.add(new Resource(WorkflowType.VNF, vnf.getModelInfo().getModelCustomizationId(), false));
- setResourceListForVfModules(execution, resourceList, validate, vnf);
+ Resource vnfResource = new Resource(WorkflowType.VNF, vnf.getModelInfo().getModelCustomizationId(), false,
+ serviceResource);
+ vnfResource.setProcessingPriority(vnf.getProcessingPriority());
+ vnfResource.setInstanceName(vnf.getInstanceName());
+ ModelInfo modelInfo = vnf.getModelInfo();
+ if (modelInfo != null) {
+ vnfResource.setModelCustomizationId(modelInfo.getModelCustomizationUuid());
+ vnfResource.setModelVersionId(modelInfo.getModelVersionId());
+ }
+ resourceList.add(vnfResource);
+ setResourceListForVfModules(execution, resourceList, vnfResource, validate, vnf);
}
}
- private void setResourceListForVfModules(DelegateExecution execution, List<Resource> resourceList, Service validate,
- Vnfs vnf) {
+ private void setResourceListForVfModules(DelegateExecution execution, List<Resource> resourceList,
+ Resource vnfResource, Service validate, Vnfs vnf) {
if (vnf.getVfModules() != null) {
for (VfModules vfModule : vnf.getVfModules()) {
setVfModuleCustomizationUUID(vfModule);
VfModuleCustomization vfModuleCustomization =
catalogDbClient.getVfModuleCustomizationByModelCuztomizationUUID(vfModuleCustomizationUUID);
if (vfModuleCustomization != null && vfModuleCustomization.getVfModule() != null) {
- setVolumeGroupWorkFlowTypeToResourceList(resourceList, vfModuleCustomization);
- setVfModuleAndConfigurationWorkFlowTypeToResourceList(resourceList, validate, vnf, vfModule,
- vfModuleCustomization);
+ setVolumeGroupWorkFlowTypeToResourceList(resourceList, vnfResource, vfModuleCustomization);
+ setVfModuleAndConfigurationWorkFlowTypeToResourceList(resourceList, vnfResource, validate, vnf,
+ vfModule, vfModuleCustomization);
if (!foundVfModuleOrVG) {
buildAndThrowException(execution,
"Could not determine if vfModule was a vfModule or volume group. Heat template and Heat env are null");
}
}
- private void setVolumeGroupWorkFlowTypeToResourceList(List<Resource> resourceList,
+ private void setVolumeGroupWorkFlowTypeToResourceList(List<Resource> resourceList, Resource vnfResource,
VfModuleCustomization vfModuleCustomization) {
if (vfModuleCustomization.getVfModule().getVolumeHeatTemplate() != null
&& vfModuleCustomization.getVolumeHeatEnv() != null) {
foundVfModuleOrVG = true;
- resourceList.add(
- new Resource(WorkflowType.VOLUMEGROUP, vfModuleCustomization.getModelCustomizationUUID(), false));
+ resourceList.add(new Resource(WorkflowType.VOLUMEGROUP, vfModuleCustomization.getModelCustomizationUUID(),
+ false, vnfResource));
}
}
- private void setVfModuleAndConfigurationWorkFlowTypeToResourceList(List<Resource> resourceList, Service validate,
- Vnfs vnf, VfModules vfModule, VfModuleCustomization vfModuleCustomization) {
+ private void setVfModuleAndConfigurationWorkFlowTypeToResourceList(List<Resource> resourceList,
+ Resource vnfResource, Service validate, Vnfs vnf, VfModules vfModule,
+ VfModuleCustomization vfModuleCustomization) {
if ((vfModuleCustomization.getVfModule().getModuleHeatTemplate() != null
&& vfModuleCustomization.getHeatEnvironment() != null)
|| (vfModuleCustomization.getVfModule().getModelName() != null
&& vfModuleCustomization.getVfModule().getModelName().contains("helm"))) {
foundVfModuleOrVG = true;
- Resource resource = setVfModuleWorkFlowTypeToResourceList(resourceList, vfModuleCustomization);
- setConfigurationWorkFlowTypeToResourceList(resourceList, validate, vnf, vfModule, resource);
+ Resource resource =
+ setVfModuleWorkFlowTypeToResourceList(resourceList, vnfResource, vfModuleCustomization, vfModule);
+ if (vnf.getModelInfo() != null) {
+ resource.setModelVersionId(vnf.getModelInfo().getModelVersionId());
+ }
+ resource.setVfModuleCustomizationId(vfModuleCustomization.getModelCustomizationUUID());
+ resource.setModelCustomizationId(vfModuleCustomization.getModelCustomizationUUID());
+ setConfigurationWorkFlowTypeToResourceList(resourceList, vnfResource, validate, vnf, vfModule, resource);
}
}
- private Resource setVfModuleWorkFlowTypeToResourceList(List<Resource> resourceList,
- VfModuleCustomization vfModuleCustomization) {
- Resource resource =
- new Resource(WorkflowType.VFMODULE, vfModuleCustomization.getModelCustomizationUUID(), false);
+ private Resource setVfModuleWorkFlowTypeToResourceList(List<Resource> resourceList, Resource vnfResource,
+ VfModuleCustomization vfModuleCustomization, VfModules vfModule) {
+ Resource resource = new Resource(WorkflowType.VFMODULE, vfModuleCustomization.getModelCustomizationUUID(),
+ false, vnfResource);
+ resource.setProcessingPriority(vfModule.getProcessingPriority());
resource.setBaseVfModule(vfModuleCustomization.getVfModule().getIsBase() != null
&& vfModuleCustomization.getVfModule().getIsBase());
+ resource.setInstanceName(vfModule.getInstanceName());
resourceList.add(resource);
return resource;
}
- private void setConfigurationWorkFlowTypeToResourceList(List<Resource> resourceList, Service validate, Vnfs vnf,
- VfModules vfModule, Resource resource) {
+ private void setConfigurationWorkFlowTypeToResourceList(List<Resource> resourceList, Resource vnfResource,
+ Service validate, Vnfs vnf, VfModules vfModule, Resource resource) {
if (!vnfCustomizationUUID.isEmpty() && !vfModuleCustomizationUUID.isEmpty()) {
List<CvnfcConfigurationCustomization> configs =
traverseCatalogDbForConfiguration(validate.getModelInfo().getModelVersionId());
for (CvnfcConfigurationCustomization config : configs) {
Resource configResource = new Resource(WorkflowType.CONFIGURATION,
- config.getConfigurationResource().getModelUUID(), false);
+ config.getConfigurationResource().getModelUUID(), false, vnfResource);
resource.setVnfCustomizationId(vnf.getModelInfo().getModelCustomizationId());
resource.setVfModuleCustomizationId(vfModule.getModelInfo().getModelCustomizationId());
resourceList.add(configResource);
}
}
- private void setResourceListForPnfs(List<Resource> resourceList, Service validate) {
+ private void setResourceListForPnfs(List<Resource> resourceList, Resource serviceResource, Service validate) {
for (Pnfs pnf : validate.getResources().getPnfs()) {
- resourceList.add(new Resource(WorkflowType.PNF, pnf.getModelInfo().getModelCustomizationId(), false));
+ Resource pnfResource = new Resource(WorkflowType.PNF, pnf.getModelInfo().getModelCustomizationId(), false,
+ serviceResource);
+ ModelInfo modelInfo = pnf.getModelInfo();
+ if (modelInfo != null) {
+ pnfResource.setModelCustomizationId(modelInfo.getModelCustomizationUuid());
+ pnfResource.setModelVersionId(modelInfo.getModelVersionId());
+ }
+ pnfResource.setInstanceName(pnf.getInstanceName());
+ pnfResource.setProcessingPriority(pnf.getProcessingPriority());
+ resourceList.add(pnfResource);
}
}
private void setResourceListForNetworks(DelegateExecution execution, String serviceModelVersionId,
- String requestAction, List<Resource> resourceList, Service validate) {
+ String requestAction, List<Resource> resourceList, Resource serviceResource, Service validate) {
for (Networks network : validate.getResources().getNetworks()) {
- resourceList
- .add(new Resource(WorkflowType.NETWORK, network.getModelInfo().getModelCustomizationId(), false));
+ Resource networkResource = new Resource(WorkflowType.NETWORK,
+ network.getModelInfo().getModelCustomizationId(), false, serviceResource);
+ networkResource.setProcessingPriority(network.getProcessingPriority());
+ ModelInfo modelInfo = network.getModelInfo();
+ if (modelInfo != null) {
+ networkResource.setModelCustomizationId(modelInfo.getModelCustomizationUuid());
+ networkResource.setModelVersionId(modelInfo.getModelVersionId());
+ }
+ resourceList.add(networkResource);
}
if (requestAction.equals(CREATE_INSTANCE)) {
String networkColCustId = queryCatalogDbForNetworkCollection(execution, serviceModelVersionId);
if (networkColCustId != null) {
- resourceList.add(new Resource(WorkflowType.NETWORKCOLLECTION, networkColCustId, false));
+ resourceList
+ .add(new Resource(WorkflowType.NETWORKCOLLECTION, networkColCustId, false, serviceResource));
}
}
}