# what are the API's available to user when integration software is launched?

HI,

My current understanding about the various API's in ODL are:

which ever URL starts with /controller/.. i assume this is AD-sal API. Sample AD_SAL API: http://(localhost):8080/controller/nb/v2/topology/default

which ever URL starts with /Restconf/.. i assume this is MD-sal API. Sample MD_SAL API: http://(localhost):8080/restconf/operational /.../

Doubt 1: Is my understanding correct?

when i am launching the Controller version of the ODL software, i am able to use both the AD-sal API's and restconf API's.

But when i launch the integration version of the ODL software, i am able to use only the RESTCONF API's( starting with http://(localhost):8181/restconf/operational/../). and not able to use the Ad-SAL API's (http://(localhost):8181/controller/nb/v2/topology/default).

Doubt 2: what are the API's types available to the user when the Integration version of ODL is launched?

Thanks Bala

edit retag close merge delete

Sort by » oldest newest most voted

Doubt 1: Yes. Additionally, you can get a list of all available MD-SAL APIs in the controller that you are running by loading the odl-mdsal-apidocs feature (feature:install odl-mdsal-apidocs in the Karaf console) and then pointing your browser to http://localhost:8181/apidoc/explorer/index.html .

Doubt 2: The controller version I assume you mean the karaf distribution you get by building the controller repository source code. That distribution contains only the controller features. The integration build contains all features. It's likely that when you load the integration version you load features that are incompatible with each other, because they attempt to use the same listening port.

more

Thanks Lori..! As you mentioned the integration build contains all features, i guess we can get all the list of features by giving feature:list in the command line after the ODL is launched. and later we can install required features using the feature:install command. is my understanding correct?

( 2015-09-14 22:20:44 -0700 )edit

is it possible to use the AD-SAL API's when the integration build is launched? if yes, Can you help me in finding the feature that should be installed in the integration build to use the AD-SAL API's (e.g: the API that has the format http://localhost:port/controller/..).

( 2015-09-14 22:27:35 -0700 )edit
2

balaodl, you are correct in your understanding about listing and installing features in karaf. there are some adsal related features. you can search for them (feature:list | grep adsal) you might already know, but fyi that the ad-sal is being removed in Beryllium (master right now)

( 2015-09-15 09:45:57 -0700 )edit
2

To add to what @jamoluhrsen said, as I mentioned in my answer, you need to make sure you don't install incompatible features, especially in terms of what TCP/UDP ports they need to open up. (Please consider up-voting and accepting the reply if you consider it answers your question)

( 2015-09-16 02:49:38 -0700 )edit

Thanks Jamoluhrsen and Lori !! After launching the ODL, with out installing any of the odl-adsal-* features, when i execute feature:list | grep adsal, i am getting the list of all the adsal features already installed.

since the adsal features are already installed, i assumed the users will be able to use the AD-SAL API's. and tried to GET http://localhost:8181/controller/nb/v2/switchmanager/default/ using POSTMAN. i got a network error as response.

can you please let us know how to use the adsal features? can we use the adsal API's when integration software is launched?

@lori, how can i find that which are all the features incompatible features? is there any documents available?

Thanks Karthik

more

are you sure the features are installed? feature:list will show you all features, even ones that are not installed. Add the -i flag to see the features that are installed.

( 2015-09-16 09:53:02 -0700 )edit

hi Jamoluhrsen. yes. the adsal features are already installed by default. when i give feature:list -i the list includes all the adsal features. i don't know how to use these ad-sal API's. 1. i tried with curl command. 2. using potman. but nothing helped. is there a way to use the ad-sal API's?

( 2015-09-16 21:51:07 -0700 )edit