Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Issue DescriptionOption1/Option2Solution/Work aroundJIRAStatusComments

"Connection to ASDC server failed" in SO and AAI logs after re-distribution of templates in SDC.

Option 2Redeploy SO and AAI with the latest charts.


NST Selection FailureOption 2

NST template in SDC should have the property "latency" as a separate property of type integer instead of type NSCapabilities.

This page explains the manual configurations required for setting up E2E network slicing use case - option 1.

Table of Contents

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.UUI Configuration

Configure CST template UUID and Invariant UUID in slicing.properties file of uui-server microservice

In uui-server microservice, modify the following configuration file, /home/UUI/config/slicing.properties

Add or update the parameters slicing.serviceInvariantUuid and parameter slicing.serviceUuid.

The values of these two parameters come from CST template which can be find on SDC page.

Image Removed

3.MSB Configuration

Register so-orchestrationTasks and so-serviceInstances interface to MSB.

Interface registration can be done through portal.

Steps(Portal):

Link: https://{{master server ip}}:30284/iui/microservices/default.html

 1.Select ‘’ in the left pane

 2. Click 'Service Register' button.

Image Removed

 3. Input the basic info as the picture shows(also refer to the registration info provided above)

Image Removed

4. Click Add Host button.

    Input IP Address and Port then click the 'SAVE' button. (Use cmd ’kubectl get svc -n onap so‘ to confirm IP and port.)

Image Removed

5.  Input the basic info as the picture shows for so-orchestrationTasks (also refer to the registration info provided above)

Image Removed

6. You should add a  aai-business service for MSB.
Steps:

  • Got to msb https://{{master server ip}}:30284/iui/microservices/default.html
  • Select "Service Discover" from left panel
  • Click "Service Register" button
    • ADD the following info:
      Service Name: aai-business
      Url: /aai/v13/business
      Protocol: REST
      Enable SSL to True
      Version: v13
      Load balancer: round-robin
      Visualranfe: InSystem
    • Add host:
      AAI service ip and port (8443)
  • Save all

4. SO

Copy subnetCapability.json to SO-API Handler pod to configure subnet capabilities at run time.

Expand
title Sample subnetCapability.json

{
"AN_NF": {
"latency": 5,
"maxNumberofUEs": 200,
"maxThroughput": 90,
"termDensity": 40
},
"AN": {
"latency": 20,
"maxNumberofUEs": 100,
"maxThroughput": 150,
"termDensity": 50
},
"CN": {
"latency": 10,
"maxThroughput": 50,
"maxNumberofConns": 100
},
"TN_FH": {
"latency": 10,
"maxThroughput": 90
},
"TN_MH": {
"latency": 5,
"maxThroughput": 90
},
"TN_BH": {
"latency": 10,
"maxThroughput": 100
}
}

...

kubectl cp subnetCapability.json -n onap <so-apih-pod-name>:/app




Distribution fails into AAI for the resources SliceProfileXXX
(missing Allotted Resource service model)
Option 1Add Slice_AR (the allotted resource componing each SliceProfile) as
service-model into AAI
PUT https://{{k8s}}:30233/aai/v21/service-design-and-creation/models/model/5d179b7a-8d8a-4317-9318-349b09fcde2c

{
  "model-invariant-id": "5d179b7a-8d8a-4317-9318-349b09fcde2c",
  "model-type": "Resource",
  "model-vers": {
    "model-ver": [
      {
        "model-version-id": "3c532edd-4c72-4558-b892-8d518ca03c56",
        "model-name": "Slice_AR",
        "model-version": "1.0"
      }
    ]
  }
}

















This page explains the manual configurations required for setting up E2E network slicing use case - option 1.

Table of Contents

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.UUI Configuration

Configure CST template UUID and Invariant UUID in slicing.properties file of uui-server microservice

In uui-server microservice, modify the following configuration file, /home/UUI/config/slicing.properties

Add or update the parameters slicing.serviceInvariantUuid and parameter slicing.serviceUuid.

The values of these two parameters come from CST template which can be find on SDC page.

Image Added

3.MSB Configuration

Register so-orchestrationTasks and so-serviceInstances interface to MSB.

Interface registration can be done through portal.

Steps(Portal):

Link: https://{{master server ip}}:30284/iui/microservices/default.html

 1.Select ‘’ in the left pane

 2. Click 'Service Register' button.

Image Added

 3. Input the basic info as the picture shows(also refer to the registration info provided above)

Image Added

4. Click Add Host button.

    Input IP Address and Port then click the 'SAVE' button. (Use cmd ’kubectl get svc -n onap so‘ to confirm IP and port.)

Image Added

5.  Input the basic info as the picture shows for so-orchestrationTasks (also refer to the registration info provided above)

Image Added

6. You should add a  aai-business service for MSB.
Steps:

  • Got to msb https://{{master server ip}}:30284/iui/microservices/default.html
  • Select "Service Discover" from left panel
  • Click "Service Register" button
    • ADD the following info:
      Service Name: aai-business
      Url: /aai/v13/business
      Protocol: REST
      Enable SSL to True
      Version: v13
      Load balancer: round-robin
      Visualranfe: InSystem
    • Add host:
      AAI service ip and port (8443)
  • Save all


7. You should add a  aai-externalSystem service for MSB.
Steps:

  • Got to msb https://{{master server ip}}:30284/iui/microservices/default.html
  • Select "Service Discover" from left panel
  • Click "Service Register" button
    • ADD the following info:
      Service Name: aai-externalSystem
      Url: /aai/v11/external-system
      Protocol: REST
      Enable SSL to True
      Version: v11
      Load balancer: round-robin
      Visualranfe: InSystem
    • Add host:
      AAI service ip and port (8443)
  • Save all

4. SO

Copy subnetCapability.json to SO-API Handler pod to configure subnet capabilities at run time.


Expand
title Sample subnetCapability.json

{
"AN_NF": {
"latency": 5,
"maxNumberofUEs": 200,
"maxThroughput": 90,
"termDensity": 40
},
"AN": {
"latency": 20,
"maxNumberofUEs": 100,
"maxThroughput": 150,
"termDensity": 50
},
"CN": {
"latency": 10,
"maxThroughput": 50,
"maxNumberofConns": 100
},
"TN_FH": {
"latency": 10,
"maxThroughput": 90
},
"TN_MH": {
"latency": 5,
"maxThroughput": 90
},
"TN_BH": {
"latency": 10,
"maxThroughput": 100
}
}


You can copy the file to the pod using the following command

kubectl cp subnetCapability.json -n onap <so-apih-pod-name>:/app


SO Database Update

Insert ORCHESTRATION_URI into service_recipe,  SERVICE_MODEL_UUID replaced by CST.ModelId.

INSERT INTO `catalogdb`.`service_recipe`(`ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `SERVICE_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TIMEOUT_INTERIM`, `SERVICE_MODEL_UUID`) VALUES ('createInstance''1''Custom recipe to create communication service-instance if no custom BPMN flow is found''/mso/async/services/CreateCommunicationService', NULL, 180, NULL, 'c9252b26-f9cd-4e6c-988c-4d6ff39c6dda');
  
INSERT INTO `catalogdb`.`service_recipe`(`ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `SERVICE_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TIMEOUT_INTERIM`, `SERVICE_MODEL_UUID`) VALUES ('deleteInstance''1''Custom recipe to delete communication service if no custom BPMN flow is found''/mso/async/services/DeleteCommunicationService', NULL, 180, NULL, 'c9252b26-f9cd-4e6c-988c-4d6ff39c6dda');
  
INSERT INTO `catalogdb`.`service_recipe`(`ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `SERVICE_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TIMEOUT_INTERIM`, `SERVICE_MODEL_UUID`) VALUES ('activateInstance''1.0''activate communication service''/mso/async/services/ActivateCommunicationService', NULL, 180, NULL, 'c9252b26-f9cd-4e6c-988c-4d6ff39c6dda');

Insert ORCHESTRATION_URI into service_recipe,  SERVICE_MODEL_UUID is ServiceProfile.ModelId

SO Database Update

Insert ORCHESTRATION_URI into service_recipe,  SERVICE_MODEL_UUID replaced by CST.ModelId.

INSERT INTO `catalogdb`.`service_recipe`(`ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `SERVICE_PARAM_XSD`, `RECIPE_TIMEOUT`,
`SERVICE_TIMEOUT_INTERIM`, `SERVICE_MODEL_UUID`) VALUES ('createInstance', '1', 'Custom recipe to create communication serviceslice\r\nservice-instance if no custom BPMN flow is found', '/mso/async/services/CreateCommunicationServiceCreateSliceService', NULL,  180180, NULL, 'c9252b26bfca8b32-f9cd3404-4e6c4e5c-988ca441-4d6ff39c6ddadc42b6823e88');
  
INSERT INTO `catalogdb`.`service_recipe`(`ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `SERVICE_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TIMEOUT_INTERIM`, `SERVICE_MODEL_UUID`) VALUES ('deleteInstance', '1', 'Custom recipe to delete communication service create slice\r\nservice-instance if no custom BPMN flow is found', '/mso/async/services/DeleteCommunicationServiceDeleteSliceService', NULL,  180180, NULL, 'c9252b26bfca8b32-f9cd3404-4e6c4e5c-988ca441-4d6ff39c6ddadc42b6823e88');
  
INSERT INTO `catalogdb`.`service_recipe`(`ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `SERVICE_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TIMEOUT_INTERIM`, `SERVICE_MODEL_UUID`) VALUES ('activateInstance', '1.0', 'activate communication service''/mso/async/services/ActivateCommunicationService', NULL, 180, NULL, 'c9252b26-f9cd-4e6c-988c-4d6ff39c6dda');

Insert ORCHESTRATION_URI into service_recipe,  SERVICE_MODEL_UUID is ServiceProfile.ModelId

...

INSERT INTO `catalogdb`.`service_recipe`(`ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `SERVICE_PARAM_XSD`, `RECIPE_TIMEOUT`,
`SERVICE_TIMEOUT_INTERIM`, `SERVICE_MODEL_UUID`) VALUES ('createInstance', '1', 'Custom recipe to create slice\r\nservice-instance if no custom BPMN flow is found', '/mso/async/services/CreateSliceService', NULL, 180, NULL,'bfca8b32-3404-4e5c-a441-dc42b6823e88');
  
INSERT INTO `catalogdb`.`service_recipe`(`ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `SERVICE_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TIMEOUT_INTERIM`, `SERVICE_MODEL_UUID`) VALUES ('deleteInstance', '1', 'Custom recipe to create slice\r\nservice-instance if no custom BPMN flow is found', '/mso/async/services/DeleteSliceService', NULL, 180, NULL, 'bfca8b32-3404-4e5c-a441-dc42b6823e88');
  
INSERT INTO `catalogdb`.`service_recipe`(`ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `SERVICE_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TIMEOUT_INTERIM`, `SERVICE_MODEL_UUID`) VALUES ('activateInstance', '1.0', 'Gr api recipe to activate service-instance', '/mso/async/services/ActivateSliceService', NULL, 180, NULL, 'bfca8b32-3404-4e5c-a441-dc42b6823e88');

'Gr api recipe to activate service-instance', '/mso/async/services/ActivateSliceService', NULL, 180, NULL, 'bfca8b32-3404-4e5c-a441-dc42b6823e88');


5.OOF Configuration


HAS-API - Add datadictionary 

Go to (conductor/conductor/data/plugins/inventory_provider/candidates/slice_profiles_candidate.py) 
add the following :
    "max_bandwidth": copy_first,
    "jitter": sum,
    "sst": copy_first,
    "latency": sum,
    "resource_sharing_level": copy_first,
    "s_nssai": copy_first,
    "s_nssai_list": copy_first,
    "plmn_id_list": copy_first,
    "plmn_id_List": copy_first,
    "availability": copy_first,
    "throughput": min,
    "reliability": copy_first,
    "max_number_of_ues": copy_first,
    "exp_data_rate_ul": copy_first,
    "exp_data_rate_dl": copy_first,
    "ue_mobility_level": copy_first,
    "activity_factor": copy_first,
    "survival_time": copy_first,
    "max_number_of_conns": copy_first,
    "coverage_area_ta_list": copy_first,
    "max_number_of_pdu_session": copy_first,
    "max_throughput": copy_first,
    "perf_req": copy_first,
    "terminal_density": copy_first

update those and restart the container


OSDF - Change slicing_config.yaml

  • add mapping :
     plmn_id_list: pLMNIdList    plmn_id_List: plmnIdList
  • change mapping (remove characther 's'): maxNumberofPDUSessions
    max_number_of_pdu_session: maxNumberofPDUSession 


5.OOF Configuration

OSDF CHANGES(FOR NST SELECTION) for Guilin Release

New NST templates can be added in. There is a json file present in the osdf folder, where the nst templates can be added with the corresponding ModelId and ModelInvariantUUID.

The json file is found in the osdf folder in the corresponding path

apps/nst/optimizers/conf/configIinputs.json

Image Removed

6. Policy Creation Steps

Refer Optimization Policy Creation Steps for optimization policy creation and deployment steps

...

This Simulator section is bypassed and a workaround is used to continue the flow. Workaround is done in the SDNC DG. <>

ranSliceApi not deployed into SDNC

This issue occurs because you need to set the env SDNR_NORTHBOUND=true for the sdnc-image. This is by default set to false. With this flag all sdnr-northbound features are installed during startup. 

How to fix it?

...

<>


ranSliceApi not deployed into SDNC

This issue occurs because you need to set the env SDNR_NORTHBOUND=true for the sdnc-image. This is by default set to false. With this flag all sdnr-northbound features are installed during startup. 

How to fix it?

    • Setting env into SDNC HELM CHART
    • You need to update the sdnc statefulset k8s resource by adding the new env param SDNC_NORTHBOUND = true

      SDNR_NORTHBOUND:                true
      Code Block
      - name: SDNR_NETCONF_CALLHOME_ENABLED
        value: "true"
      - name: SDNR_NORTHBOUND
        value: "true"
      image: nexus3.onap.org:10001/onap/sdnc-image:2.2.1


  • Rebuild the SDNC package and redeploy it.



Skipping TN Allocation 

In file oom/kubernetes/so/charts/so-bpmn-infra/resources/config/overrides/override.yaml, we add a new config flag:

mso: 
   workflow:
       TnNssmf:
            enableSDNCNetworkConfig: 'false'

...

Add param sdnrenabled: true , under config section, like below:

Code Block
config:
  sdnrenabled: true
  odlUid: 100
  odlGid: 101

...