This page describes how to run current implementation for the O-DU Slice Assurance usecase.
Table of Contents |
---|
Standalone script version
The standalone script version of the usecase is implemented in Golang.
It provides a simulator that stub both Dmaap MR and SDNR (orange boxes in the picture below), so both processes can share its data.
Prerequisites
The following need to be installed to run the script according to these instructions:
- Go must be installed, see https://go.dev/doc/install.
- Pull the nonrtric repo, https://gerrit.o-ran-sc.org/r/admin/repos/nonrtric.
Run
Run Dmaap MR / SDNR stub
This stub has been coded on Go, similar to the simulator used in O-RU O-DU Closed loop recovery use case previously described. However, this stub simulates both Dmaap VES messages and also SDNC. By default, the stub listens to port 3905, can be changed with the flag "--sdnr-port".
To run the stub, follow the steps below:
- Goto "test/usecases/odusliceassurance/goversion/stub" in the repo.
- Build the stub, "go build".
- Start the stub, "./stub"
Code Block | ||||
---|---|---|---|---|
| ||||
cd nonrtric/test/usecases/odusliceassurance/goversion/stub go build ./stub [--sdnr-port <portNo>] [--dmaap-port <portNo>] Example: └─ $ ▶ ./sdnr --sdnr-port 3906 Starting DmaapMR stub on port: 3905 Starting SDNR stub on port: 3606 |
Run O-DU Slice Assurance Rapp
The application takes a number of environment variables for configuration, but only MR_HOST and MR_PORT are required, others are optional. More information can be found in README.md file
...
Code Block | ||||
---|---|---|---|---|
| ||||
Example: └─ $ ▶ MR_HOST=http://localhost MR_PORT=3905 ./oduclosedloop |
Control loop version
The usecase can also be instantiated as a control loop that will create a micro-service for the O-DU slice assurance app. The control loop can be created by following the detailed instructions provided in b) Control loop for script version. However, for this usecase, only one helm chart (for odu-app) needs to be copied into the kubernetes-participant and it is located at this path in the nonrtric repo:
Code Block | ||
---|---|---|
| ||
nonrtric/test/usecases/odusliceassurance/goversion/helm/odu-app/ |
Moreover, the tosca template to be commissioned for this control loop is given below:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
tosca_definitions_version: tosca_simple_yaml_1_1_0
data_types:
onap.datatypes.ToscaConceptIdentifier:
derived_from: tosca.datatypes.Root
properties:
name:
type: string
required: true
version:
type: string
required: true
node_types:
org.onap.policy.clamp.controlloop.Participant:
version: 1.0.1
derived_from: tosca.nodetypes.Root
properties:
provider:
type: string
requred: false
org.onap.policy.clamp.controlloop.ControlLoop:
version: 1.0.1
derived_from: tosca.nodetypes.Root
properties:
provider:
type: string
requred: false
elements:
type: list
required: true
entry_schema:
type: onap.datatypes.ToscaConceptIdentifier
org.onap.policy.clamp.controlloop.ControlLoopElement:
version: 1.0.1
derived_from: tosca.nodetypes.Root
properties:
provider:
type: string
requred: false
participant_id:
type: onap.datatypes.ToscaConceptIdentifier
requred: true
org.onap.policy.clamp.controlloop.K8SMicroserviceControlLoopElement:
version: 1.0.1
derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
properties:
chart:
type: string
required: true
configs:
type: list
required: false
requirements:
type: string
requred: false
templates:
type: list
required: false
entry_schema:
values:
type: string
requred: true
topology_template:
node_templates:
org.onap.domain.sliceassurance.SliceAssuranceControlLoopDefinition1:
version: 1.2.3
type: org.onap.policy.clamp.controlloop.ControlLoop
type_version: 1.0.1
description: Control loop for Slice Assurance
properties:
provider: Ericsson
elements:
- name: org.onap.domain.sliceassurance.OduAppK8SMicroserviceControlLoopElement
version: 1.2.3
org.onap.k8s.controlloop.K8SControlLoopParticipant:
version: 2.3.4
type: org.onap.policy.clamp.controlloop.Participant
type_version: 1.0.1
description: Participant for k8s
properties:
provider: ONAP
org.onap.domain.sliceassurance.OduAppK8SMicroserviceControlLoopElement:
version: 1.2.3
type: org.onap.policy.clamp.controlloop.K8SMicroserviceControlLoopElement
type_version: 1.0.1
description: Control loop element for odu-app
properties:
provider: ONAP
participant_id:
name: K8sParticipant0
version: 1.0.0
participantType:
name: org.onap.k8s.controlloop.K8SControlLoopParticipant
version: 2.3.4
chart:
chartId:
name: odu-app
version: 0.1.0
releaseName: odu-app
repository:
repoName: chartmuseum
namespace: nonrtric
overrideParams:
image.repository: nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-o-du-slice-assurance
image.tag: 1.0.0
messagerouter.host: http://message-router.onap
messagerouter.port: 3904
sdnr.address: http://sdnr-simulator:9990
|
NOTE: The default hostname/port for sdnr and message-router are specified in overrideParams of the above file. They should be replaced with actual values if using different hostname/port.