Demo setup steps

1. OOF

OOF has to be configured with the config DB urls and redeployed.

Edit the oom/kubernetes/oof/values.yaml

configDbUrl: http://<ip>:<port>
configDbUserName:
configDbPassword:
configDbGetCellListUrl: 'api/sdnc-config-db/v3/getCellList'
configDbGetNbrListUrl: 'api/sdnc-config-db/v3/getNbrList'

2. DCAE

2.1. SON-Handler MS

Refer SON-Handler (PCI Usecase) for setting up SON-Handler MS in the DCAE.

2.2. VES-Collector

The usecase uses measurement domain for sending PM data to ONAP.  So "measurement" domain must be added to the VES. It can be added via consul UI. Add the following to the VES configuration in the consul UI. VES collector will use the new Configuration during runtime. 

              measurement=ves-measurement

3. Policy

There are two control policies that are being used in the usecase. Those two control loop policies has to be created and pushed into the policy.

Login to pdp container and execute the following commands

Create and push  Modify Config policy

Modify Config policy
curl -k --silent --user 'healthcheck:zb!XztG34' -X POST "https://policy-api:6969/policy/api/v1/policytypes/onap.policies.controlloop.Operational/versions/1.0.0/policies" -H "Accept: application/json" -H "Content-Type: application/json" -d @pci.json 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 @pci_push.json



Create and push Modify Config ANR policy

Modify Config ANR policy
curl -k --silent --user 'healthcheck:zb!XztG34' -X POST "https://policy-api:6969/policy/api/v1/policytypes/onap.policies.controlloop.Operational/versions/1.0.0/policies" -H "Accept: application/json" -H "Content-Type: application/json" -d @son.json 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 @son_push.json



4. SDN-C/SDN-R

Use the following or later docker images:

  • sdnc: onap/sdnc-image:1.6.0-SNAPSHOT-latest

  • dmaap-listener: onap/sdnc-dmaap-listener-image:1.6.0-SNAPSHOT-latest

The configuration changes to the DG properties file are required based on the environment:

  • Properties file: /opt/onap/ccsdk/data/properties/sdnr-oofpcipoc-api-dg.properties

  1. SSH into rancher node (or NFS/rancher node in El Alto)

  2. sudo su

  3. kubectl get pods -n onap -o wide | grep sdnc

  4. Execute the following command to all sdnc POD's to update properties file

    1. kubectl exec -it dev-sdnc-sdnc-x bash (x=0, 1, 2, depending upon number of sdnc replicas in the setup)

  5. Once in the docker, edit the properties file (/opt/onap/ccsdk/data/properties/sdnr-oofpcipoc-api-dg.properties)

  6. Make following configuration changes per setup

    1. If you are using RAN simulator per below in the setup, and performing Netconf mount, update the following flag to true

      1. ransim-mounted=true

    2. If ConfigDB is deployed, update the following flag to true

      1. configdb-deployed=true

    3. Update IP address for ConfigDB (a.b.c.d below)

      1. configdb.url=http://a.b.c.d:8080/api/sdnc-config-db/v3

The following is a temporary fix for dmaap-listener library files, and please do the following for the dmaap-listener docker:

  1. Execute the following command to all dmaap-listener POD's to copy relevant template map files

    1. kubectl exec -it -n onap dev-sdnc-sdnc-dmaap-listener-5b8d94959b-27mwf -- /bin/bash

  2. Once in the docker, create folder : /opt/app/dmaap-listener/lib/

  3. Copy following files to the above folder (/opt/app/dmaap-listener/lib/)

    1. cp /opt/onap/sdnc/dmaap-listener/lib/pci-changes-from-policy-to-sdnr.map /opt/app/dmaap-listener/lib/.

    2. cp /opt/onap/sdnc/dmaap-listener/lib/anr-changes-from-policy-to-sdnr.map /opt/app/dmaap-listener/lib/.

    3. cp /opt/onap/sdnc/dmaap-listener/lib/anr-pci-changes-from-policy-to-sdnr.vt /opt/app/dmaap-listener/lib/.

5. RAN-Simulator



Steps to build the RAN-Sim Controller setup:

1.  Clone and Checkout Ran-Sim Controller(use Dublin branch)

            git clone https://github.com/onap-oof-pci-poc/ran-sim.git

            cd ran-sim/ransim/

2.  Copy ‘m2_settings.xml’ from ‘<YOURFOLDER>/ransim/’ to <HOME>/.m2/ folder as settings.xml file after updating environment specific configurations. 

     If the file already exists in <HOME>/.m2/ folder, then merge this file content into the existing file appropriately.

     Note: settings.xml entries are mandatory to include dependencies.

3. Open the terminal and navigate to the '<YOURFOLDER>/ransim/ransimctrlr'

4.  The following capabilities can be modified in the 'ransim.properties' file based on user capabilities and configurations.

        File directory:

           <YOURFOLDER>/ransim/ransimctrlr/packages/base/src/files/install/servers/ransim/bin/ransim.properties

            a) serverIdPrefix:

                        Netconf server comman prefix (use default value present in the file)

            b) numberOfCellsPerNCServer:

                        Maximum number of cells that can be handled in a single netconf server(use default value present in the file).

            c) numberOfProcessPerMc:

                        Maximum number of netconf servers that can run in a single machine(use default value present in the file, which is for a machine of 8 GB RAM)

                        (A single netconf server uses approximately 350MB).

            d) numberOfMachines:

                        Maximum number of machines available(use default value present in the file).

            e) GridSize: (Applicable only for HONEYCOMB representation)

                        The number of cells that can be accommodated along one side of the cluster for an auto-generated layout.

                         However, it has no relevance now, as the initial layout is generated from a file. So use default value as 1.

            f) strictValidateRansimAgentsAvailability:

                        A boolean value to check if any RAN-Sim agents are running (use default value present in the file).

            g) sdnrServerIp:

                       Neglect(Refer point 5 to update SDNR details).

            h) sdnrServerPort:

                       Neglect(Refer point 5 to update SDNR details).

            i) sdnrServerUserid:

                        Negelct (Refer point 5 to update SDNR details).

            j) sdnrServerPassword:

                        Negelct (Refer point 5 to update SDNR details).

            k) maxPciValueAllowed:

                        maximum value of the physical cell Id. (Default is 503).

           l)dumpFileName

                        Location of the dumpfile to load the topology.

                        The dump file is loaded from '<YOURFOLDER>/ransim/docker/config'. A sample dump file - 'sample.json' contains deatils of 1000 cells.

                         For the controller to access the dump file from the the above location use the path - /tmp/ransim-install/config/sample.json

5. The SDNR details can be updated in the file '<YOURFOLDER>/ransim/docker/docker-compose.yml'.

                    environment:

                           - SDNR_IP={SDNR IP address}

                          - SDNR_PORT={SDNR port number}

                           - SDNR_USER={SDNR user ID}

                           - SDNR_PASSWORD={SDNR user password}

6.  Run the following command in the terminal

                        mvn clean install

7. After successful build navigate to '<YOURFOLDER>/ransim/docker' directory.

8. Run the following three commands in the terminal:

                        'mvn prepare-package'

                        'docker build -t onap/ransim-demo ransim-docker'

                        'docker-compose up'

 Note: Use docker compose version 1.6.0 or above.

Once the ransim and mariadb containers are started, you can see logs similar to below image      

9. Access the GUI using the following url in the web browser:

                         ‘http://<yourIP>:8081/ransimui/index.html

10. Access the swagger ui using the following url:

                        ‘http://<yourIP>:8081/ransim/api/swagger-ui.html

11. Try the following url in Websocket client extension in the web browser to verify the connectivity:

                        ‘ws://<yourIP>:8081/ransim/RansimAgent/hai’



Steps to check the RAN-Sim Controller logs

1. Open the console and enter the following command:

            'docker ps'

2. Once the container details is displayed enter the following command:

            docker exec -it ransim bash

3. Navigate to '/opt/app/policy/servers/ransim/logs' using the cd command.

4. Execute the following command to check the logs:

            'tail -f ransim-rest.log'