Versions Compared

Key

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

Manual Configuration:

This configuration is required to enable the ranSlice features in SDN-R.

SDNC:

  •  Create the below environment variable in the helm chart at kubernetes/sdnc/templates/statefulset.yaml (for sdnc container). 

+          - name: SDNR_NORTHBOUND
+            value: "{{ .Values.config.sdnr.enabled | default "false"}}"

  • Make the SDNC chart and then deploy.
  • Execute the following command to log into the sdnc container 
    1. kubectl exec -it dev-sdnc-0 bash 
  • Once in the docker container, edit the properties file  /opt/onap/ccsdk/data/properties/ran-slice-api-dg.properties

POLICY:

  • Login to the policy-drools-pdp container and check if the value 'actor.service.SO.operations.Modify\ NSSI.path=3gppservices/v1/modify' is present in the below file:
    • kubectl exec -ti -n onap dev-policy-drools-pdp-0 sh
    • /opt/app/policy/config/event-manager.properties
  • If value not present update the policy-drools-pdp-image to this version'/onap/policy-pdpd-cl:1.10.2-20220413T1305' or any version after '1.10.2'


Policies needed:

Execute these curl requests from any of the running pods.

...

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": "usecases"
               }
            }
         }
        ]
    }
}


To push the policy:

curl --silent -k --user 'policyadmin: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
    }
  ]
}

Deployment Prerequisite/dependencies

...

  1. Download the configDb source files from configdb-3.0.0.zip
  2. cd configdb (after extracting the files)
  3. Setup and run maridb container
    1. sudo docker run -p 3306:3306 -v $PWD/SDNC_ConfigDB_SchemaV4.sql:/docker-entrypoint-initdb.d/SDNC_ConfigDB_SchemaV4.sql --name mariadb -e MYSQL_ROOT_PASSWORD=password -d mariadb
  4. Navigate to project directory
    1. cd configdb/Config-DB-API-App
  5. Build the application
    1. JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/ mvn clean install
  6. Run the application
    1. JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/ mvn spring-boot:run &
  7. Run this script to load sample data data config_requests_script_intelligent_slicing.shSample data to insert slice-profile configdb-data.txt


CPS and CPS-TBDMT:

CPS:

  1. git clone "https://gerrit.onap.org/r/cps
  2. cd cps/
  3. mvn clean install
  4. cd docker-compose/
  5. docker-compose up

...

  1. git clone "https://gerrit.onap.org/r/cps/cps-tbdmt
  2. cd cps-tbdmt/
  3. mvn clean install
  4. cd docker-compose/
  5. update cps & ncmp ip-address in application.yml
  6. cps-tbdmt/docker-compose/application.yml should have the below mapping under the section schemaToAnchor:
    1. schemaToAnchor:
          ran-coverage-area: coverage-area-onap
          e2e-cavsta-schemaset: e2e-cavsta1
          CSIT-SchemaSet: CSIT-Anchor
          ns-schemaset: ns-anchor
          ran-network: 11
          ran-inventory: ran-inventory-anchor
  7. docker-compose up (use the image built using the above steps in the docker-compose file)

Creating dataspace: 
curl --location --user cpsuser:cpsr0cks! -H "Accept: application/json" -H "Content-Type: application/json" \
--request POST \
http://$CPS_IP:8080/cps/api/v1/dataspaces?dataspace-name=E2EDemo

Creating schema set: 

ran-network.zip
curl --location --user cpsuser:cpsr0cks! \
--request POST \
http://$CPS_IP:8080/cps/api/v1/dataspaces/E2EDemo/schema-sets --form 'file=@"ran-network.zip"' --form 'schema-set-name="ran-network"'

...

Uploading cps sample data:

payload-ran-network.json
curl --location --user cpsuser:cpsr0cks! --request POST \
http://$CPS_IP:8080/cps/api/v1/dataspaces/E2EDemo/anchors/11/nodes \
--header 'Content-Type: application/json' \
-d @payload-ran-network.json

ran-inventory-sample-data.json

curl --location --user cpsuser:cpsr0cks! --request POST \
http://$CPS_IP:8080/cps/api/v1/dataspaces/E2EDemo/anchors/ran-inventory-anchor/nodes \
--header 'Content-Type: application/json' \
-d @ran-inventory-sample-data.json ran-inventory-sample-data.json 


Uploading tbdmt-templates:

...

      2. Give chmod 777 to upload folder which will be created automatically in the home dir.

ML-prediction-ms:

  1. git clone "https://gerrit.onap.org/r/dcaegen2/services"(use patchset ml-prediction-ms if code not merged)
  2. cd services/components/ml-prediction-ms
  3. Update Ransim, Dmaap and ConfigDB IPAddress/Port details in ml-prediction-ms.config
  4. Build docker image using: 'docker build -t ml-prediction-ms:latest .'
  5. Run the ml-prediction-ms container.
    1. docker run -d --name ml-prediction-ms -p "5000:5000"  ml-prediction-ms:latest
  6. To view the logs:
    1. docker exec -ti ml-prediction-ms bash
    2. tail -f IntelligentSliceMl.log


NOTE: Use sample data attached under CONFIGDB, RANSIM and CPS if E2E communication service is not done.