...
Drawio |
---|
border | true |
---|
| |
---|
diagramName | SDN-R integrationstest setup |
---|
simpleViewer | false |
---|
width | |
---|
links | auto |
---|
tbstyle | top |
---|
lbox | true |
---|
diagramWidth | 716 |
---|
revision | 3 |
---|
|
Environments
Name/IP/Port to access from jenkins/robotframework
Host Server Port | Component | Name (docker,dns) |
---|
8181, 8101 | SDN-R Web | itsdnr |
9200 | Elasticsearch 6.8.5 ←Wrong version | itsdnrdb |
8300 | NTSim ORAN Management | NTS_Manager |
50000 .. 50009 | 10 NTSim ORAN devices | generated names |
8323 | Sim 12600 is "2230" | netconfserversimulator |
8080 |
| vescollector |
2181 |
| zookeeper |
9092 |
| kafka |
3904-3905 |
| onap-dmaap |
Environment
Location
- Server "Test VM": sdnr-frankfurt-int 10.20.5.5 provides docker based test environment
- Static environment for otto
- oran NTS_Manager 8300 baseport 50000 dir 3gppsim
- gran NTS_Manager_3GPP 9300 baseport 60000 dir oransim
- Static environment for frankfurt development build robot
- oran Robot_NTS_Manager 8200 basport baseport 55000 dir robot-nts-manager
- Integration test environment
- Jenkins entry: INT_SDNC_Frankfurt
- Port ranges 8310 .. 8499, 40000 .. 49999
- ntssim oran 8310, 40000 .. 40019
- Docker internal static IP assignment in "integration" network (172.40.0.0/16) with names for /etc/hosts of docker host.
- 172.40.0.20 sdnrinit
- 172.40.0.21 sdnr
- 172.40.0.22-24 sdnr-0, sdnr-1, sdnr-2
- 172.40.0.30 sdnrdb
- 172.40.0.40 Netconfserversimulator
- 172.40.0.60 Zookeeper
- 172.40.0.70 Kafka
- 172.40.0.80 DMaaP
- 172.40.0.90 VESCollector
- NTSim/ORan is using its own network. Communication takes place over the host IP and the mapped ports.
- 172.17.02 container with 10 ORan devices
- Access to services from outsite are running over the host IP. See table.
Network setup
Drawio |
---|
border | true |
---|
| |
---|
diagramName | integrationtest subnetworks |
---|
simpleViewer | false |
---|
width | |
---|
links | auto |
---|
tbstyle | top |
---|
lbox | true |
---|
diagramWidth | 511 |
---|
revision | 1 |
---|
|
Development (old environment)
- docker for networking, run containers
- docker-compose starting a structure
- bash initialization
- manual execution of development tests
Test cases
Executed by Jenkins (http://10.20.6.10:30080/view/INT_SDNC_FRANKFURT/) job: INT_SDNC_Frankfurt
Test case "Mount devices" (basic) >available<
- Startup
- Mount NTSim manager
- Create and mount two NTSim/"oran" devices
- Test steps
- Verify that mount of the two devices was successfully done
Test case "Mount and get alarms for 50 devices" (load)
- Startup
- Mount 10 devices at a time
- Mount with delay next 10 devices till we have the 50
- Test seps
- wait till startup is done
- count the current alarms
- Test Ok if current alarms count in a expected range.
Test case "Inventory" (functional)
- Startup
- Create docker network
- a static network setup with static IPs for the containers
- add name to hosts and use this names
- start docker - Simulator (e.g. Sim12600 with equipment)
- start docker - DB
- start docker - SDNC
- Test steps
- mount sim12600
- Read over the RESTCONF Interface via data-provider the equipment
- Compare if it is the expected data
Network Topology Simulator
Instantiating NetConf simulators
- New NetConf simulators can be instantiated using the NTS Manager as follows -
- Create a mountpoint in SDNR to mount the NTS Manager with the following parameters -
- Name - "NTS_Manager" (No double quotes. Any name is OK, see below)
- IP Address - NTS Manager Docker container IP or Host IP of the Docker container
- Port - NTS Manager Docker container port or the port mapped to the Host
- Username - netconf
- Password - netconf
- Next, Use any REST Client to send PUT requests
- Set the "content-type" to "Application/json"
- Copy the following json into the body of the REST request -
{
"simulator-config": {
"mounted-devices": 0,
"notification-config": {
"fault-notification-delay-period": 0,
"is-netconf-available": true,
"is-ves-available": true,
"ves-heartbeat-period": 0
},
"simulated-devices": 0, # Toggle this value between 0 and any number greater than 0 to create and remove docker containers that send pnfRegistration VES messages to a VES Collector whose IP is # configured using the "ves-endpoint-ip" field below
"ves-endpoint-details": {
"ves-endpoint-port": 8080,
"ves-registration": true,
"ves-endpoint-auth-method": "no-auth",
"ves-endpoint-ip": "10.20.5.5"
},
"controller-details": {
"controller-ip": "172.40.0.21",
"controller-port": 8181,
"controller-username": "admin",
"controller-password": "admin"
}
}
}