Depending on you requirements there are several ways to setup CPS and Its dependencies:
...
...
...
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.
Code Block | ||||
---|---|---|---|---|
| ||||
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 | ||||
---|---|---|---|---|
| ||||
docker pull docker.io/shsubedi/ransimcontroller:v1 |
Use the following command to tag the image
Code Block | ||||
---|---|---|---|---|
| ||||
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 | ||||
---|---|---|---|---|
| ||||
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 | ||||
---|---|---|---|---|
| ||||
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 | ||||
---|---|---|---|---|
| ||||
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 | ||||
---|---|---|---|---|
| ||||
docker-compose up -d |
...
Code Block | ||||
---|---|---|---|---|
| ||||
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 | ||||
---|---|---|---|---|
| ||||
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.
- File to be downloaded : docker.zip
Navigate to the folder where the files were extracted and run the below command from '<sim/>' directory
Code Block | ||||
---|---|---|---|---|
| ||||
docker-compose up -d |
Then navigate to the folder where the files were extracted and run the below command.
Code Block | ||||
---|---|---|---|---|
| ||||
docker network create test_network |
Then run the following command.
Code Block | ||||
---|---|---|---|---|
| ||||
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 | ||
---|---|---|
| ||
Error: could not open `{argLine}'
Process finished with exit code 1 |
Then review maven-surefire-plugin integration with Intellij:
...
Optional supporting setup guides: