Versions Compared

Key

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

...

  1. Clone the repo from : git clone https://github.com/onap-oof-pci-poc/ran-sim
  2. 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
  3. 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/

  4. Execute the following command from the same directory : docker build -t netconf:latest .
  5. Bring up the docker container : docker run -d --name hc_50001 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
  6. Bring up any number of netconf servers by changing the container name and port config in the above command.


Troubleshooting Common Errors:

  • Check if the enodebsimIP(IPAddress of Honeycomb), enodebsimPort(Port of Honeycomb), ransimCtrlrIp(IPAddress of Ransim) and ransimCtrlrPort(Ransim Port) is accurate.
  1. After running honeycomb check ransim logs to see successful ping message, data sent to honeycomb or check SDNC restconf page if honeycomb is successfully mounted.
    1. http://localhost:8081/ransimui/index.html check the Netconf Details page in the UI to get the list of all honeycombs running(port to name mapping). 
    2. To manually mount the honeycomb(If mount point not created in SDNR):
      1. curl -i -X PUT -k https://<WokerVMIP>:30267/restconf/config/network-topology:network-topology/topology/topology-netconf/node/<nameAssignedToHoneycombInTheRansimUI> \
          -H 'Accept: application/xml' -H 'Content-Type: text/xml' \
          --user "admin":"Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U" \
          -d '<node xmlns="urn:TBD:params:xml:ns:yang:network-topology">
          <node-id>[nameAssignedToHoneycombInTheUI]</node-id>
          <host xmlns="urn:opendaylight:netconf-node-topology">[HoneycombIPAddress]</host>
          <port xmlns="urn:opendaylight:netconf-node-topology">[HoneycombPort]</port>
          <username xmlns="urn:opendaylight:netconf-node-topology">admin</username>
          <password xmlns="urn:opendaylight:netconf-node-topology">admin</password>
          <tcp-only xmlns="urn:opendaylight:netconf-node-topology">false</tcp-only>
          <!-- non-mandatory fields with default values, you can safely remove these if you do not wish to override any of these values-->
          <reconnect-on-changed-schema xmlns="urn:opendaylight:netconf-node-topology">false</reconnect-on-changed-schema>
          <connection-timeout-millis xmlns="urn:opendaylight:netconf-node-topology">20000</connection-timeout-millis>
          <max-connection-attempts xmlns="urn:opendaylight:netconf-node-topology">0</max-connection-attempts>
          <between-attempts-timeout-millis xmlns="urn:opendaylight:netconf-node-topology">2000</between-attempts-timeout-millis>
          <sleep-factor xmlns="urn:opendaylight:netconf-node-topology">1.5</sleep-factor>
          <!-- keepalive-delay set to 0 turns off keepalives-->
          <keepalive-delay xmlns="urn:opendaylight:netconf-node-topology">120</keepalive-delay>
        </node>' -i
  2. To check honeycomb data:
    1.  docker exec -ti <honecombContainerName> bash
    2. cat var/lib/honeycomb/persist/config/data.json
  3. Check if data is mounted on SDNR:
    1. curl -i -X GET https://<workerVmIP>:30267/restconf/config/network-topology:network-topology/topology/topology-netconf/node/ncserver1/yang-ext:mount/oofpcipoc:radio-access -k -H 'Accept: application/xml' -H 'Content-Type: application/xml' \
        --user "admin":"Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U" -i
    2.  If data is not mounted, mount the data by running the below requests:
      1. cd var/lib/honeycomb/persist/config
      2. curl -i -X PUT https://<WorkerVMIP>:30267/restconf/config/network-topology:network-topology/topology/topology-netconf/node/<nameAssignedToHoneycombInTheUI>/yang-ext:mount/oofpcipoc:radio-access -k -H 'Accept: application/json' -H 'Content-Type: application/json'   --user "admin":"Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U" -d @data.json -i
    3. To delete mount point in SDNR:
      1. curl -i -X DELETE https://<WorkerVMIP>:30267/restconf/config/network-topology:network-topology/topology/topology-netconf/node/<nameAssignedToHoneycombInTheUI> -k -H 'Accept: application/xml' -H 'Content-Type: application/xml' \
          --user "admin":"Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U" -i



CPS :

Follow the steps below to setup the CPS environment:

...

  • From the docker-compose folder, run the following to bring up the containers : docker-compose up -d

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