diff options
-rw-r--r-- | doc/dosc_A1_PE_PoC.rst | 15 | ||||
-rw-r--r-- | doc/files/A1-PE-CLOSED-LOOP.postman_collection.json | 290 | ||||
-rw-r--r-- | doc/files/A1-PE-CNF.postman_collection.json | 485 | ||||
-rw-r--r-- | doc/files/A1-PE-CNF.postman_environment.json | 34 | ||||
-rw-r--r-- | doc/files/a1pe-postman.zip | bin | 5227 -> 0 bytes |
5 files changed, 815 insertions, 9 deletions
diff --git a/doc/dosc_A1_PE_PoC.rst b/doc/dosc_A1_PE_PoC.rst index b731cef..f08c10c 100644 --- a/doc/dosc_A1_PE_PoC.rst +++ b/doc/dosc_A1_PE_PoC.rst @@ -22,7 +22,7 @@ The goal is to show how ONAP platform features can be used to implement a contro **Policy Enforcement scenario**: - A1 PE Simulator deployed as CNF in ONAP -- A1 PE Simulator is configured as RIC in ONAP Policy Managment Service +- A1 PE Simulator is configured as RIC in ONAP Policy Management Service - RAPPs are deployed in ONAP as DCAE MS (to monitor and optimize behavior of RAN) - RIC simulates a sleeping cell behavior - Detection of sleeping cell in A1 policy, triggers handover of emergency UEs to the next available cell @@ -84,13 +84,10 @@ Postman collection is used also to trigger instantiation using SO APIs. Following steps are needed to setup Postman: -- Import this Postman collection zip +- Import this Postman collection (environment file is provided for reference, it's better to create own environment on your own providing variables) - :download:`A1 PE CNF Postman collection <files/a1pe-postman.zip>` - -- Extract the zip and import Postman collection into Postman. Environment file is provided for reference, it's better to create own environment on your own providing variables. - - `A1-PE-CNF.postman_collection.json` - - `A1-PE-CNF.postman_environment.json` + - :download:`A1 PE CNF Postman collection <files/A1-PE-CNF.postman_collection.json>` + - :download:`A1 PE CNF Postman collection <files/A1-PE-CNF.postman_environment.json>` - For use case debugging purposes to get Kubernetes cluster external access to SO CatalogDB (GET operations only), modify SO CatalogDB service to NodePort instead of ClusterIP. You may also create separate own NodePort if you wish, but here we have just edited directly the service with kubectl. @@ -190,8 +187,8 @@ The separated collection was prepared to trigger and check the A1 Close-loop. Like before, following steps are needed to setup Postman: -- Extract the **a1pe-postman.zip** and import Postman collection into Postman. Environment **A1-PE_CNF.postman_environment.json** file is provided for reference, it's better to create own environment on your own providing variables. - - `A1-PE-CLOSED-LOOP.postman_collection.json` +- Import Postman collection into Postman. Environment **A1-PE_CNF.postman_environment.json** file is provided for reference, it's better to create own environment on your own providing variables. + - :download:`A1-PE-CLOSED-LOOP.postman_collection.json` CNF post-instantiation steps diff --git a/doc/files/A1-PE-CLOSED-LOOP.postman_collection.json b/doc/files/A1-PE-CLOSED-LOOP.postman_collection.json new file mode 100644 index 0000000..bb686d7 --- /dev/null +++ b/doc/files/A1-PE-CLOSED-LOOP.postman_collection.json @@ -0,0 +1,290 @@ +{ + "info": { + "_postman_id": "ded22a5c-1977-42bf-941d-8952354f20f6", + "name": "A1-PE-CLOSED-LOOP", + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" + }, + "item": [ + { + "name": "[TEST] Get cells", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "http://{{k8s}}:32766/v1/ran/cells/", + "protocol": "http", + "host": [ + "{{k8s}}" + ], + "port": "32766", + "path": [ + "v1", + "ran", + "cells", + "" + ] + } + }, + "response": [] + }, + { + "name": "[STEP 1] Configure the policy type", + "request": { + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\": \"samsung_policy_type\",\r\n \"description\": \"samsung policy type; standard model of a policy with unconstrained scope id combinations\",\r\n \"policy_type_id\": 1000,\r\n \"create_schema\": {\r\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\r\n \"title\": \"Samsung_demo\",\r\n \"description\": \"Samsung demo policy type\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"scope\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"ueId\": {\r\n \"type\": \"string\"\r\n },\r\n \"groupId\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"additionalProperties\": false,\r\n \"required\": [\r\n \"ueId\"\r\n ]\r\n },\r\n \"resources\": {\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"cellIdList\": {\r\n \"type\": \"array\",\r\n \"minItems\": 1,\r\n \"uniqueItems\": true,\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"preference\": {\r\n \"type\": \"string\",\r\n \"enum\": [\r\n \"SHALL\",\r\n \"PREFER\",\r\n \"AVOID\",\r\n \"FORBID\"\r\n ]\r\n }\r\n },\r\n \"additionalProperties\": false,\r\n \"required\": [\r\n \"cellIdList\",\r\n \"preference\"\r\n ]\r\n }\r\n }\r\n },\r\n \"additionalProperties\": false,\r\n \"required\": [\r\n \"scope\",\r\n \"resources\"\r\n ]\r\n }\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://{{k8s}}:32766/v1/a1-p/policytypes/1000", + "protocol": "http", + "host": [ + "{{k8s}}" + ], + "port": "32766", + "path": [ + "v1", + "a1-p", + "policytypes", + "1000" + ] + } + }, + "response": [] + }, + { + "name": "[TEST] Get policy types", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "http://{{k8s}}:32766/v1/a1-p/policytypes/1000/", + "protocol": "http", + "host": [ + "{{k8s}}" + ], + "port": "32766", + "path": [ + "v1", + "a1-p", + "policytypes", + "1000", + "" + ] + } + }, + "response": [] + }, + { + "name": "[TEST] RIC healthcheck", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "http://{{k8s}}:32766/v1/a1-p/healthcheck", + "protocol": "http", + "host": [ + "{{k8s}}" + ], + "port": "32766", + "path": [ + "v1", + "a1-p", + "healthcheck" + ] + } + }, + "response": [] + }, + { + "name": "[STEP 2] Cell - start reporting", + "request": { + "method": "POST", + "header": [], + "url": { + "raw": "http://{{k8s}}:32766/v1/ran/cells/{{cellId}}/start?reportingMethod={{reportingMethod}}", + "protocol": "http", + "host": [ + "{{k8s}}" + ], + "port": "32766", + "path": [ + "v1", + "ran", + "cells", + "{{cellId}}", + "start" + ], + "query": [ + { + "key": "reportingMethod", + "value": "{{reportingMethod}}" + } + ] + } + }, + "response": [] + }, + { + "name": "[TEST] Get event from datacollector", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "http://{{k8s}}:30980/v1/pm/events/aggregatedmetrics/?slot=10&count=5&startTime=2021-06-22T16:35:00%2B01:00", + "protocol": "http", + "host": [ + "{{k8s}}" + ], + "port": "30980", + "path": [ + "v1", + "pm", + "events", + "aggregatedmetrics", + "" + ], + "query": [ + { + "key": "slot", + "value": "10" + }, + { + "key": "count", + "value": "5" + }, + { + "key": "startTime", + "value": "2021-06-22T16:35:00%2B01:00" + } + ] + } + }, + "response": [] + }, + { + "name": "[TEST] Get user equipments from datacollector", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "http://{{k8s}}:30980/v1/pm/events/aggregatedmetrics/?slot=10&count=5&startTime=2021-06-22T16:35:00%2B01:00", + "protocol": "http", + "host": [ + "{{k8s}}" + ], + "port": "30980", + "path": [ + "v1", + "pm", + "events", + "aggregatedmetrics", + "" + ], + "query": [ + { + "key": "slot", + "value": "10" + }, + { + "key": "count", + "value": "5" + }, + { + "key": "startTime", + "value": "2021-06-22T16:35:00%2B01:00" + } + ] + } + }, + "response": [] + }, + { + "name": "[STEP 3] Cell - start sending fault values", + "request": { + "method": "POST", + "header": [], + "url": { + "raw": "http://{{k8s}}:32766/v1/ran/cells/{{cellId}}/startFailure?reportingMethod={{reportingMethod}}", + "protocol": "http", + "host": [ + "{{k8s}}" + ], + "port": "32766", + "path": [ + "v1", + "ran", + "cells", + "{{cellId}}", + "startFailure" + ], + "query": [ + { + "key": "reportingMethod", + "value": "{{reportingMethod}}" + } + ] + } + }, + "response": [] + }, + { + "name": "[TEST] Get policy instances", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "http://{{k8s}}:32766/v1/a1-p/policytypes/1000/policies", + "protocol": "http", + "host": [ + "{{k8s}}" + ], + "port": "32766", + "path": [ + "v1", + "a1-p", + "policytypes", + "1000", + "policies" + ] + } + }, + "response": [] + }, + { + "name": "[STEP 4] Cell - stop reporting", + "request": { + "method": "POST", + "header": [], + "url": { + "raw": "http://{{k8s}}:32766/v1/ran/cells/{{cellId}}/stopFailure?reportingMethod={{reportingMethod}}", + "protocol": "http", + "host": [ + "{{k8s}}" + ], + "port": "32766", + "path": [ + "v1", + "ran", + "cells", + "{{cellId}}", + "stopFailure" + ], + "query": [ + { + "key": "reportingMethod", + "value": "{{reportingMethod}}" + } + ] + } + }, + "response": [] + } + ] +} diff --git a/doc/files/A1-PE-CNF.postman_collection.json b/doc/files/A1-PE-CNF.postman_collection.json new file mode 100644 index 0000000..5c282ad --- /dev/null +++ b/doc/files/A1-PE-CNF.postman_collection.json @@ -0,0 +1,485 @@ +{ + "info": { + "_postman_id": "bcfcb45f-84a1-4a9a-87e8-386181b649df", + "name": "A1-PE-CNF", + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" + }, + "item": [ + { + "name": "[TEST] SO Catalog DB Cloud Sites", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Successful GET request\", function () {", + " pm.expect(pm.response.code).to.be.oneOf([200]);", + "});", + "", + "var resp = pm.response.json()", + "", + "pm.test(\"Check if cloud region is properly defined\", function () {", + " pm.expect(resp.id).to.eql(\"K8sRegion\");", + " pm.expect(resp.identityService).not.to.be.null;", + " pm.expect(resp.identity_service_id).not.to.be.null;", + "});", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "password1$", + "type": "string" + }, + { + "key": "username", + "value": "bpel", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://{{k8s}}:{{catalogdb-port}}/cloudSite/K8sRegion", + "protocol": "http", + "host": [ + "{{k8s}}" + ], + "port": "{{catalogdb-port}}", + "path": [ + "cloudSite", + "K8sRegion" + ] + } + }, + "response": [] + }, + { + "name": "[STEP 1] SDC Catalog Service", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "name = pm.variables.get(\"service-name\");", + "version = pm.variables.get(\"service-version\");", + "console.log(\"Lookup service mode in SDC Catalog: {\" + name + \":\" + version + \"}\");", + "ee = _.find(pm.response.json(),{\"name\": name, \"version\": version});", + "", + "pm.test(\"Find defined service in SDC catalog\", function () {", + " pm.expect(ee).not.to.be.undefined;", + "});", + "", + "pm.environment.set(\"service-uuid\",ee.uuid);", + "pm.environment.set(\"service-invariantUUID\",ee.invariantUUID);" + ], + "type": "text/javascript" + } + } + ], + "request": { + "auth": { + "type": "noauth" + }, + "method": "GET", + "header": [ + { + "warning": "This is a duplicate header and will be overridden by the Authorization header generated by Postman.", + "key": "Authorization", + "value": "Basic dmlkOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=", + "type": "text" + }, + { + "key": "X-ECOMP-InstanceID", + "value": "VID", + "type": "text" + } + ], + "url": { + "raw": "https://{{k8s}}:30204/sdc/v1/catalog/services", + "protocol": "https", + "host": [ + "{{k8s}}" + ], + "port": "30204", + "path": [ + "sdc", + "v1", + "catalog", + "services" + ] + } + }, + "response": [] + }, + { + "name": "[TEST] SDC Catalog Service Metadata", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "auth": { + "type": "noauth" + }, + "method": "GET", + "header": [ + { + "warning": "This is a duplicate header and will be overridden by the Authorization header generated by Postman.", + "key": "Authorization", + "value": "Basic dmlkOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=", + "type": "text" + }, + { + "key": "X-ECOMP-InstanceID", + "value": "VID", + "type": "text" + } + ], + "url": { + "raw": "https://{{k8s}}:30204/sdc/v1/catalog/services/{{service-uuid}}/metadata", + "protocol": "https", + "host": [ + "{{k8s}}" + ], + "port": "30204", + "path": [ + "sdc", + "v1", + "catalog", + "services", + "{{service-uuid}}", + "metadata" + ] + } + }, + "response": [] + }, + { + "name": "[STEP 2] SO Catalog DB Service xNFs", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Successful GET request\", function () {", + " pm.expect(pm.response.code).to.be.oneOf([200]);", + "});", + "", + "", + "x = pm.response.json();", + "pm.environment.set(\"vnf-modelinfo-modelname\",x.serviceVnfs[0].modelInfo.modelName);", + "pm.environment.set(\"vnf-modelinfo-modelversion\",x.serviceVnfs[0].modelInfo.modelVersion);", + "pm.environment.set(\"vnf-modelinfo-modeluuid\",x.serviceVnfs[0].modelInfo.modelUuid);", + "pm.environment.set(\"vnf-modelinfo-modelinvariantuuid\",x.serviceVnfs[0].modelInfo.modelInvariantUuid);", + "pm.environment.set(\"vnf-modelinfo-modelcustomizationuuid\",x.serviceVnfs[0].modelInfo.modelCustomizationUuid);", + "pm.environment.set(\"vnf-modelinfo-modelinstancename\",x.serviceVnfs[0].modelInfo.modelInstanceName);", + "pm.environment.set(\"vnf-vfmodule-0-modelinfo-modelname\",x.serviceVnfs[0].vfModules[0].modelInfo.modelName);", + "pm.environment.set(\"vnf-vfmodule-0-modelinfo-modeluuid\",x.serviceVnfs[0].vfModules[0].modelInfo.modelUuid);", + "pm.environment.set(\"vnf-vfmodule-0-modelinfo-modelinvariantuuid\",x.serviceVnfs[0].vfModules[0].modelInfo.modelInvariantUuid);", + "pm.environment.set(\"vnf-vfmodule-0-modelinfo-modelcustomizationuuid\",x.serviceVnfs[0].vfModules[0].modelInfo.modelCustomizationUuid);", + "pm.environment.set(\"vnf-vfmodule-0-label\",x.serviceVnfs[0].vfModules[0].vfModuleLabel);" + ], + "type": "text/javascript" + } + } + ], + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "password1$", + "type": "string" + }, + { + "key": "username", + "value": "bpel", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://{{k8s}}:{{catalogdb-port}}/ecomp/mso/catalog/v2/serviceVnfs?serviceModelInvariantUuid={{service-invariantUUID}}", + "protocol": "http", + "host": [ + "{{k8s}}" + ], + "port": "{{catalogdb-port}}", + "path": [ + "ecomp", + "mso", + "catalog", + "v2", + "serviceVnfs" + ], + "query": [ + { + "key": "serviceModelName", + "value": "{{service-name}}", + "disabled": true + }, + { + "key": "serviceModelVersion", + "value": "{{service-version}}", + "disabled": true + }, + { + "key": "serviceModelInvariantUuid", + "value": "{{service-invariantUUID}}" + } + ] + } + }, + "response": [] + }, + { + "name": "[STEP 3] SO Self-Serve Service Assign & Activate", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "x = pm.response.json();", + "pm.environment.set(\"so-request-id\",x.requestReferences.requestId);", + "pm.environment.set(\"service-instance-id\",x.requestReferences.instanceId);" + ], + "type": "text/javascript" + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "y = pm.environment.get(\"service-instance-name\").split(\"-\");", + "if (!isNaN(y[y.length - 1])) {", + " y[y.length - 1] = (y[y.length - 1] * 1 + 1).toString();", + "}", + "pm.environment.set(\"service-instance-name\", y.join(\"-\"));", + "", + "pm.environment.set(\"vnf-modelinfo-instancename\",pm.environment.get(\"service-instance-name\") + \"-cnf\")", + "pm.environment.set(\"vnf-vfmodule-0-modelinfo-instancename\",pm.environment.get(\"service-instance-name\") + \"-\" + pm.environment.get(\"vnf-vfmodule-0-label\"))" + ], + "type": "text/javascript" + } + } + ], + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "password1$", + "type": "string" + }, + { + "key": "username", + "value": "InfraPortalClient", + "type": "string" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "name": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"requestDetails\": {\n \"subscriberInfo\": {\n \"globalSubscriberId\": \"Demonstration\"\n },\n \"requestInfo\": {\n \"suppressRollback\": false,\n \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\",\n \"requestorId\": \"{{$guid}}\",\n \"instanceName\": \"{{service-instance-name}}\",\n \"source\": \"Postman\"\n },\n \"cloudConfiguration\": {\n \"lcpCloudRegionId\": \"K8sRegion\",\n \"tenantId\": \"k8stenant\",\n \"cloudOwner\": \"CloudOwner\"\n },\n \"requestParameters\": {\n \"subscriptionServiceType\": \"vFW\",\n \"userParams\": [\n {\n \"Homing_Solution\": \"none\"\n },\n {\n \"service\": {\n \"instanceParams\": [\n {}\n ],\n \"instanceName\": \"{{service-instance-name}}\",\n \"resources\": {\n \"vnfs\": [\n {\n \"modelInfo\": {\n \"modelName\": \"{{vnf-modelinfo-modelname}}\",\n \"modelVersionId\": \"{{vnf-modelinfo-modeluuid}}\",\n \"modelInvariantUuid\": \"{{vnf-modelinfo-modelinvariantuuid}}\",\n \"modelVersion\": \"{{vnf-modelinfo-modelversion}}\",\n \"modelCustomizationId\": \"{{vnf-modelinfo-modelcustomizationuuid}}\",\n \"modelInstanceName\": \"{{vnf-modelinfo-modelinstancename}}\"\n },\n \"cloudConfiguration\": {\n \"lcpCloudRegionId\": \"K8sRegion\",\n \"tenantId\": \"k8stenant\"\n },\n \"platform\": {\n \"platformName\": \"test\"\n },\n \"lineOfBusiness\": {\n \"lineOfBusinessName\": \"LOB-Demonstration\"\n },\n \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\",\n \"instanceName\": \"{{vnf-modelinfo-instancename}}\",\n \"instanceParams\": [\n {\n \"k8s-rb-profile-name\": \"default\",\n \"externalNodeIp\": \"{{managed_k8s}}\",\n \"ftp-host\": \"{{managed_k8s}}\",\n \"oran_name\": \"oran-a1pesim\"\n }\n ],\n \"vfModules\": [\n {\n \"modelInfo\": {\n \"modelName\": \"{{vnf-vfmodule-0-modelinfo-modelname}}\",\n \"modelVersionId\": \"{{vnf-vfmodule-0-modelinfo-modeluuid}}\",\n \"modelInvariantUuid\": \"{{vnf-vfmodule-0-modelinfo-modelinvariantuuid}}\",\n \"modelVersion\": \"1\",\n \"modelCustomizationId\": \"{{vnf-vfmodule-0-modelinfo-modelcustomizationuuid}}\"\n },\n \"instanceName\": \"{{vnf-vfmodule-0-modelinfo-instancename}}\",\n \"instanceParams\": [\n {\n \"k8s-rb-profile-name\": \"default\",\n \"externalNodeIp\": \"{{managed_k8s}}\",\n \"ftp-host\": \"{{managed_k8s}}\",\n \"oran_name\": \"oran-a1pesim\"\n }\n ]\n }\n ]\n }\n ]\n },\n \"modelInfo\": {\n \"modelVersion\": \"{{service-version}}\",\n \"modelVersionId\": \"{{service-uuid}}\",\n \"modelInvariantId\": \"{{service-invariantUUID}}\",\n \"modelName\": \"{{service-name}}\",\n \"modelType\": \"service\"\n }\n }\n }\n ],\n \"aLaCarte\": false\n },\n \"project\": {\n \"projectName\": \"Project-Demonstration\"\n },\n \"owningEntity\": {\n \"owningEntityId\": \"8a6ce244-fce8-4e95-b53c-6283f65e6068\",\n \"owningEntityName\": \"OE-Demonstration\"\n },\n \"modelInfo\": {\n \"modelVersion\": \"{{service-version}}\",\n \"modelVersionId\": \"{{service-uuid}}\",\n \"modelInvariantId\": \"{{service-invariantUUID}}\",\n \"modelName\": \"{{service-name}}\",\n \"modelType\": \"service\"\n }\n }\n}" + }, + "url": { + "raw": "http://{{k8s}}:30277/onap/so/infra/serviceInstantiation/v7/serviceInstances", + "protocol": "http", + "host": [ + "{{k8s}}" + ], + "port": "30277", + "path": [ + "onap", + "so", + "infra", + "serviceInstantiation", + "v7", + "serviceInstances" + ] + } + }, + "response": [] + }, + { + "name": "[TEST] SO Infra Active Requests", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "username", + "value": "bpel", + "type": "string" + }, + { + "key": "password", + "value": "password1$", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://{{k8s}}:30277/infraActiveRequests//{{so-request-id}}", + "protocol": "http", + "host": [ + "{{k8s}}" + ], + "port": "30277", + "path": [ + "infraActiveRequests", + "", + "{{so-request-id}}" + ] + } + }, + "response": [] + }, + { + "name": "SO Service Delete", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "x = pm.response.json();", + "pm.environment.set(\"so-request-id\",x.requestReferences.requestId);" + ], + "type": "text/javascript" + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "password1$", + "type": "string" + }, + { + "key": "username", + "value": "InfraPortalClient", + "type": "string" + } + ] + }, + "method": "DELETE", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"requestDetails\": {\n \"subscriberInfo\": {\n \"globalSubscriberId\": \"Demonstration\"\n },\n \"requestInfo\": {\n \"suppressRollback\": false,\n \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\",\n \"requestorId\": \"{{$guid}}\",\n \"instanceName\": \"{{service-instance-name}}\",\n \"source\": \"Postman\"\n },\n \"cloudConfiguration\": {\n \"lcpCloudRegionId\": \"K8sRegion\",\n \"tenantId\": \"k8stenant\",\n \"cloudOwner\": \"CloudOwner\"\n },\n \"requestParameters\": {\n \"subscriptionServiceType\": \"vFW\",\n \"userParams\": [\n {\n \"Homing_Solution\": \"none\"\n },\n {\n \"service\": {\n \"instanceParams\": [\n {}\n ],\n \"instanceName\": \"{{service-instance-name}}\",\n \"resources\": {\n \"vnfs\": [\n {\n \"modelInfo\": {\n \"modelName\": \"{{vnf-modelinfo-modelname}}\",\n \"modelVersionId\": \"{{vnf-modelinfo-modeluuid}}\",\n \"modelInvariantUuid\": \"{{vnf-modelinfo-modelinvariantuuid}}\",\n \"modelVersion\": \"{{vnf-modelinfo-modelversion}}\",\n \"modelCustomizationId\": \"{{vnf-modelinfo-modelcustomizationuuid}}\",\n \"modelInstanceName\": \"{{vnf-modelinfo-modelinstancename}}\"\n },\n \"cloudConfiguration\": {\n \"lcpCloudRegionId\": \"K8sRegion\",\n \"tenantId\": \"k8stenant\"\n },\n \"platform\": {\n \"platformName\": \"test\"\n },\n \"lineOfBusiness\": {\n \"lineOfBusinessName\": \"LOB-Demonstration\"\n },\n \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\",\n \"instanceName\": \"{{vnf-modelinfo-instancename}}\",\n \"instanceParams\": [\n {\n \"k8s-rb-profile-name\": \"default\",\n \"externalNodeIp\": \"{{managed_k8s}}\",\n \"ftp-host\": \"{{managed_k8s}}\",\n \"oran_name\": \"oran-a1pesim\"\n }\n ],\n \"vfModules\": [\n {\n \"modelInfo\": {\n \"modelName\": \"{{vnf-vfmodule-0-modelinfo-modelname}}\",\n \"modelVersionId\": \"{{vnf-vfmodule-0-modelinfo-modeluuid}}\",\n \"modelInvariantUuid\": \"{{vnf-vfmodule-0-modelinfo-modelinvariantuuid}}\",\n \"modelVersion\": \"1\",\n \"modelCustomizationId\": \"{{vnf-vfmodule-0-modelinfo-modelcustomizationuuid}}\"\n },\n \"instanceName\": \"{{vnf-vfmodule-0-modelinfo-instancename}}\",\n \"instanceParams\": [\n {\n \"k8s-rb-profile-name\": \"default\",\n \"externalNodeIp\": \"{{managed_k8s}}\",\n \"ftp-host\": \"{{managed_k8s}}\",\n \"oran_name\": \"oran-a1pesim\"\n }\n ]\n }\n ]\n }\n ]\n },\n \"modelInfo\": {\n \"modelVersion\": \"{{service-version}}\",\n \"modelVersionId\": \"{{service-uuid}}\",\n \"modelInvariantId\": \"{{service-invariantUUID}}\",\n \"modelName\": \"{{service-name}}\",\n \"modelType\": \"service\"\n }\n }\n }\n ],\n \"aLaCarte\": false\n },\n \"project\": {\n \"projectName\": \"Project-Demonstration\"\n },\n \"owningEntity\": {\n \"owningEntityId\": \"8a6ce244-fce8-4e95-b53c-6283f65e6068\",\n \"owningEntityName\": \"OE-Demonstration\"\n },\n \"modelInfo\": {\n \"modelVersion\": \"{{service-version}}\",\n \"modelVersionId\": \"{{service-uuid}}\",\n \"modelInvariantId\": \"{{service-invariantUUID}}\",\n \"modelName\": \"{{service-name}}\",\n \"modelType\": \"service\"\n }\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://{{k8s}}:30277/onap/so/infra/serviceInstantiation/v7/serviceInstances/{{service-instance-id}}", + "protocol": "http", + "host": [ + "{{k8s}}" + ], + "port": "30277", + "path": [ + "onap", + "so", + "infra", + "serviceInstantiation", + "v7", + "serviceInstances", + "{{service-instance-id}}" + ] + } + }, + "response": [] + }, + { + "name": "CDS Blueprint Deploy", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "var jsonData = pm.response.json();", + "pm.environment.set(\"cba_name\", jsonData.blueprintModel.artifactName);", + "pm.environment.set(\"cba_version\", jsonData.blueprintModel.artifactVersion);", + "pm.environment.set(\"cba_id\", jsonData.blueprintModel.id);" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "formdata", + "formdata": [ + { + "key": "file", + "type": "file", + "src": [] + } + ] + }, + "url": { + "raw": "{{k8s}}:30499/api/v1/blueprint-model/publish", + "host": [ + "{{k8s}}" + ], + "port": "30499", + "path": [ + "api", + "v1", + "blueprint-model", + "publish" + ] + } + }, + "response": [] + } + ] +} diff --git a/doc/files/A1-PE-CNF.postman_environment.json b/doc/files/A1-PE-CNF.postman_environment.json new file mode 100644 index 0000000..e12afc4 --- /dev/null +++ b/doc/files/A1-PE-CNF.postman_environment.json @@ -0,0 +1,34 @@ +{ + "id": "33bda487-4ee0-402e-88b5-2e978a6fa770", + "name": "minimal", + "values": [ + { + "key": "k8s", + "value": "", + "enabled": true + }, + { + "key": "catalogdb-port", + "value": "", + "enabled": true + }, + { + "key": "service-name", + "value": "", + "enabled": true + }, + { + "key": "service-version", + "value": "", + "enabled": true + }, + { + "key": "service-instance-name", + "value": "", + "enabled": true + } + ], + "_postman_variable_scope": "environment", + "_postman_exported_at": "2021-09-01T15:12:24.624Z", + "_postman_exported_using": "Postman/8.11.1" +} diff --git a/doc/files/a1pe-postman.zip b/doc/files/a1pe-postman.zip Binary files differdeleted file mode 100644 index fa15166..0000000 --- a/doc/files/a1pe-postman.zip +++ /dev/null |