Versions Compared

Key

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

Depending on you requirements there are several ways to setup CPS and Its dependencies:

  1. Local Setup Using Docker
  2. Local Setup Using CSIT

...

  1. CPS Setup Using Minikube

...

  1. SDNC, RAN-sim controller and Honeycomb

...

SDNC setup

To setup SDNC, firstly download these 2 files:

  1. certs.tar
  2. docker-compose.yml

Unzip certs.tar to the same folder as where you put the downloaded, docker-compose.yml file.

From the same folder as above, run the following command to setup SDNC.

Code Block
languagebash
titleDocker command
docker-compose up -d

SDNC should be up, when this command has ran successfully. 

RAN-sim controller setup

To set up RAN-sim controller follow the steps provided in this page RAN-Sim setup or use the steps below.

...

Pull the pre-built docker image using the command 

Code Block
languagebash
titleDocker pull command for ransim controller
docker pull docker.io/shsubedi/ransimcontroller:v1

Use the following command to tag the image

Code Block
languagebash
titleDocker tag command
docker tag shsubedi/ransimcontroller:v1 onap/ransim:1.0.0-SNAPSHOT

...

Modify the docker-compose.yml file, update the SDNR_IP and SDNR_PORT
To get the SDNR_IP, run the following command

Code Block
languagebash
titleInspect SDNC ip
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <SDNC_CONTAINER_ID>

...

Honeycomb simulator setup

To set up the Honeycomb simulator, follow the steps below or the steps in this page Core & RAN Simulators.

Pull the custom honeycomb docker image using the command

Code Block
languagebash
titleDocker pull command
docker pull docker.io/tragait/gnbsim:v1

...

Update ransim and honeycom IP address at '<YOUR_DIRECTORY>/ran-sim/hcsim-content/gnbsim/hc/config/gnbsim.json'
Make sure the following are updated to.
To get the ransimIp and hcIp do the following:

Code Block
languagebash
titleInspect ransim ip
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <ransim_CONTAINER_ID>
  • "ransimIp": <ransimIP>
  • "ransimPort": 8081
  • "hcIp": <ransimIP>
  • "hcPort": 2831

...

  • image: tragait/gnbsim:v1

Run the below command from '<YOUR_DIRECTORY>/ran-sim/hcsim-content/gnbsim/hc' directory

Code Block
languagebash
titleDocker compose up command
docker-compose up -d

...

Code Block
languagebash
titleInspect hc ip
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <hc_CONTAINER_ID>

Make sure to modify the below curl command, replace HC_SIM_IP with the ip retrieved from previous command.
Note. If using WSL 2  then the HC_SIM_IP in the below curl command can be replaced with ip address got from doing : 

wsl hostname -I in the windows powershell. 

Code Block
languagebash
titleHC sim mount command
curl -i -X PUT http://localhost:8282/restconf/config/network-topology:network-topology/topology/topology-netconf/node/hc -k -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>hc</node-id> <host xmlns="urn:opendaylight:netconf-node-topology">HC_SIM_IP</host>  <port xmlns="urn:opendaylight:netconf-node-topology">2831</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>'

...

Once the above steps have been completed, check if the honeycomb simulator has been mounted in SDNC by going to the following link and clicking on the Mounted Resources section:
 http://localhost:8282/apidoc/explorer/index.html
Note. If using WSL 2 then the localhost can be replaced with ip address got from doing :
wsl hostname -I in the windows powershell. 

  • Credentials  : - admin / Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U

Setting up SDNC, CPS & NCMP, DMI-Plugin and netconf-pnp-simulator locally:

Download the following zip file and extract it. 

Navigate to the folder where the files were extracted and run the below command from '<sim/>' directory

Code Block
languagebash
titleDocker compose command from sim folder
docker-compose up -d

Then navigate to the folder where the files were extracted and run the below command.

Code Block
languagebash
titleCreate a docker network
docker network create test_network

Then run the following command.

Code Block
languagebash
titledocker compose command
docker-compose up -d

Check using 'docker container ls' that SDNC, CPS&NCMP, DMI-Plugin and netconf-pnp-simulator are up and running.

Running CSIT tests locally within CPS

FAQ

How to fix "Error: could not open `{argLine}'when running unit tests from Intellij IDE ?

If not able to run unit tests from Intellj unit tests tool because of this error

Code Block
languagetext
Error: could not open `{argLine}'

Process finished with exit code 1

Then review maven-surefire-plugin integration with Intellij:

...

  1. Simulator Setup Locally
  2. CPS-OOM Deployment for Kubernetes VM

Optional supporting setup guides: