Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

Motivation

  • due last stress tests we were able to connect max. 2000 active NETCONF connections to a SDNC
  • to establish microservices over a whole provider network (like transportPCE for optical path calculation) we try to multiplex the northbound RESTconf interface of a SDNC at least for the node requests
  • that means topology has to be rebuild on the microservice side but for all node related RESTconf requests it still looks like one single SDN-Controller is holding every single connection to the nodes of the network

Goal

  • scale up SDN-Controller/RESTconf interface for microserivces which are using only RESTconf (and optional websocket) interface, e.g. highstreet adapted transportPCE
  • keep that service as generic as possible to avoid fixes due protocol changes
  • horizontal scalability!!!

Restrictions

  • RESTconf only for the device requests (up to now)
  • NodeIds have to be unique in the whole network (over multiple SDNCs /SDNC clusters)
  • only implemented services (here named multirequest services) can also be forwarded
  • things like network-topology are up to now not possible to forward (therefore the response data have to be combined)

How it works


Forwarding Rules

Uri

Description

^\/rests\/(data|operations)\/network-topology:network-topology\/topology=topology-netconf\/node=([a-zA-Z0-9\-_]+)[\?\/]+forward to odl of nodeId(match.group(2))
^\/restconf\/(config|operational)\/network-topology\/network-topology\/topology\/topology-netconf\/node\/([a-zA-Z0-9\-_]+)forward to odl of nodeId(match.group(2))
^/odluxhandled by sdnc-web
^/helphandled by sdnc-web
^/yang-schemamulti request service (with caching?)
^/odl/[a-zA-Z0-9\-](/.*)$forward to odl as match.group(1)
^/jolokia??? can be handled with /odl/... rule

Additional northbound interfaces

  • GET /odl  
[{
	"id":"odl1",
	"web":"http://172.18.0.3:8181",
	"ws":"ws://172.18.0.3:8181/websocket",
	"primary":true
},{
	"id":"odl2",
	"web":"http://172.18.0.5:8181",
	"ws":"ws://172.18.0.5:8181/websocket",
	"primary":false
}
]


Possible Improvements

  • merge SDNCs topologies which are requested southbound to one overall topology northbound (e.g. for topology-netconf)


  • No labels