aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/R__MacroData.sql25
-rw-r--r--bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetup.java2
-rw-r--r--bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/ControllerExecutionBB.bpmn2
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/ControllerExecution.java61
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java3
-rw-r--r--docs/api/swagger/swagger.json409
-rw-r--r--docs/api/swagger/swagger.yaml284
-rw-r--r--docs/developer_info/Building_SO.rst2
-rw-r--r--docs/developer_info/FAQs.rst2
-rw-r--r--docs/release-notes.rst2
-rw-r--r--pom.xml47
11 files changed, 763 insertions, 76 deletions
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/R__MacroData.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/R__MacroData.sql
index 91a0dbd1f0..ea371f54f7 100644
--- a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/R__MacroData.sql
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/R__MacroData.sql
@@ -68,17 +68,17 @@ INSERT INTO orchestration_flow_reference(COMPOSITE_ACTION, SEQ_NO, FLOW_NAME, FL
('Service-Macro-Create', '7', 'ConfigAssignVnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'DEFAULT')),
('Service-Macro-Create', '8', 'AssignPnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'DEFAULT')),
('Service-Macro-Create', '9', 'WaitForPnfReadyBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'DEFAULT')),
-('Service-Macro-Create', '10', 'ActivatePnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'DEFAULT')),
-('Service-Macro-Create', '11', 'CreateNetworkBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'DEFAULT')),
-('Service-Macro-Create', '12', 'ActivateNetworkBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'DEFAULT')),
-('Service-Macro-Create', '13', 'CreateVolumeGroupBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'DEFAULT')),
-('Service-Macro-Create', '14', 'ActivateVolumeGroupBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'DEFAULT')),
-('Service-Macro-Create', '15', 'CreateVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'DEFAULT')),
-('Service-Macro-Create', '16', 'ActivateVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'DEFAULT')),
-('Service-Macro-Create', '17', 'ConfigDeployVnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'DEFAULT')),
-('Service-Macro-Create', '18', 'ActivateVnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'DEFAULT')),
-('Service-Macro-Create', '19', 'ActivateNetworkCollectionBB',1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'DEFAULT')),
-('Service-Macro-Create', '20', 'ActivateServiceInstanceBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'DEFAULT')),
+('Service-Macro-Create', '11', 'ActivatePnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'DEFAULT')),
+('Service-Macro-Create', '12', 'CreateNetworkBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'DEFAULT')),
+('Service-Macro-Create', '13', 'ActivateNetworkBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'DEFAULT')),
+('Service-Macro-Create', '14', 'CreateVolumeGroupBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'DEFAULT')),
+('Service-Macro-Create', '15', 'ActivateVolumeGroupBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'DEFAULT')),
+('Service-Macro-Create', '16', 'CreateVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'DEFAULT')),
+('Service-Macro-Create', '17', 'ActivateVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'DEFAULT')),
+('Service-Macro-Create', '18', 'ConfigDeployVnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'DEFAULT')),
+('Service-Macro-Create', '19', 'ActivateVnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'DEFAULT')),
+('Service-Macro-Create', '20', 'ActivateNetworkCollectionBB',1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'DEFAULT')),
+('Service-Macro-Create', '21', 'ActivateServiceInstanceBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'DEFAULT')),
('Service-Macro-Delete', '1', 'DeactivateVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Delete' and CLOUD_OWNER = 'DEFAULT')),
('Service-Macro-Delete', '2', 'DeleteVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Delete' and CLOUD_OWNER = 'DEFAULT')),
('Service-Macro-Delete', '3', 'DeactivateVolumeGroupBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Delete' and CLOUD_OWNER = 'DEFAULT')),
@@ -211,6 +211,9 @@ INSERT INTO orchestration_flow_reference(COMPOSITE_ACTION, SEQ_NO, FLOW_NAME, FL
('VNF-Config-Update', '8', 'VNFUnsetInMaintFlagActivity', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'VNF-Config-Update' and CLOUD_OWNER = 'DEFAULT')),
('VNF-Config-Update', '9', 'VNFUnsetClosedLoopDisabledFlagActivity', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'VNF-Config-Update' and CLOUD_OWNER = 'DEFAULT'));
+INSERT INTO orchestration_flow_reference(COMPOSITE_ACTION, SEQ_NO, FLOW_NAME, FLOW_VERSION, NB_REQ_REF_LOOKUP_ID, SCOPE, ACTION) VALUES
+('Service-Macro-Create', '10', 'ControllerExecutionBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'DEFAULT'), 'pnf', 'config-assign');
+
INSERT INTO rainy_day_handler_macro (FLOW_NAME, SERVICE_TYPE, VNF_TYPE, ERROR_CODE, WORK_STEP, POLICY)
VALUES
('ActivateNetworkBB', '*', '*', '*', '*' , 'Rollback'),
diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetup.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetup.java
index e65e1a8471..e237462a1d 100644
--- a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetup.java
+++ b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetup.java
@@ -1552,7 +1552,7 @@ public class BBInputSetup implements JavaDelegate {
}
parameter.setApplicationId(applicationId);
this.populateGenericVnf(parameter);
- } else if (bbName.contains(PNF)) {
+ } else if (bbName.contains(PNF) || bbName.equals("ControllerExecutionBB")) {
String pnfId = lookupKeyMap.get(ResourceKey.PNF);
resources.getPnfs().stream()
.filter(pnfs -> Objects.equals(key, pnfs.getModelInfo().getModelCustomizationId())).findFirst()
diff --git a/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/ControllerExecutionBB.bpmn b/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/ControllerExecutionBB.bpmn
index 1e67ea33ec..1229c86d64 100644
--- a/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/ControllerExecutionBB.bpmn
+++ b/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/ControllerExecutionBB.bpmn
@@ -218,4 +218,4 @@
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
-</bpmn:definitions> \ No newline at end of file
+</bpmn:definitions>
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/ControllerExecution.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/ControllerExecution.java
index 754c377914..c56ab3e71d 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/ControllerExecution.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/ControllerExecution.java
@@ -23,18 +23,24 @@ package org.onap.so.bpmn.infrastructure.flowspecific.tasks;
import java.util.Optional;
import org.onap.so.bpmn.common.BuildingBlockExecution;
import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
+import org.onap.so.bpmn.servicedecomposition.bbobjects.Pnf;
import org.onap.so.bpmn.servicedecomposition.entities.BuildingBlock;
import org.onap.so.bpmn.servicedecomposition.entities.ExecuteBuildingBlock;
import org.onap.so.bpmn.servicedecomposition.entities.ResourceKey;
import org.onap.so.bpmn.servicedecomposition.tasks.ExtractPojosForBB;
+import org.onap.so.client.exception.BBObjectNotFoundException;
import org.onap.so.client.exception.ExceptionBuilder;
import org.onap.so.db.catalog.beans.BBNameSelectionReference;
+import org.onap.so.db.catalog.beans.PnfResourceCustomization;
import org.onap.so.db.catalog.beans.VnfResourceCustomization;
import org.onap.so.db.catalog.client.CatalogDbClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
+import static org.onap.so.client.cds.PayloadConstants.PRC_BLUEPRINT_NAME;
+import static org.onap.so.client.cds.PayloadConstants.PRC_BLUEPRINT_VERSION;
+
@Component
public class ControllerExecution {
@@ -44,6 +50,8 @@ public class ControllerExecution {
private static final String SCOPE = "scope";
private static final String ACTION = "action";
private static final String BBNAME = "bbName";
+ private static final String MSO_REQUEST_ID = "msoRequestId";
+
@Autowired
private ExceptionBuilder exceptionUtil;
@Autowired
@@ -57,26 +65,43 @@ public class ControllerExecution {
* @param execution - BuildingBlockExecution object
*/
public void setControllerActorScopeAction(BuildingBlockExecution execution) {
+
+ ExecuteBuildingBlock executeBuildingBlock = execution.getVariable(BUILDING_BLOCK);
+ BuildingBlock buildingBlock = executeBuildingBlock.getBuildingBlock();
+
+ String scope = Optional.ofNullable(buildingBlock.getBpmnScope()).orElseThrow(
+ () -> new NullPointerException("BPMN Scope is NULL in the orchestration_flow_reference table "));
+ String action = Optional.ofNullable(buildingBlock.getBpmnAction()).orElseThrow(
+ () -> new NullPointerException("BPMN Action is NULL in the orchestration_flow_reference table "));
+ String controllerActor;
+
try {
- GenericVnf genericVnf = extractPojosForBB.extractByKey(execution, ResourceKey.GENERIC_VNF_ID);
- String modelUuid = genericVnf.getModelInfoGenericVnf().getModelCustomizationUuid();
- VnfResourceCustomization vnfResourceCustomization =
- catalogDbClient.getVnfResourceCustomizationByModelCustomizationUUID(modelUuid);
-
- // Fetching Controller Actor at VNF level if null then Controller Actor is set as "APPC"
- String controllerActor = Optional.ofNullable(vnfResourceCustomization.getControllerActor()).orElse("APPC");
- ExecuteBuildingBlock executeBuildingBlock = execution.getVariable(BUILDING_BLOCK);
- BuildingBlock buildingBlock = executeBuildingBlock.getBuildingBlock();
- String scope = Optional.ofNullable(buildingBlock.getBpmnScope()).orElseThrow(
- () -> new NullPointerException("BPMN Scope is NULL in the orchestration_flow_reference table "));
- String action = Optional.ofNullable(buildingBlock.getBpmnAction()).orElseThrow(
- () -> new NullPointerException("BPMN Action is NULL in the orchestration_flow_reference table "));
+ if (String.valueOf(scope).equals("pnf")) {
+ Pnf pnf = getPnf(execution);
+ String pnfModelUUID = pnf.getModelInfoPnf().getModelCustomizationUuid();
+ PnfResourceCustomization pnfResourceCustomization =
+ catalogDbClient.getPnfResourceCustomizationByModelCustomizationUUID(pnfModelUUID);
+
+ controllerActor = Optional.ofNullable(pnfResourceCustomization.getControllerActor()).orElse("APPC");
+ execution.setVariable(MSO_REQUEST_ID,
+ execution.getGeneralBuildingBlock().getRequestContext().getMsoRequestId());
+ execution.setVariable(PRC_BLUEPRINT_VERSION, pnfResourceCustomization.getBlueprintVersion());
+ execution.setVariable(PRC_BLUEPRINT_NAME, pnfResourceCustomization.getBlueprintName());
+ } else {
+ GenericVnf genericVnf = getGenericVnf(execution);
+ String modelUuid = genericVnf.getModelInfoGenericVnf().getModelCustomizationUuid();
+ VnfResourceCustomization vnfResourceCustomization =
+ catalogDbClient.getVnfResourceCustomizationByModelCustomizationUUID(modelUuid);
+
+ controllerActor = Optional.ofNullable(vnfResourceCustomization.getControllerActor()).orElse("APPC");
+ }
+
execution.setVariable(SCOPE, scope);
execution.setVariable(ACTION, action);
execution.setVariable(CONTROLLER_ACTOR, controllerActor);
+
logger.debug("Executing Controller Execution for ControllerActor: {}, Scope: {} , Action: {}",
controllerActor, scope, action);
-
} catch (Exception ex) {
logger.error("An exception occurred while fetching Controller Actor,Scope and Action ", ex);
exceptionUtil.buildAndThrowWorkflowException(execution, 7000, ex);
@@ -106,4 +131,12 @@ public class ControllerExecution {
}
}
+
+ private Pnf getPnf(BuildingBlockExecution buildingBlockExecution) throws BBObjectNotFoundException {
+ return extractPojosForBB.extractByKey(buildingBlockExecution, ResourceKey.PNF);
+ }
+
+ private GenericVnf getGenericVnf(BuildingBlockExecution buildingBlockExecution) throws BBObjectNotFoundException {
+ return extractPojosForBB.extractByKey(buildingBlockExecution, ResourceKey.GENERIC_VNF_ID);
+ }
}
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java
index 9781f78789..44a99b88c5 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java
@@ -1446,7 +1446,8 @@ public class WorkflowAction {
addBuildingBlockToExecuteBBList(flowsToExecute, resourceList, WorkflowType.VNF, orchFlow, requestId,
apiVersion, resourceId, requestAction, vnfType, workflowResourceIds, requestDetails, false,
false);
- } else if (orchFlow.getFlowName().contains(PNF)) {
+ } else if (orchFlow.getFlowName().contains(PNF) || (orchFlow.getFlowName().contains(CONTROLLER)
+ && (PNF).equalsIgnoreCase(orchFlow.getBpmnScope()))) {
addBuildingBlockToExecuteBBList(flowsToExecute, resourceList, WorkflowType.PNF, orchFlow, requestId,
apiVersion, resourceId, requestAction, vnfType, workflowResourceIds, requestDetails, false,
false);
diff --git a/docs/api/swagger/swagger.json b/docs/api/swagger/swagger.json
index 6ba8380a5f..5051ba19e9 100644
--- a/docs/api/swagger/swagger.json
+++ b/docs/api/swagger/swagger.json
@@ -2,13 +2,16 @@
"swagger": "2.0",
"info": {
"version": "3.1.2",
- "title": "SO Casablanca APIs"
+ "title": "SO Guilin APIs"
},
"tags": [
{
"name": "e2eServiceInstances"
},
{
+ "name": "3gppservices"
+ },
+ {
"name": "globalhealthcheck"
},
{
@@ -288,6 +291,252 @@
}
}
},
+ "/onap/so/infra/3gppservices/{version}/allocate": {
+ "post": {
+ "tags": [
+ "3gppservices"
+ ],
+ "summary": "Create a 3GPP Service Instance on a version provided",
+ "description": "",
+ "operationId": "allocate3gppService",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Allocate3gppService"
+ }
+ },
+ {
+ "name": "version",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "[vV][1]"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/3gppServiceResponse"
+ }
+ }
+ }
+ }
+ },
+ "/onap/so/infra/3gppservices/{version}/deAllocate": {
+ "delete": {
+ "tags": [
+ "3gppservices"
+ ],
+ "summary": "Terminate/Deallocate a 3GPP Service Instance on a version provided",
+ "description": "",
+ "operationId": "deallocate3gppService",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DeAllocate3gppService"
+ }
+ },
+ {
+ "name": "version",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "[vV][1]"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/3gppServiceResponse"
+ }
+ }
+ }
+ }
+ },
+ "/onap/so/infra/3gppservices/{version}/modify": {
+ "put": {
+ "tags": [
+ "3gppservices"
+ ],
+ "summary": "Modify a 3GPP Service Instance on a version provided",
+ "description": "",
+ "operationId": "modify3gppService",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Modify3gppService"
+ }
+ },
+ {
+ "name": "version",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "[vV][1]"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/3gppServiceResponse"
+ }
+ }
+ }
+ }
+ },
+ "/onap/so/infra/3gppservices/{version}/activate": {
+ "post": {
+ "tags": [
+ "3gppservices"
+ ],
+ "summary": "Activate a 3GPP Service Instance on a version provided",
+ "description": "",
+ "operationId": "activate3gppService",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/3gppServiceActivation"
+ }
+ },
+ {
+ "name": "version",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "[vV][1]"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/3gppServiceResponse"
+ }
+ }
+ }
+ }
+ },
+ "/onap/so/infra/3gppservices/{version}/deActivate": {
+ "post": {
+ "tags": [
+ "3gppservices"
+ ],
+ "summary": "Deactivate a 3GPP Service Instance on a version provided",
+ "description": "",
+ "operationId": "deactivate3gppService",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/3gppServiceActivation"
+ }
+ },
+ {
+ "name": "version",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "[vV][1]"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/3gppServiceResponse"
+ }
+ }
+ }
+ }
+ },
+ "/onap/so/infra/3gppservices/{version}/subnetCapabilityQuery": {
+ "get": {
+ "tags": [
+ "3gppservices"
+ ],
+ "summary": "Provides subnet capability based on subnet types",
+ "description": "",
+ "operationId": "querySubnetCapability",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/QuerySubnetCapability"
+ }
+ },
+ {
+ "name": "version",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "[vV][1]"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "successful operation with capabilities for the queried subnetTypes",
+ "schema": {
+ "type": "object"
+ }
+ }
+ }
+ }
+ },
"/globalhealthcheck": {
"get": {
"tags": [
@@ -2298,5 +2547,161 @@
}
}
}
+ },
+ "definitions": {
+ "Allocate3gppService": {
+ "description": "This describes the request body for 3gpp service allocation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the service to allocate",
+ "type": "string"
+ },
+ "modelInvariantUuid": {
+ "description": "Model Invariant UUID corresponding to the service. For E.g : NSST Model invariant uuid in case of NSSI creation",
+ "type": "string"
+ },
+ "modelUuid": {
+ "description": "Model UUID corresponding to the service. For E.g : NSST Model uuid in case of NSSI creation",
+ "type": "string"
+ },
+ "globalSubscriberId": {
+ "type": "string"
+ },
+ "subscriptionServiceType": {
+ "description": "Service type for the subscription. For E.G :5G",
+ "type": "string"
+ },
+ "networkType": {
+ "description": "Network type. For E.G :AN/CN/TN",
+ "type": "string"
+ },
+ "additionalProperties": {
+ "description": "Map of additional properties required for service allocation",
+ "type": "object"
+ }
+ }
+ },
+ "DeAllocate3gppService": {
+ "description": "This describes the request body for 3gpp service Termination/Deallocation",
+ "type": "object",
+ "properties": {
+ "serviceInstanceID": {
+ "description": "ID of the service to terminate",
+ "type": "string"
+ },
+ "globalSubscriberId": {
+ "type": "string"
+ },
+ "subscriptionServiceType": {
+ "description": "Service type for the subscription. For E.G :5G",
+ "type": "string"
+ },
+ "networkType": {
+ "description": "Network type. For E.G :AN/CN/TN",
+ "type": "string"
+ },
+ "additionalProperties": {
+ "description": "Map of additional properties required for service deallocation",
+ "type": "object"
+ }
+ }
+ },
+ "Modify3gppService": {
+ "description": "This describes the request body for 3gpp service modification",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the service to modify",
+ "type": "string"
+ },
+ "serviceInstanceID": {
+ "description": "ID of the service to modify",
+ "type": "string"
+ },
+ "globalSubscriberId": {
+ "type": "string"
+ },
+ "subscriptionServiceType": {
+ "description": "Service type for the subscription. For E.G :5G",
+ "type": "string"
+ },
+ "networkType": {
+ "description": "Network type. For E.G :AN/CN/TN",
+ "type": "string"
+ },
+ "additionalProperties": {
+ "description": "Map of additional properties required for service modification",
+ "type": "object"
+ }
+ }
+ },
+ "3gppServiceActivation": {
+ "description": "This describes the request body for 3gpp service activation/deactivation",
+ "type": "object",
+ "properties": {
+ "serviceInstanceID": {
+ "description": "ID of the service to be activated/deactivated",
+ "type": "string"
+ },
+ "globalSubscriberId": {
+ "type": "string"
+ },
+ "subscriptionServiceType": {
+ "description": "Service type for the subscription. For E.G :5G",
+ "type": "string"
+ },
+ "networkType": {
+ "description": "Network type. For E.G :AN/CN/TN",
+ "type": "string"
+ },
+ "additionalProperties": {
+ "description": "Map of additional properties required for service activation/deactivation",
+ "type": "object"
+ }
+ }
+ },
+ "QuerySubnetCapability": {
+ "description": "This describes the subnet capabilities that can be queried",
+ "type": "object",
+ "properties": {
+ "subnetTypes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubnetTypes"
+ }
+ }
+ }
+ },
+ "SubnetTypes": {
+ "description": "This describes allowed subnet types",
+ "type": "string",
+ "enum": [
+ "AN",
+ "AN-NF",
+ "CN",
+ "TN-FH",
+ "TN-MH",
+ "TN-BH"
+ ]
+ },
+ "3gppServiceResponse": {
+ "description": "This describes the response for 3gpp services",
+ "type": "object",
+ "properties": {
+ "jobId": {
+ "description": "Job ID to be used to identify the status of the job",
+ "type": "string"
+ },
+ "status": {
+ "description": "status of the job",
+ "type": "string"
+ },
+ "statusDescription": {
+ "description": "Description on status in case of erroneous response",
+ "type": "string"
+ }
+ }
+ }
}
-} \ No newline at end of file
+}
diff --git a/docs/api/swagger/swagger.yaml b/docs/api/swagger/swagger.yaml
index 11c72b612c..049436f954 100644
--- a/docs/api/swagger/swagger.yaml
+++ b/docs/api/swagger/swagger.yaml
@@ -1,9 +1,10 @@
swagger: '2.0'
info:
version: 3.1.2
- title: SO Casablanca APIs
+ title: SO Guilin APIs
tags:
- name: e2eServiceInstances
+ - name: 3gppservices
- name: globalhealthcheck
- name: nodehealthcheck
- name: onapsoinfraorchestrationRequests
@@ -183,6 +184,168 @@ paths:
responses:
default:
description: successful operation
+ '/onap/so/infra/3gppservices/{version}/allocate':
+ post:
+ tags:
+ - 3gppservices
+ summary: Create a 3GPP Service Instance on a version provided
+ description: ''
+ operationId: allocate3gppService
+ consumes:
+ - application/json
+ produces:
+ - application/json
+ parameters:
+ - in: body
+ name: body
+ required: true
+ schema:
+ $ref: '#/definitions/Allocate3gppService'
+ - name: version
+ in: path
+ required: true
+ type: string
+ pattern: '[vV][1]'
+ responses:
+ default:
+ description: successful operation
+ schema:
+ $ref: '#/definitions/3gppServiceResponse'
+ '/onap/so/infra/3gppservices/{version}/deAllocate':
+ delete:
+ tags:
+ - 3gppservices
+ summary: Terminate/Deallocate a 3GPP Service Instance on a version provided
+ description: ''
+ operationId: deallocate3gppService
+ consumes:
+ - application/json
+ produces:
+ - application/json
+ parameters:
+ - in: body
+ name: body
+ required: true
+ schema:
+ $ref: '#/definitions/DeAllocate3gppService'
+ - name: version
+ in: path
+ required: true
+ type: string
+ pattern: '[vV][1]'
+ responses:
+ default:
+ description: successful operation
+ schema:
+ $ref: '#/definitions/3gppServiceResponse'
+ '/onap/so/infra/3gppservices/{version}/modify':
+ put:
+ tags:
+ - 3gppservices
+ summary: Modify a 3GPP Service Instance on a version provided
+ description: ''
+ operationId: modify3gppService
+ consumes:
+ - application/json
+ produces:
+ - application/json
+ parameters:
+ - in: body
+ name: body
+ required: true
+ schema:
+ $ref: '#/definitions/Modify3gppService'
+ - name: version
+ in: path
+ required: true
+ type: string
+ pattern: '[vV][1]'
+ responses:
+ default:
+ description: successful operation
+ schema:
+ $ref: '#/definitions/3gppServiceResponse'
+ '/onap/so/infra/3gppservices/{version}/activate':
+ post:
+ tags:
+ - 3gppservices
+ summary: Activate a 3GPP Service Instance on a version provided
+ description: ''
+ operationId: activate3gppService
+ consumes:
+ - application/json
+ produces:
+ - application/json
+ parameters:
+ - in: body
+ name: body
+ required: true
+ schema:
+ $ref: '#/definitions/3gppServiceActivation'
+ - name: version
+ in: path
+ required: true
+ type: string
+ pattern: '[vV][1]'
+ responses:
+ default:
+ description: successful operation
+ schema:
+ $ref: '#/definitions/3gppServiceResponse'
+ '/onap/so/infra/3gppservices/{version}/deActivate':
+ post:
+ tags:
+ - 3gppservices
+ summary: Deactivate a 3GPP Service Instance on a version provided
+ description: ''
+ operationId: deactivate3gppService
+ consumes:
+ - application/json
+ produces:
+ - application/json
+ parameters:
+ - in: body
+ name: body
+ required: true
+ schema:
+ $ref: '#/definitions/3gppServiceActivation'
+ - name: version
+ in: path
+ required: true
+ type: string
+ pattern: '[vV][1]'
+ responses:
+ default:
+ description: successful operation
+ schema:
+ $ref: '#/definitions/3gppServiceResponse'
+ '/onap/so/infra/3gppservices/{version}/subnetCapabilityQuery':
+ get:
+ tags:
+ - 3gppservices
+ summary: Provides subnet capability based on subnet types
+ description: ''
+ operationId: querySubnetCapability
+ consumes:
+ - application/json
+ produces:
+ - application/json
+ parameters:
+ - in: body
+ name: body
+ required: true
+ schema:
+ $ref: '#/definitions/QuerySubnetCapability'
+ - name: version
+ in: path
+ required: true
+ type: string
+ pattern: '[vV][1]'
+ responses:
+ default:
+ description: successful operation with capabilities for the queried subnetTypes
+ schema:
+ type: object
/globalhealthcheck:
get:
tags:
@@ -1518,3 +1681,122 @@ paths:
responses:
default:
description: successful operation
+definitions:
+ Allocate3gppService:
+ description: This describes the request body for 3gpp service allocation
+ type: object
+ properties:
+ name:
+ description: Name of the service to allocate
+ type: string
+ modelInvariantUuid:
+ description: >-
+ Model Invariant UUID corresponding to the service. For E.g : NSST
+ Model invariant uuid in case of NSSI creation
+ type: string
+ modelUuid:
+ description: >-
+ Model UUID corresponding to the service. For E.g : NSST Model uuid in
+ case of NSSI creation
+ type: string
+ globalSubscriberId:
+ type: string
+ subscriptionServiceType:
+ description: 'Service type for the subscription. For E.G :5G'
+ type: string
+ networkType:
+ description: 'Network type. For E.G :AN/CN/TN'
+ type: string
+ additionalProperties:
+ description: Map of additional properties required for service allocation
+ type: object
+ DeAllocate3gppService:
+ description: This describes the request body for 3gpp service Termination/Deallocation
+ type: object
+ properties:
+ serviceInstanceID:
+ description: ID of the service to terminate
+ type: string
+ globalSubscriberId:
+ type: string
+ subscriptionServiceType:
+ description: 'Service type for the subscription. For E.G :5G'
+ type: string
+ networkType:
+ description: 'Network type. For E.G :AN/CN/TN'
+ type: string
+ additionalProperties:
+ description: Map of additional properties required for service deallocation
+ type: object
+ Modify3gppService:
+ description: This describes the request body for 3gpp service modification
+ type: object
+ properties:
+ name:
+ description: Name of the service to modify
+ type: string
+ serviceInstanceID:
+ description: ID of the service to modify
+ type: string
+ globalSubscriberId:
+ type: string
+ subscriptionServiceType:
+ description: 'Service type for the subscription. For E.G :5G'
+ type: string
+ networkType:
+ description: 'Network type. For E.G :AN/CN/TN'
+ type: string
+ additionalProperties:
+ description: Map of additional properties required for service modification
+ type: object
+ 3gppServiceActivation:
+ description: This describes the request body for 3gpp service activation/deactivation
+ type: object
+ properties:
+ serviceInstanceID:
+ description: ID of the service to be activated/deactivated
+ type: string
+ globalSubscriberId:
+ type: string
+ subscriptionServiceType:
+ description: 'Service type for the subscription. For E.G :5G'
+ type: string
+ networkType:
+ description: 'Network type. For E.G :AN/CN/TN'
+ type: string
+ additionalProperties:
+ description: >-
+ Map of additional properties required for service
+ activation/deactivation
+ type: object
+ QuerySubnetCapability:
+ description: This describes the subnet capabilities that can be queried
+ type: object
+ properties:
+ subnetTypes:
+ type: array
+ items:
+ $ref: '#/definitions/SubnetTypes'
+ SubnetTypes:
+ description: This describes allowed subnet types
+ type: string
+ enum:
+ - AN
+ - AN-NF
+ - CN
+ - TN-FH
+ - TN-MH
+ - TN-BH
+ 3gppServiceResponse:
+ description: This describes the response for 3gpp services
+ type: object
+ properties:
+ jobId:
+ description: Job ID to be used to identify the status of the job
+ type: string
+ status:
+ description: status of the job
+ type: string
+ statusDescription:
+ description: Description on status in case of erroneous response
+ type: string
diff --git a/docs/developer_info/Building_SO.rst b/docs/developer_info/Building_SO.rst
index 7d68e433cc..edd2515fee 100644
--- a/docs/developer_info/Building_SO.rst
+++ b/docs/developer_info/Building_SO.rst
@@ -36,7 +36,7 @@ Build docker images
SO docker images are built using the "docker" maven profile.
-During the build, the chef-repo and so-docker repositories are cloned from gerrit into the "so" directory structure. Extra definitions are required in the build environment to make this happen. You may need to adjust the definition of mso.chef.git.url.prefix to match the way you authenticate yourself when performing git clone.
+During the build, the chef-repo and so-docker repositories are cloned from gerrit into the "so" directory structure. Extra definitions are required in the build environment to make this happen. You may need to adjust the definition of mso.chef.git.url.prefix to match the way you authenticate yourself when performing git clone --depth 1.
If you are behind a corporate firewall, you can specify proxy definitions for the constructed docker images.
diff --git a/docs/developer_info/FAQs.rst b/docs/developer_info/FAQs.rst
index cd6784071c..55a7049f49 100644
--- a/docs/developer_info/FAQs.rst
+++ b/docs/developer_info/FAQs.rst
@@ -57,7 +57,7 @@ How to Build docker images
SO docker images are built using the "docker" maven profile.
-During the build, the chef-repo and so-docker repositories are cloned from gerrit into the "so" directory structure. Extra definitions are required in the build environment to make this happen. You may need to adjust the definition of mso.chef.git.url.prefix to match the way you authenticate yourself when performing git clone.
+During the build, the chef-repo and so-docker repositories are cloned from gerrit into the "so" directory structure. Extra definitions are required in the build environment to make this happen. You may need to adjust the definition of mso.chef.git.url.prefix to match the way you authenticate yourself when performing git clone --depth 1.
If you are behind a corporate firewall, you can specify proxy definitions for the constructed docker images.
diff --git a/docs/release-notes.rst b/docs/release-notes.rst
index 4fb098f656..ed8c7de674 100644
--- a/docs/release-notes.rst
+++ b/docs/release-notes.rst
@@ -439,7 +439,7 @@ The main goal of the El-Alto release was to improve documentation, UT improvemen
- [`SO-2354 <https://jira.onap.org/browse/SO-2354>`__\ ] - vCPE model_customization_id not found on create vfmodule
- [`SO-2351 <https://jira.onap.org/browse/SO-2351>`__\ ] - SO Distribution Error on Allotted Resource - duplicate primary
- [`SO-2349 <https://jira.onap.org/browse/SO-2349>`__\ ] - Exception in DMAAP Client when PNF_READY event arrives from PRH
-- [`SO-2337 <https://jira.onap.org/browse/SO-2337>`__\ ] - Git clone not working for CSIT filename too long
+- [`SO-2337 <https://jira.onap.org/browse/SO-2337>`__\ ] - git clone --depth 1 not working for CSIT filename too long
- [`SO-2289 <https://jira.onap.org/browse/SO-2289>`__\ ] - CreateVcpeResCustService_simplified workflow used in PnP PNF registration workflow returns an exception in Dmaap listener
- [`SO-2229 <https://jira.onap.org/browse/SO-2229>`__\ ] - sdc adapter and openstack container in crash loopback
- [`SO-2228 <https://jira.onap.org/browse/SO-2228>`__\ ] - SDC Handler crash loopback
diff --git a/pom.xml b/pom.xml
index 6b7fb81296..edca835165 100644
--- a/pom.xml
+++ b/pom.xml
@@ -242,6 +242,10 @@
<compilerArgs>
<arg>-parameters</arg>
</compilerArgs>
+ <forceJavacCompilerUse>true</forceJavacCompilerUse>
+ <source>11</source>
+ <target>11</target>
+ <release>11</release>
</configuration>
</plugin>
<plugin>
@@ -995,46 +999,5 @@
<originalClassifier />
</properties>
</profile>
- <profile>
- <id>java8</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.8.0</version>
- <configuration>
- <forceJavacCompilerUse>true</forceJavacCompilerUse>
- <source>${java.version}</source>
- <target>${java.version}</target>
- </configuration>
- </plugin>
- </plugins>
- </build>
- <activation>
- <property>
- <name>m2e.version</name>
- </property>
- <activeByDefault>true</activeByDefault>
- </activation>
- </profile>
- <profile>
- <id>java11</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.8.0</version>
- <configuration>
- <forceJavacCompilerUse>true</forceJavacCompilerUse>
- <source>11</source>
- <target>11</target>
- <release>11</release>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
</profiles>
-</project> \ No newline at end of file
+</project>