Ask is moving to Stack Overflow and! Please use the "opendaylight" tag on either of these sites. This site is now in Read-Only mode


Starting point of creating a new plugin / service

asked 2014-05-20 09:59:10 -0800

anu.nair gravatar image

updated 2014-05-20 10:09:39 -0800

I am new to ODL (1 week ) and currently investigating a solution to create a service , which will expose REST API's to north bound , to southbound CLI via MD-SAL.

An example to execute the "show ip " cli command . I am assuming the process is like this ( reading the MD-SAL documents ).

1) Define the yang model wirh rpc defined show-ip 2) Create a CLIConsumer (South bound) 3) Create a CLIProducer
3) Register consumer and Producer with the Binding Broker ( Aware or independent ) 4) Create a CLIService . 5) Add the notification listeners

The LearningSwitch example used the pattern similar to this. But the DeviceManagerImpl which uses receivePacket(..) and transmitPackage (..) doesnt have any producer, consumer pattern.

Can any one please share a example / document related to this.

edit retag flag offensive close merge delete


I wrote a sample test program following the toaster example. ( no RPC's yet). but the deployment to MD-SAL is failing. Any inputs ? 014-05-22 18:47:45.594 PDT [config-pusher] ERROR o.o.c.l.b.i.UncaughtExceptionPolicy - Thread Thread[config-pusher,5,main] died because of an uncaught exception Not enough capabilities for ConfigSnapshot{configSnapshot='<data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"><modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config"><module><type xmlns:mediation="urn:opendaylight:params:xml:ns:yang:controller:config:mediation-provider:impl"> mediation:mediation-provider-impl </type><name>mediation-provider-impl</name><data-broker><type xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">binding:binding-data-broker</type><name>binding-data-broker</name> </data-broker> </mod<>

anu.nair ( 2014-05-22 19:00:10 -0800 )edit

1 answer

Sort by ยป oldest newest most voted

answered 2014-05-20 13:39:31 -0800

Devin Avery gravatar image


1) I would suggest starting with the Toaster Sample here first:

It is a bit high level and really only creates a singleton service in ODL (which is only so useful). But we explain in detail how things work, how code gets generated and such.

2) Then I would move on to checking out this example that is hot off the presses (and is still looking for input). Check out this gerrit ticket: . This example illustrates more of what you are looking for (but may be confusing without some of the background provided in the toaster step-by-step, including how you interact with RESTCONF [the north bound API]).

If you have any questions feel free to reach out on the controller dev e-mail list or on more questions here.

edit flag offensive delete publish link more


better link: finicky editor keeps putting a < / p > on the link...

rrodriguez ( 2014-05-21 11:55:14 -0800 )edit

Thanks for the update. Toaster step by step is a good start for any one who wanted to jump into MD-SAL directly.

anu.nair ( 2014-05-22 09:10:44 -0800 )edit
Login/Signup to Answer

Question Tools



Asked: 2014-05-20 09:59:10 -0800

Seen: 740 times

Last updated: May 20 '14