Documentation is currently in progress.
RANSIM :
Follow the steps below to setup the Ransim environment:
...
- Clone the repo from : git clone https://github.com/onap-oof-pci-poc/ran-sim
- Go to the ran-sim/hcsim-content/gnbsim 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. For code changes in gnbsim-impl directory
Step 1: Do necessary code changes in gnbsim-impl
Step 2: Issue the build command "JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/ mvn clean install -Dcheckstyle.skip"
Once the mvn build is done, build the docker imageStep 1: Go to directory ~/ran-sim/hcsim-content/gnbsim
Step 2: JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/ mvn clean install -Dcheckstyle.skipStep 3: Import the latest VES certificate into this directory gnbsim-distribution/ rename it as "jssecacerts"
Step 3: cp -r gnbsim-distribution/jssecacerts gnbsim-distribution/target/gnbsim-distribution-1.19.08-SNAPSHOT-hc/gnbsim-distribution-1.19.08-SNAPSHOT/
Step 4: cp -r gnbsim-distribution/honeycomb gnbsim-distribution/target/gnbsim-distribution-1.19.08-SNAPSHOT-hc/gnbsim-distribution-1.19.08-SNAPSHOT/
Step 5: cp -r gnbsim-distribution/Dockerfile gnbsim-distribution/target/gnbsim-distribution-1.19.08-SNAPSHOT-hc/gnbsim-distribution-1.19.08-SNAPSHOT/
Step 6: docker build -t gn gnbsim-distribution/target/gnbsim-distribution-1.19.08-SNAPSHOT-hc/gnbsim-distribution-1.19.08-SNAPSHOT/- Cross check the docker image
docker images | grep gn
To run the Netconf Servers:
- Update ransim and honeycom IP address at ~/ran-sim/hcsim-content/gnbsim/honeycomb/hc/config/gnbsim.json and docker-compose files(step repeated for all hc, cucp, cuup, du folders)
2. Run the up.sh script in ran-sim/hcsim-content/gnbsim/honeycomb. (wait for all the honeycomb servers to come up)
3. Run the mount.sh script in ran-sim/hcsim-content/gnbsim/honeycomb.
After execution of the above script, these servers will be mounted in SDNC(check ransim and SDNR logs if the mount request is successful for all the servers).
Access the restconf page to view the mounted servers: https://<WorkerVMIpAddress>:30267/apidoc/explorer/index.htm
Troubleshooting Common Errors:
...
Give the cmd: kubectl exec -it dev-sdnc-0 -n onap bash
- Check if the dg's are loaded in /opt/onap/sdnc/svclogic/graphs/ranSliceapi
- Check the dg's logs in /opt/opendaylight/current/data/log/
...
schemaToAnchor mapping – provide the created schemaset and anchor name ( ran-network-schemaset : ran-network-anchor , cps-ran-schemaset : ran-cps-ran-anchor )
- From the docker-compose folder, run the following to bring up the containers : docker-compose up -d
- Once the docker container is up, execute the following TBDMT-APIs
...
curl --location --request POST 'http://localhost:8080/execute/cps-ran-schemaset/get-cell' --header 'Content-Type: application/json' --data-raw '{
"inputParameters": {
"regionId":"netw200010000000"
}
}' -i
get-nbr-list API :
curl --location --request POST 'http://localhost:8080/templates' --header 'Content-Type: application/json' --data-raw '{
"templateId": "get-nbr-list",
"model": "cps-ran-schemaset",
"requestType": "get",
"xpathTemplate": "/cps-ran-schema/Regions[@regionId='\''{{netw1000}}'\'']/cps-region-cell-mapping/NRCellCU[@idNRCellCU='\''{{cellId}}'\'']",
"includeDescendants": true, "transformParam":"NRCellCU"
}' -i
To verify the created template :
curl --location --request POST 'http://localhost:8080/execute/cps-ran-schemaset/get-nbr-list' --header 'Content-Type: application/json' --data-raw '{
"inputParameters": {
"cellId":"Chn000513999"
}
}' -i
get-nbr-list1 API : (OOF)
curl --location --request POST 'http://localhost:8080/templates' --header 'Content-Type: application/json' --data-raw '{
"templateId": "get-nbr-list1",
"model": "cps-ran-schemaset",
"requestType": "get",
"xpathTemplate": "/cps-ran-schema/Regions[@regionId='\''{{regionId}}'\'']/cps-region-cell-mapping/NRCellCU[@idNRCellCU='\''{{idNRCellCU}}'\'']",
"includeDescendants": true, "transformParam":"NRCellCU"
}' -i
To verify the created template :
curl --location --request POST 'http://localhost:8080/execute/cps-ran-schemaset/get-nbr-list1' --header 'Content-Type: application/json' --data-raw '{
"inputParameters": {
"regionId":"netw100010000000",
"idNRCellCU":"Chn000513999"
}
}' -i
get-pci API :
curl --location --request POST 'http://localhost:8080/templates' --header 'Content-Type: application/json' --data-raw '{
"templateId": "get-pci",
"model": "ran-network-schemaset",
"requestType": "getquery-cps-path",
"xpathTemplate": "/ran-network/NearRTRIC[@idNearRTRIC='\''{{11}}'\'']/GNBDUFunction[@idGNBDUFunction='\''{{110}}'\'']/NRCellDU[@idNRCellDU='\''{{cellId}}'\'']/attributes",
"includeDescendants": true,
"transformParam":"NRCellDU,attributes"
}' -i
To verify the created template :
curl --location --request POST 'http://localhost:8080/execute/ran-network-schemaset/get-pci' --header 'Content-Type: application/json' --data-raw '{
"inputParameters": {
"cellId":"Chn000514427"
}
}' -i
get-pnf API :
curl --location --request POST 'http://localhost:8080/templates' --header 'Content-Type: application/json' --data-raw '{
"templateId": "get-pnf",
"model": "ran-network-schemaset",
"requestType": "query-cps-path",
"xpathTemplate": "//NRCellCUNRCellDU[@idNRCellCU@idNRCellDU='\''{{cellId}}'\'']/ancestor::GNBCUCPFunctionGNBDUFunction",
"includeDescendants": true,
"transformParam":"GNBDUFunction"
}' -i
To verify the created template :
curl --location --request POST 'http://localhost:8080/execute/ran-network-schemaset/get-pnf' --header 'Content-Type: application/json' --data-raw '{
"inputParameters": {
"cellId":"Chn000814427"
}
}' -i
get-nearrtric-by-idgnbdufunction :
curl --location --request POST 'http://localhost:8080/templates' --header 'Content-Type: application/json' --data-raw '{
"templateId": "get-nearrtric-by-idgnbdufunction",
"model": "ran-network-schemaset",
"requestType": "query-cps-path",
"xpathTemplate": "//GNBDUFunction/idGNBDUFunction[text()='\''{{idGNBDUFunction}}'\'']/ancestor::NearRTRIC",
"includeDescendants": true,
"transformParam":"NearRTRIC,idNearRTRIC"
}' -i
...
curl --location --request POST 'http://localhost:8080/templates' --header 'Content-Type: application/json' --data-raw '{
"templateId": "get-nearrtric-by-idgnbcucpfunction",
"model": "ran-network-schemaset",
"requestType": "query-cps-path",
"xpathTemplate": "//GNBCUCPFunction/idGNBCUCPFunction[text()='\''{{idGNBCUCPFunction}}'\'']/ancestor::NearRTRIC",
"includeDescendants": true,
"transformParam":"NearRTRIC,idNearRTRIC"
}' -i
...
curl --location --request POST 'http://localhost:8080/templates' --header 'Content-Type: application/json' --data-raw '{
"templateId": "put-nrpci-nrcelldu",
"model": "ran-network-schemaset",
"requestType": "patch",
"xpathTemplate": "/ran-network/NearRTRIC[@idNearRTRIC='\''{{idNearRTRIC}}'\'']/GNBDUFunction[@idGNBDUFunction='\''{{idGNBDUFunction}}'\'']/NRCellDU[@idNRCellDU='\''{{idNRCellDU}}'\'']",
"includeDescendants": true
}' -i
...
curl --location --request POST 'http://localhost:8080/templates' --header 'Content-Type: application/json' --data-raw '{
"templateId": "put-nrpci-nrcelldu",
"model": "ran-network-schemaset",
"requestType": "patch",
"xpathTemplate": "/ran-network/NearRTRIC[@idNearRTRIC='\''{{idNearRTRIC}}'\'']/GNBDUFunction[@idGNBDUFunction='\''{{idGNBDUFunction}}'\'']/NRCellDU[@idNRCellDU='\''{{idNRCellDU}}'\'']",
"includeDescendants": true
}' -i
...
curl --location --request POST 'http://localhost:8080/templates' --header 'Content-Type: application/json' --data-raw '{
"templateId": "put-ho-nrcellrelation",
"model": "ran-network-schemaset",
"requestType": "patch",
"xpathTemplate": "/ran-network/NearRTRIC[@idNearRTRIC='\''{{idNearRTRIC}}'\'']/GNBCUCPFunction[@idGNBCUCPFunction='\''{{idGNBCUCPFunction}}'\'']/NRCellCU[@idNRCellCU='\''{{idNRCellCU}}'\'']/NRCellRelation[@idNRCellRelation='\''{{idNRCellRelation}}'\'']",
"includeDescendants": true
}' -i
...