The document describes the step by step procedure to setup E2E network slicing use case demo setup for Guilin.
1. SDC:
ONAP Portal: https://portal.api.simpledemo.onap.org:30225/ONAPPORTAL/login.htm (Username:cs0008, Password:demo123456!)
SDC UUI: https://sdc.api.fe.simpledemo.onap.org:30207/sdc1/portal#!/dashboard
Refer for Template Design for Option 1 respective template creation and distribution.
2. SO:
Copy subnetCapability.json to SO-API Handler pod to configure subnet capabilities at run time, Refer https://gerrit.onap.org/r/c/so/+/114735/1/mso-api-handlers/mso-api-handler-infra/src/test/resources/Onap3gppServiceInstancesTest/subnetCapability.json for sample subnet Capabilities file.
You can copy the file to the pod using the following command
kubectl cp subnetCapability.json -n onap <so-apih-pod-name>:/app
3. Policy Creation Steps
Refer Optimization Policy Creation Steps for optimization policy creation and deployment steps
Refer Policy Models and Sample policies - NSI selection for sample policies
NOTE:
- The service name given for creating the policy must match with the service name in the request
- The scope fields in the policies should match with the value in the resourceSharingLevel(non-shared/shared). Do modify the policy accordingly.
- Check the case of the attributes with the OOF request with the attribute map (camel to snake and snake to camel) in config/slicing_config.yaml, if any mismatch found modify the attribute map accordingly.
You need to restart the OOF docker container once you updated the slicing_config.yaml, you can do it using the following steps,
- Login to the worker VM where the OOF container is running. You can find the worker node by running (kubectl get pods -n onap -o wide | grep dev-oof)
- Find the container using docker ps | grep optf-osdf
- Restart the container using docker restart <container id>
4.AAI:
Create customer id :
curl --user AAI:AAI -X PUT -H "X-FromAppId:AAI" -H "X-TransactionId:get_aai_subscr" -H "Accept:application/json" -H "Content-Type:application/json" -k -d '{
"global-customer-id":"5GCustomer",
"subscriber-name":"5GCustomer",
"subscriber-type":"INFRA"
}' "https://<worker-vm-ip>:30233/aai/v21/business/customers/customer/5GCustomer"
Create service type:
curl --user AAI:AAI -X PUT -H "X-FromAppId:AAI" -H "X-TransactionId:get_aai_subscr" -H "Accept:application/json" -H "Content-Type:application/json" -k https://<worker-vm-ip>:30233/aai/v21/business/customers/customer/5GCustomer/service-subscriptions/service-subscription/5G
5. Ransim Setup steps:
Refer RAN-Sim setup to setup RAN-simulator
Refer RAN-Sim for ransim impacts done for Guilin Release
6.ConfigDb:
Refer https://wiki.onap.org/display/DW/Config+DB+setup for configDB setup.
7. Core NF Simulator Setup
Refer Core NF Simulator setup to setup Core NF Simulator.
8. SDNC:
Check the below in SDNC pod (dev-sdnc-0).
- Latest ran-slice-api-dg.properties (/distribution/odlsli/src/main/properties/ran-slice-api-dg.properties) should be available at /opt/onap/ccsdk/data/properties/
- All ranSlice*.json template files (/distribution/platform-logic/restapi-templates/src/main/json) should present at /opt/onap/ccsdk/restapi/templates/
- DG XML files from /distribution/platform-logic/ran-slice-api/src/main/xml should present at /opt/onap/sdnc/svclogic/graphs/ranSliceapi
9. Slice Analysis MS
Refer DCAE R7 Slice Analysis MS (Network Slicing Usecase) for Slice Analysis MS set up.
10. Policies for Slice Analysis MS:
Execute these curl requests from any of the running pods.
Policy Creation:
curl -k --silent --user 'healthcheck:zb!XztG34' -X POST "https://policy-api:6969/policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0/policies" -H "Accept: application/json" -H "Content-Type: application/json" -d @modifynssi.json
where modifynssi.json is,
{ "tosca_definitions_version": "tosca_simple_yaml_1_1_0", "topology_template": { "policies": [ { "operational.modifynssi": { "type": "onap.policies.controlloop.operational.common.Drools", "type_version": "1.0.0", "version": "1.0.0", "name": "operational.modifynssi", "metadata": { "policy-id": "operational.modifynssi" }, "properties": { "id": "ControlLoop-Slicing-116d7b00-dbeb-4d03-8719-d0a658fa735b", "timeout": 1200, "abatement": false, "trigger": "unique-policy-id-1-modify-nssi", "operations": [ { "id": "unique-policy-id-1-modify-nssi", "description": "Modify resource allocation for a slice subnet instance", "operation": { "actor": "SO", "operation": "Modify NSSI", "target": { "targetType": "VNF" } }, "timeout": 1200, "retries": 0, "success": "final_success", "failure": "final_failure", "failure_timeout": "final_failure_timeout", "failure_retries": "final_failure_retries", "failure_exception": "final_failure_exception", "failure_guard": "final_failure_guard" } ], "controllerName": "frankfurt" } } } ] } }
To push the policy:
curl --silent -k --user 'healthcheck:zb!XztG34' -X POST "https://policy-pap:6969/policy/pap/v1/pdps/policies" -H "Accept: application/json" -H "Content-Type: application/json" -d @push_modifynssi.json
where push_modifynssi.json is,
{ "policies": [ { "policy-id": "operational.modifynssi", "policy-version": 1 } ] }
11. PM Mapper
Refer PM-Mapper (5G Usecase) for PM Mapper set up.
12. Datafile Collector
Refer DataFile Collector (5G Usecase) for the set up