Documentation for the OpenDaylight based SDN Controller as it is used in the mobile backhaul network at Telefonica Germany.
VM: CPU-2CORES, RAM-8G, Hard disk-100GB
OS: NAME="Red Hat Enterprise Linux", VERSION="8.9 (Ootpa)"
Enable proxy setting to reach internet for accessing Docker and Openbackhaul
Docker needs to be installed on the host machine where the SDN Controller will be deployed. More information on installing Docker here.
Docker-compose is required on the host machine where the SDN Controller run. More information on installing docker-compose here.
Clone the controller repo from Openbackhaul site
git clone https://github.com/openBackhaul/MwDomainController.git
cd MwDomainController
- Start mediator application
- Start Mediator instance manager and create device instance from vendor LAB
Create and start the container from downloaded docker image:
docker-compose up -d
Image will be installed in the VM and sample snippet shared below:
Use default SDN controller credentials as Basic auth in all REST requests:
username: admin
password: admin
Using below sample template user can add the device into controller.
nodename - Unique device name to be added
mediatror_IP - Mediator IP address
netconf_port - Port which is assigned by Mediator instance manager (NETCONF server)
username - Username to be used for accessing the device
password - Password to be used for accessing the device
URL:
http://{SDN-CONTROLLER-IP}:8181/rests/data/network-topology:network-topology/topology=topology-netconf/node={nodename}
Operation:
PUT
Headers (Basic auth with admin:admin):
Authorization: Basic YWRtaW46YWRtaW4=
Body:
{
"network-topology:node": [
{
"node-id": "<<nodename>>",
"netconf-node-topology:sleep-factor": "1",
"netconf-node-topology:max-connection-attempts": 8,
"netconf-node-topology:username": "<<username>>",
"netconf-node-topology:password": "<<password>>",
"netconf-node-topology:port": <<netconf_port>>,
"netconf-node-topology:host": "<<mediatror_IP>>",
"netconf-node-optional:notification": {
"subscribe": true,
"stream-name": "NETCONF"
}
}
]
}
If user need to delete the device from SDN controller, below request to be used
URL:
http://{SDN-CONTROLLER-IP}:8181/rests/data/network-topology:network-topology/topology=topology-netconf/node={nodename}
Operation:
DELETE
Headers (Basic auth with admin:admin):
Authorization: Basic YWRtaW46YWRtaW4=
If user trying to stop the SDN controller, below command to be used:
docker-compose down