Versions Compared

Key

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

...

  1. Clone the repo from : git clone https://gerrit.onap.org/r/integration/simulators/ran-simulator
  2. Import the latest SDNC certificate into ransim

    1. Download the SDNC cacerts from browser.

    2. Import the cacert file into the directory ran-simulator/ransim/docker/config/ransim/ and name it as 'jssecacerts'.(Sample step to import shown below)

      • keytool -import -noprompt -trustcacerts -alias SDNC -file <certsfile> -keystore /ransim/docker/config/ransim/jssecacerts -storepass changeit

  3. Go to the ran-simulator/ransim directory and build the project : JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/ mvn clean install -P docker
    (Note: make sure you have setup up your maven config as described here.)
  4. From docker folder, run the following after building the images locally : docker-compose up
  5. Access the GUI using the following url in the web browser: http://localhost:8081/ransimui/index.html
  6. Click ‘Start’ button to start the simulation and choose the "sample.json" file and click Configure. Wait till you see success message either in the logs or in the UI. (Might take 5-10 minutes to load data)To access the logs:
    docker exec –ti ransim bash
    policy@ransim:/tmp/ransim-install$ tail -f /opt/app/policy/servers/ransim/logs/ransim-rest.log 
  7. Refresh the page to see the cells.
  8. Setup honeycomb (Refer HONEYCOMB section). Click ‘Netconf Details’ to see the running netconf servers.
  9. Right click on cell Chn0005 (scroll to the very top right on the cell map to find it) and click Show Neighbors to view the neighboring cells.
  10. To trigger collision/confusion , right click on Chn0005 and click Modify Neighbors option. Add ‘,Chn0012,Chn0116,Chn0071’ as neighbours and submit. Refresh page.
    Check netconf server ncserver1 logs to see FM notification.
  11. To generate PM data: Click ‘Start’ button under PM data with the below values:
    Bad HO metrics leading to neighbor blacklist 
     bad : Chn0009
     poor : Chn0005

...

Follow the steps below to setup the honeycomb environment:

  • Clone the repo from : git clone https://github.com/onap-oof-pci-poc/ran-sim
  • Go to the ran-sim/hcsim-content/enodebsim directory and build the project : JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/ mvn clean install -Dcheckstyle.skip

...

  • (Note: the project comes with it's own maven settings in ran-sim/

...

  • hcsim-

...

  • content/

...

  • m2_settings.xml, that are required on top of the standard ONAP settings to build this.
  • Go to the ran-sim/Netconf-Agents/hc_50000 directory , 

     (if changes to enodebsim-impl are made run below command to place the jar) 

     cp -r ~/ran-sim/hcsim-content/enodebsim/enodebsim-impl/target/enodebsim-impl-1.0.0-SNAPSHOT.jar lib/org/onap/ransim/enodebsim-impl/1.0.0-SNAPSHOT/

  • Execute the following command from the same directory : docker build -t netconf:latest .
  • Bring up the docker container : docker run -d --name ncserver1 -e "enodebsimIp=10.31.4.45" -e "enodebsimPort=50001" -e "ransimCtrlrIp=10.31.4.45" -e "ransimCtrlrPort=8081" -e "vesEventListenerUrl=https://10.31.4.51:30417/eventListener/v7" -p 50001:50001 -t netconf:latest
  • Bring up any number of netconf servers by changing the container name and port config in the above command.


Troubleshooting Common Errors:

...

curl --location --user cpsuser:cpsr0cks! --request POST 'http://localhost:8883/cps/api/v1/dataspaces/sondataspace/anchors/ran-network-anchor/nodes' --header 'Content-Type: application/json' -d @ran-network-data.json

curl --location --user cpsuser:cpsr0cks! --request POST 'http://localhost:8883/cps/api/v1/dataspaces/newdataspacesondataspace/anchors/ran-cps-ran-anchor/nodes' --header 'Content-Type: application/json' -d @updated-csit-ran-data.json

CPS-TBDMT :

Follow the steps below to setup the CPS-TBDMT environment:

  • Clone the repo from : cps/cps-tbdmt · Gerrit Code Review (onap.org)
  • Build the project – mvn clean install

  • Change the docker image name to avoid docker login issues : docker tag nexus3.onap.org:10003/onap/cps-tbdmt:latest cps-tbdmt:latest

  • From the docker-compose folder, edit the application.yml file 


View file
nameupdated-csit-ran-data.json
height150
View file
nameran-network.json
height150
View file
nameran-network.zip
height150
View file
namecps-ran-updated.zip
height150

CPS-TBDMT :

Follow the steps below to setup the CPS-TBDMT environment:

  • Clone the repo from : cps/cps-tbdmt · Gerrit Code Review (onap.org)
  • Build the project – mvn clean install

  • Change the docker image name to avoid docker login issues : docker tag nexus3.onap.org:10003/onap/cps-tbdmt:latest cps-tbdmt:latest

  • From the docker-compose folder, edit the application.yml file 

                    cpsCoreConfiguration url –  change to VM's IP and the created dataspace's name (sondataspace)

...

curl --location --request POST 'http://localhost:8080/execute/cps-ran-schemaset/get-cell' --header 'Content-Type: application/json' --data-raw '{
       "inputParameters": {
          "regionId":"netw1000netw2000"
       }
   }' -i

get-nbr-list API :

...

View file
namepci.json
height250
View file
namesonBpci_push.json
height250
View file
namesonBpci.json
height250
View file
namepciBson_push.json
height250
View file
namepciBson.json
height250
View file
nameson_push.json
height250
view-file
namepci_push.json
height250
View file
nameson.json
height250

Log in to policy-pdp container.

Execute the following commands:

Create and push  Modify Config policy.

-file
namepci_push.json
height250
View file
nameson.json
height250

Log in to policy-pdp container.

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.common.Drools/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.common.Drools/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

Create and push PCI-controlloop-guard(Controlloop-denial) policy:

PCI-guardModify Config policy

curl -k --silent --user 'healthcheck:zb!XztG34' -X POST "https://policy-api:6969/policy/api/v1/policytypes/onap.policies.controlloop.operationalguard.commoncoordination.DroolsFirstBlocksSecond/versions/1.0.0/policies" -H "Accept: application/json" -H "Content-Type: application/json" -d @pci@pciBson.jsonjson 

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@pciBson_push.jsonjson 

Create and push Modify Config ANR policy.push ANR-controlloop-guard policy:

ANR-guardModify Config ANR policy

curl -k --silent --user 'healthcheck:zb!XztG34' -X POST "https://policy-api:6969/policy/api/v1/policytypes/onap.policies.controlloop.operationalguard.commoncoordination.DroolsFirstBlocksSecond/versions/1.0.0/policies" -H "Accept: application/json" -H "Content-Type: application/json" -d @son@sonBpci.jsonjson 

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@sonBpci_push.json

Create and push PCI-controlloop-guard(Controlloop-denial) policy:

...

PCI-guard

...

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

Create and push ANR-controlloop-guard policy:

...

ANR-guard

...

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

 

SON-HANDLER :

Configure the SON-Handler with the below CPS details and then deploy.

Edit this file oom/kubernetes/dcaegen2-services/components/dcae-son-handler.values.yaml

  • cps.username: cpsuser
  • cps.password: cpsr0cks!
  • sonhandler.clientType: CPS
  • cps.service.url: http://<cps-tbdmt-ip>:8080
  • cps.get.cell.data.url: execute/cps-ran-schemaset/get-cell-data
  • cps.get.nbr.list.url: execute/cps-ran-schemaset/get-nbr-list
  • cps.get.pci.url: execute/ran-network-schemaset/get-pci
  • cps.get.pnf.url: execute/ran-network-schemaset/get-pnf

DMAAP :

Steps for creating dmaap topics

The following dmaap topics need to be present in the running DMAAP instance:

1.PCI-NOTIF-TOPIC-NGHBR-LIST-CHANGE-INFO

2.unauthenticated.SEC_FAULT_OUTPUT

3.unauthenticated.SEC_MEASUREMENT_OUTPUT

4.DCAE_CL_RSP

The topics can be added by logging into the message-router-kafka container and executing the following command:

Create Topic

curl --header "Content-type: application/json" --request POST --data '{"owner": "","txenabled": false,"topicName": "<topic-name>"}' http://<message-router-ip>:3904/topics/create

OOF :

Configure the OOF

SON-HANDLER :

Configure the SON-Handler with the below CPS details and then deploy.

Edit this file - oom/kubernetes/dcaegen2-services/components/dcae-son-handler.oof/values.yaml

  • configClientType: cps
  • # cps api
      cps:
        cpsUsernamecps.username: cpsuser
    cps.password    cpsPassword: cpsr0cks!
  • sonhandler.clientType: CPS
  • cps.service.url:     cpsUrl: http://<cps-tbdmt-ip>:8080cps.get.cell.data.url: execute/:8080/execute
        cpsCellListUrl: 'cps-ran-schemaset/get-cell-datacps.get.nbr.list.url: execute/'
        cpsNbrListUrl: 'cps-ran-schemaset/get-nbr-list
  • cps.get.pci.url: execute/ran-network-schemaset/get-pci
  • cps.get.pnf.url: execute/ran-network-schemaset/get-pnflist1'