Setting up SDNC, RAN-sim controller and Honeycomb simulator locally:
SDNC setup
To setup SDNC, firstly download these 2 files:
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.
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.
- Clone and Checkout Ran-Sim Controllergit clone "https://gerrit.onap.org/r/integration/simulators/ran-simulator"
Pull the pre-built docker image using the command
Docker pull command for ransim controllerdocker pull docker.io/shsubedi/ransimcontroller:v1
Use the following command to tag the image
Docker tag commanddocker tag shsubedi/ransimcontroller:v1 onap/ransim:1.0.0-SNAPSHOT
- Navigate to '<YOUR_DIRECTORY>/ran-simulator/ransim/docker' directory
Modify the docker-compose.yml file, update the SDNR_IP and SDNR_PORT
To get the SDNR_IP, run the following commandInspect SDNC ipdocker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <SDNC_CONTAINER_ID>
SDNR_IP=<SDNC_IP>
SDNR_PORT=8282- Run the 'docker-compose up -d' command from the '<YOUR_DIRECTORY>/ran-simulator/ransim/docker' directory
ransim and mariadb should come up, when this command has ran successfully.
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
Docker pull commanddocker pull docker.io/tragait/gnbsim:v1
- Clone/download https://github.com/onap-oof-pci-poc/ran-sim
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:Inspect ransim ipdocker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <ransim_CONTAINER_ID>
- "ransimIp": <ransimIP>
- "ransimPort": 8081
- "hcIp": <ransimIP>
- "hcPort": 2831
- Update the image name in the '<YOUR_DIRECTORY>/ran-sim/hcsim-content/gnbsim/hc/docker-compose.yml' to:
- image: tragait/gnbsim:v1
- image: tragait/gnbsim:v1
Run the below command from '<YOUR_DIRECTORY>/ran-sim/hcsim-content/gnbsim/hc' directory
Docker compose up commanddocker-compose up -d
While running the docker-compose up -d command, these servers will be mounted in SDNC
In case these servers are not mounted in SDNC, you can use the following curl command to mount the HC sim.
To get the ip of the hc sim do the following:Inspect hc ipdocker 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.HC sim mount commandcurl -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>'
- Check using 'docker container ls' that the honeycomb simulator is up and running.
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.
- File to be downloaded : docker.zip
Navigate to the folder where the files were extracted and run the below command from '<sim/>' directory
docker-compose up -d
Then navigate to the folder where the files were extracted and run the below command.
docker network create test_network
Then run the following 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
Error: could not open `{argLine}' Process finished with exit code 1
Then review maven-surefire-plugin integration with Intellij:
- Go to Settings-> Build,Execution,Deployment -> Build Tools -> Maven -> Running Tests
- Uncheck argLine