SDN-R is modified for

  • RANSlice Instantiation
  • RANSlice Modification
  • RANSlice Activation
  • RANSlice Deactivation
  • RANSlice Termination
  • Closed Loop (covers intelligent slicing)

Refer the end-to-end RAN Slicing flow: https://wiki.onap.org/display/DW/RAN+Slicing+Flow

Assumptions & Limitations:

  1. PLMNInfo
    1. sNSSAI is configured in NRCellDU, NRCellCU, gNBCUUPFunction
    2. ConfigDB updates are not handled for activate and deactivate flows
  2. RRMPolicy
    1. rRMPolicyDedicatedRatio is alone considered for this release which indicates that resource sharing is not allowed across the RRMPolicymemberslist
    2. RRMPolicy update is handled for NRCellDU, NRCellCU, gNBCUUPFunction
  3. YANG Model
    1. NearRTRIC sliceprofile is not updated to Netconf in G-release

RAN Slice Lifecycle Management

SDNR Development

DMaapInterfaces & I/O parameters:

SO (RAN NSSMF) → SDN-C :

Topic Details:

Consumer Topics: (Polls messages from SO)

      1. RAN-Slice-Mgmt – Requests from SO are posted at this topic. The same topic is used for all RPCs

Asynchronous Response: 

      1. Call back to SO is sent via Rest API

DMaap Messages:

RAN NF NSSI Allocation

Request
{
	"body": {
		"input": {
			"action": "allocate",
			"payload": "{ \"input\": { \"sliceProfile\": { \"sliceProfileId\": \"1002\", \"sNSSAI\": \"2002\", \"maxNumberofUEs\": 20000, \"latency\": 10, \"uLThptPerSlice\": 3000, \"dLThptPerSlice\": 3000, \"maxNumberofConns\": 4000, \"coverageAreaList\": [\"Kingston\"], \"uEMobilityLevel\": \"\", \"resourceSharingLevel\": \"\", \"pLMNIdList\": [\"310-410\"] }, \"RANNSSIId\": \"\", \"RANNFNSSIId\": \"\", \"callbackURL\": \"\", \"additionalproperties\": { } } }",
			"common-header": {
				"timestamp": "2020-09-30T09:13:37.368Z",
				"api-ver": "1.0",
				"originator-id": "testing",
				"request-id": "9d2d790e-a5f0-11e8-98d0-529269fb1459",
				"sub-request-id": "",
				"flags": {
					"mode": "EXCLUSIVE",
					"force": "TRUE",
					"ttl": "0"
				}
			}
		}
	},
	"version": "1.0",
	"rpc-name": "instantiateRANSlice",
	"correlation-id": "9d2d790e-a5f0-11e8-98d0-529269fb1459-1",
	"type": "request"
}

RAN NF NSSI Modification

Requests available for below actions:

  1. modify-allocate
  2. modify-deallocate
  3. closed loop
  4. intelligent slicing
Request
modify-allocate

{
    "body": {
        "input": {
            "action": "modify-allocate",
            "payload": "{\"input\":{\"sliceProfile\":{\"sliceProfileId\":\"b594-e98r-c7f2-ij78\",\"sNSSAI\":\"101-10000\",\"maxNumberofUEs\": 5000, \"uLThptPerSlice\":3000,\"dLThptPerSlice\":3000,\"maxNumberofConns\":4000},\"RANNFNSSIId\":\"ab9af40f13f721b5f13539d87484098\",\"callbackURL\":\"http://so-bpmn-infra.onap:8081/mso/WorkflowMessage/AsyncSdnrResponse/9d2d790e-a5f0-11e8-98d0-529269fb1459\",\"globalSubscriberId\":\"5GCustomer\",\"subscriptionServiceType\":\"5G\",\"additionalproperties\":{\"resourceConfig\":{}}}}",
            "common-header": {
                "timestamp": "2020-09-30T09:13:37.368Z",
                "api-ver": "1.0",
                "originator-id": "testing",
                "request-id": "9d2d790e-a5f0-11e8-98d0-529269fb1459",
                "sub-request-id": "",
                "flags": {
                    "mode": "EXCLUSIVE",
                    "force": "TRUE",
                    "ttl": "0"
                }
            }
        }
    },
    "version": "1.0",
    "rpc-name": "instantiateRANSlice",
    "correlation-id": "9d2d790e-a5f0-11e8-98d0-529269fb1459-1",
    "type": "request"
}


modify-deallocate

{
    "body": {
        "input": {
            "action": "modify-deallocate",
            "payload": "{\"input\":{\"sliceProfile\":{\"sliceProfileId\":\"b594-e98r-c7f2-ij78\",\"sNSSAI\":\"001-100001\",\"maxNumberofUEs\": 5000, \"uLThptPerSlice\":3000,\"dLThptPerSlice\":3000,\"maxNumberofConns\":4000},\"RANNFNSSIId\":\"ab9af40f13f721b5f13539d87484098\",\"callbackURL\":\"\",\"globalSubscriberId\":\"5GCustomer\",\"subscriptionServiceType\":\"5G\",\"additionalproperties\":{\"resourceConfig\":{}}}}",
            "common-header": {
                "timestamp": "2020-09-30T09:13:37.368Z",
                "api-ver": "1.0",
                "originator-id": "testing",
                "request-id": "9d2d790e-a5f0-11e8-98d0-529269fb1459",
                "sub-request-id": "",
                "flags": {
                    "mode": "EXCLUSIVE",
                    "force": "TRUE",
                    "ttl": "0"
                }
            }
        }
    },
    "version": "1.0",
    "rpc-name": "instantiateRANSlice",
    "correlation-id": "9d2d790e-a5f0-11e8-98d0-529269fb1459-1",
    "type": "request"
}


Closed Loop

{
	"body": {
		"input": {
			"action": "reconfigure",
			"payload": "{ \"input\": { \"sliceProfile\": { \"sliceProfileId\": \"b594-e98r-c7f2-ij78\", \"sNSSAI\": \"100-10000\" }, \"RANNFNSSIId\": \"\", \"callbackURL\": \"http:\/\/so-bpmn-infra.onap:8081\/mso\/WorkflowMessage\/AsyncSdnrResponse\/9d2d790e-a5f0-11e8-98d0-529269fb1459\", \"additionalproperties\": { \"resourceConfig\": { \"data\": [{ \"nearRTRICId\": \"11\", \"dLThptPerSlice\": 50, \"uLThptPerSlice\": 40 }, { \"nearRTRICId\": \"22\", \"dLThptPerSlice\": 50, \"uLThptPerSlice\": 30 } ] } } } }",
			"common-header": {
				"timestamp": "2020-09-30T09:13:37.368Z",
				"api-ver": "1.0",
				"originator-id": "testing",
				"request-id": "9d2d790e-a5f0-11e8-98d0-529269fb1459",
				"sub-request-id": "",
				"flags": {
					"mode": "EXCLUSIVE",
					"force": "TRUE",
					"ttl": "0"
				}
			}
		}
	},
	"version": "1.0",
	"rpc-name": "instantiateRANSlice",
	"correlation-id": "9d2d790e-a5f0-11e8-98d0-529269fb1459-1",
	"type": "request"
}



Intelligent Slicing

{
	"body": {
		"input": {
			"action": "reconfigure",
			"payload": "{ \"input\": { \"sliceProfile\": { \"sliceProfileId\": \"b594-e98r-c7f2-ij78\" }, \"RANNFNSSIId\": \"\", \"callbackURL\": \"http:\/\/so-bpmn-infra.onap:8081\/mso\/WorkflowMessage\/AsyncSdnrResponse\/9d2d790e-a5f0-11e8-98d0-529269fb1459\", \"additionalproperties\": { \"resourceConfig\":  { \"snssai\": \"0001-0111\", \"data\": [{ \"gNBCUName\": \"cucpName\", \"nearRTRICId\": \"NearRTRIC1\", \"cellCUList\": [{ \"cellLocalId\": 111, \"configData\": { \"maxNumberofConns\": \"20\", \"predictedMaxNumberofConns\": \"25\", \"lastUpdatedTS\": \"yyyy\/MM\/dd HH:mm:ss\" } }, { \"cellLocalId\": 112, \"configData\": { \"maxNumberofConns\": \"20\", \"predictedMaxNumberofConns\": \"25\", \"lastUpdatedTS\": \"yyyy\/MM\/dd HH:mm:ss\" } } ] }, { \"gNBCUName\": \"cucpName2\", \"nearRTRICId\": \"NearRTRIC2\", \"cellCUList\": [{ \"cellLocalId\": 113, \"configData\": { \"maxNumberofConns\": \"20\", \"predictedMaxNumberofConns\": \"25\", \"lastUpdatedTS\": \"yyyy\/MM\/dd HH:mm:ss\" } }, { \"cellLocalId\": 114, \"configData\": { \"maxNumberofConns\": \"20\", \"predictedMaxNumberofConns\": \"25\", \"lastUpdatedTS\": \"yyyy\/MM\/dd HH:mm:ss\" } } ] } ] }  } } }",
			"common-header": {
				"timestamp": "2020-09-30T09:13:37.368Z",
				"api-ver": "1.0",
				"originator-id": "testing",
				"request-id": "9d2d790e-a5f0-11e8-98d0-529269fb1459",
				"sub-request-id": "",
				"flags": {
					"mode": "EXCLUSIVE",
					"force": "TRUE",
					"ttl": "0"
				}
			}
		}
	},
	"version": "1.0",
	"rpc-name": "instantiateRANSlice",
	"correlation-id": "9d2d790e-a5f0-11e8-98d0-529269fb1459-1",
	"type": "request"
}

RAN NF NSSI Termination

Request
{
	"body": {
		"input": {
			"CommonHeader": {
				"TimeStamp": "2018-11-30T09:13:37.368Z",
				"APIver": "1.0",
				"RequestID": "9d2d790e-a5f0-11e8-98d0-529269fb1459",
				"SubRequestID": "1",
				"RequestTrack": {},
				"Flags": {}
			},
			"Action": " deallocate ",
			"Payload": "{\"input\":{\"RANNFNSSIId\":\"79f2ce09-3de3-44cb-aa05-cae0cbe8f778\",\"callbackURL\":\"\",\"sNSSAI\":\"001-100001\",\"sliceProfileId\":\"4b7c3c8f-eb79-401a-b40b-290d74f5b189\",\"additionalproperties\":{}}}"
		}
	},
	"version": "1.0",
	"rpc-name": "terminateRANSliceInstance",
	"correlation-id": "9d2d790e-a5f0-11e8-98d0-529269fb1459-1",
	"type": "request"
} 

RAN NF NSSI Activation

Request
{
    "body": {
        "input": {
            "action": "activate",
            "payload": "{\"input\":{\"sliceProfileId\":\"1002\",\"RANNFNSSIId\":\"ccb2f161-f1a7-4f9e-aa2b-9e2965e3c8a0\",\"callbackURL\":\"http://so-bpmn-infra.onap:8081/mso/WorkflowMessage/SDNRActivateResponse/ecf745ab-167d-49b3-8f62-8218f2e6eb8a\",\"sNSSAI\":\"101-10000\"}}",
            "common-header": {
                "timestamp": "2020-09-30T09:13:37.368Z",
                "api-ver": "1.0",
                "request-id": "ecf745ab-167d-49b3-8f62-8218f2e6eb8a",
                "sub-request-id": "1"
            }
        }
    },
    "version": "1.0",
    "rpc-name": "activateRANSliceInstance",
    "correlation-id": "ecf745ab-167d-49b3-8f62-8218f2e6eb8a",
    "type": "request"
}

RAN NF NSSI Deactivation


Request
{
    "body": {
        "input": {
            "action": "deactivate",
            "payload": "{\"input\":{\"sliceProfileId\":\"1002\",\"RANNFNSSIId\":\"ccb2f161-f1a7-4f9e-aa2b-9e2965e3c8a0\",\"callbackURL\":\"http://so-bpmn-infra.onap:8081/mso/WorkflowMessage/SDNRActivateResponse/ecf745ab-167d-49b3-8f62-8218f2e6eb8a\",\"sNSSAI\":\"101-10000\"}}",
            "common-header": {
                "timestamp": "2020-09-30T09:13:37.368Z",
                "api-ver": "1.0",
                "request-id": "ecf745ab-167d-49b3-8f62-8218f2e6eb8a",
                "sub-request-id": "1"
            }
        }
    },
    "version": "1.0",
    "rpc-name": "activateRANSliceInstance",
    "correlation-id": "ecf745ab-167d-49b3-8f62-8218f2e6eb8a",
    "type": "request"
}

Callback response to SO is sent through REST API.Callback:

EndPoint URL: Comes in SO request

Callback Response
{
  "status": "",
  "reason": {},
  "requestId": "",
  "action": "",
  "nfIds":{
	"CUCPs":[],
    "CUUPs":[],
     "DUs":[]
   }
}

CUCPs - List of gNBCUNames configured as part of this request

CUUPs - List of gNBCUUPId

DUs - List of gNBDUId

DMaap Consumer – RPC Mapping 

Scenarios

Action in DMaap message

RPC to invoke

ConfigureNSSI

allocate, modify-allocate, modify-deallocate, reconfigure

instantiateRANSlice

terminateNSSI

terminate

terminateRANSliceInstance

activateNSSI

activate

activateRANSliceInstance

deactivateNSSI

deactivate

activateRANSliceInstance

 RPCs Supported 

  1. configureNearRTRIC
  2. configureCU
  3. configureDU
  4. configureRANSliceInstance
  5. instantiateRANSlice
  6. terminateRANSliceInstance
  7. determineRANSliceResources - Not covered in G-release
  8. activateRANSliceInstance
  9. deactivateRANSliceInstance -  As this RPC repeats most of the actions of activateRANSliceInstance, it is clubbed with activateRANSliceInstance
  10. CMNotify - Not covered in G-release

RPCs 1,2,3, & 4 are grouped and implemented as a single RPC 'instantiateRANSlice'.

RPCs in detail

1. InstantiateRANSlice

        This RPC,

           a) Allocates resources for a slice subnet instance

           b) Configures NSSAI in RAN slice resources – cells, CU’s, DU’s, Near-RT RIC

           c) Updates Slice details in Config DB 

      Request: Dmaap payload as string

      Actions supported: allocate, modify-allocate, modify-deallocate, reconfigure

      allocate - new RAN Slice created across RAN manged elements covered in the Tracking Area (TA) in the DMAAP request. Managed elements for TA is obtained from ConfigDB.

      modify-allocate - sharing existing RAN slice for a new sNSSAI

      modify-deallocate - sNSSAI is removed from the existing RAN Slice when the RAN Slice is shared among more than one sNSSAI and it cannot be terminated. terminateRANSliceInstance RPC is used to          handle this action.

      reconfigure - indicates closed loop or intelligent slicing. It is differentiated, based on the resourceConfig received in the Dmaap payload.

 2. ActivateRANSliceInstance

          a) Update the RAN resources status as ‘activated’. This is needed to enable the traffic flow

          b) Currently, the status of sNSSAI is set to 'ÁCTIVE' for activate, 'INACTIVE' for deactivate

          c) Config DB will be updated

      Request: Dmaap payload as string     

      Action : activate, deactivate

4. TerminateRANSliceInstance

          a) Deallocate resources for a slice subnet instance

          b) Disassociate xNF’s to a slice subnet instance

          c) Remove RAN slice from Config DB

      Request: Dmaap payload as string

      Action: terminate

 Config DB updates

RPC

Entities to update

instantiateRANSlice

NearRTRIC, GNBDUFunction,  NRCellDU,  RRMPolicy, GNBCUCPFunction,

GNBCUUPFunction,  NRCellCU, RANSliceInventory, SliceProfile

terminateRANSlice

NearRTRIC, GNBDUFunction,  NRCellDU,  RRMPolicy, GNBCUCPFunction,

GNBCUUPFunction,  NRCellCU, RANSliceInventory, SliceProfile

Refer Config DB for schema details.

  • No labels

16 Comments

  1. Hi,

    RAN-Slice-API graphs in the dgbuilder is not actually configuring CU/DU it only prints hardcoded message as "API Has Been Invoked".

    Just wanted to know what's the status of RAN-Slice-API implementation for RPC InstantiateRANSlice , ActivateRANSlice etc.

    1. Implementation has been done. Please check the latest image. ActivateRANSlice is yet to be tested.

  2. Hi,

    Thank you for your quick support.
    We have used latest Guilin OOM charts and dgbuilder  image used is  onap/ccsdk-dgbuilder-image:1.0.2 which is the latest image available on nexus repository. 

    Here, ran slice api graphs are implemented as below which is just printing hardcoded messages.

    1. Please note that configureCU implementation is included as part of instantiateRanSlice. instantiateRanSlice rpc takes care of updating all the NFs.

  3. Hi Ahila,

    Looks like latest image for dg builder is also not having the implementation for ran-slice-api module rpcs. Could you please let us know which version of dgbuilder is having the implementation for ran-slice-api rpcs (configureNearRTRIC, instantiateRanSlice etc)?

    Thanks in advance.

    With Regards,

    Ravi

    1. Hi, 

      onap/ccsdk-dgbuilder-image-1.1.2 or 1.1.3-SNAPSHOT versions contains the latest changes. Please try with these images and let me know, if it doesn't work.

      Please note that configureNearRTRIC implementation is included as part of instantiateRanSlice. instantiateRanSlice rpc takes care of updating all the NFs.

      1. Hi Ahila P,


        As per your suggestion we tried using onap/ccsdk-dgbuilder-image-1.1.2 and  1.1.3-SNAPSHOT-latest image but here also  ran-slice-api rpc's  dont have any implementation and  its printing the same hardcoded message.

         

        and one of the rpc i.e. instantiateRANSlice  RPC implementation is as below.

        1. Hi Vishal,

          As a workaround, please copy the DGs from gerrit to /opt/onap/sdnc/svclogic/graphs/ranSliceapi/ directory inside sdnc container and start the ./install.sh script inside /opt/onap/sdnc/svclogic/bin to activate the DGs. I will check on this issue and come back.

          DGs needed for instantiateRANSlice

          DG: ran-slice-api_instantiateRANSlice.xml

          subDG: ran-slice-api_instantiateRANSliceAllocate.xml

          Thanks,

          Ahila P.

          1. Hi Ahila P,


            Thank you for your support.

            We have managed to upload the latest ran-slice-api graphs and its available in dgbuilder and database.

            When we were trying to test it found one issue that sdnc.odl.url-base property was configured to http://sdnc-oam.onap:8282/restconf/operations which is wrong so we were getting timeout exception. So I changed it to http://sdnc.onap:8282/restconf/operations and dmaap-listener was able to send request to the ODL successfully.

            But now ODL is sending 400 Bad request error.

            can you please help us here what to do next ?

            1. Hi Vishal Varvate,

              Please check if the ran-slice DG XMLs are placed in the sdnc container at /opt/onap/sdnc/svclogic/graphs/ranSliceapi.

              Check from DG UI whether the DGs(version - ${project.version}) are in activated state.

              Thanks,

              Ahila P.

              1. Hi Ahila P.

                Sorry for delayed response.

                Yes all ran-slice-api DGs are in active state only.

                But still we are getting the same error in ran-slice-consumer 

                Can you please help on this ?



                1. Hi Vishal Varvate , have you solved the issue about "ran-slice-api" rpc not implemented?

                  Thanks,

                  Aniello

                  1. Hi Aniello Paolo Malinconico ,


                    Dg's of ran-slice-api were not present in ran-slice-api module.Alternatively we manually added those dg's and finally used the ran-slice-api.

                    Not sure about the latest H release if its already having all the DG's  if so then there is  no need to add it manually.

  4. Thanks for immediate response

  5. Hi Ahila P , all!

    Greetings from O-RAN-SC projects O-DU, OAM, SIM (smile)

    We would like to add for

    • RANSlice Instantiation
    • RANSlice Modification
    • RANSlice Activation
    • RANSlice Deactivation
    • RANSlice Termination

    slightly different configuration on the RAN nodes (O-DU and O-RU /in hybrid mode) based on the Yang definitions by O-RAN WG4 OpenFronthaul-Management-Plane and O-RAN-SC O-DU yang models. 

    Questions:

    1. Is there a need to update SO in order to distinguish the different results in the RAN configuration southbound of ONAP/SDN-R (I hope not as this should be handled by SDN-R only, but I'm not sure)
    2. In case the differences can and should be handled on SDN-R level only, is our understanding correct that the DG XMLs in sdnc container at /opt/onap/sdnc/svclogic/graphs/ranSliceapi must be modified according to the exposed yang interface by O-RAN and O-RAN-SC
    3. The impact on CPS (former ConfigDB) is not clear - Is there an impact? - Can or should any impact on CPS avoided by a kind a O-RAN/CPS adapter?

    Any guidance and feed back would help to integration O-RAN/O-RAN-SC artifacts into this solution.

    Info to:  N.K. Shankaranarayanan ; Sandeep Shah ; Manasi Padhy ; HariomGupta(HCL) ; @Vidhu ; Hanif Kukkalli ; Alexander Dehn ; krishna moorthy ; Goutam Roy 


    1. Hi Martin Skorupski

      Thank you for the interest !!! I replied to these questions through mail. 

      Thanks & Regards,

      Ahila P.