Accessing APIDOCS

  • 0
  • 1
  • Problem
  • Updated 10 months ago
  • Solved
Hi all,

I am running the controller with Openflow plugin as instructed in option 1 here (note that currently I am not using the extreme kit). I have installed four features ((feature:install odl-restconf odl-l2switch-switch odl-mdsal-apidocs odl-dlux-core). Unfortunately when i tried to access the apidoc (http://localhost:8181/apidoc/explorer/index.html) it just load the interface but not the docs, and display "406 : undefined http://localhost:8181/apidoc/apis". Can anyone shed some light on this?

Note: I have not installed my app as a feature yet, I want to explore what capabilities my app can benefit from restconf.

Thanks
Magreth 
Photo of Magreth Mushi

Magreth Mushi

  • 140 Points 100 badge 2x thumb

Posted 4 years ago

  • 0
  • 1
Photo of Andrew Kinard

Andrew Kinard

  • 170 Points 100 badge 2x thumb
Hi Magreth,

If you are not able to see any interfaces listed in acidic/explorer/index.html, then it may indicate a problem with MDSAL in general.  Let's try and determine if this is a problem with MDSAL or Swagger (the kit the explorer is using).  Can you access the restconf APIs using curl? What kind of activity can you see in DLUX?  When you attempt to access the apidoc explorer are you seeing any errors in the Karaf log?

Regards,
Andrew
Photo of Magreth Mushi

Magreth Mushi

  • 140 Points 100 badge 2x thumb
Thanks Andrew for reply,

I haven't tried curl, so let me try it. 

DLUX also has some problem because I cannot see my topology (though it is working fine), I am just seeing the one switch and host added by the l2switch plugin. I thought I would work on one problem at a time, so I didn't bring this up.

Yesterday the log was giving me error below, which I am told is a known bug, but it shouldn't break anything.

 ******A bunch of INFO messages*********
2015-02-11 10:37:20,458 | ERROR | pool-18-thread-2 | RegisterWebAppVisitorWC          | 100 - org.ops4j.pax.web.pax-web-extender-war - 3.1.0 | Registration exception. Skipping

java.lang.IllegalArgumentException: Security Mapping [free access] is already registered.
at org.ops4j.pax.web.service.spi.model.ServiceModel.addSecurityConstraintMappingModel(ServiceModel.java:330)[93:org.ops4j.pax.web.pax-web-spi:3.1.0]
at org.ops4j.pax.web.service.internal.HttpServiceStarted.registerConstraintMapping(HttpServiceStarted.java:929)[94:org.ops4j.pax.web.pax-web-runtime:3.1.0]
at org.ops4j.pax.web.service.internal.HttpServiceProxy.registerConstraintMapping(HttpServiceProxy.java:356)[94:org.ops4j.pax.web.pax-web-runtime:3.1.0]
at org.ops4j.pax.web.extender.war.internal.RegisterWebAppVisitorWC.visit(RegisterWebAppVisitorWC.java:329)[100:org.ops4j.pax.web.pax-web-extender-war:3.1.0]
at org.ops4j.pax.web.extender.war.internal.model.WebApp.accept(WebApp.java:669)[100:org.ops4j.pax.web.pax-web-extender-war:3.1.0]
at org.ops4j.pax.web.extender.war.internal.WebAppPublisher$WebAppDependencyListener.register(WebAppPublisher.java:237)[100:org.ops4j.pax.web.pax-web-extender-war:3.1.0]
at org.ops4j.pax.web.extender.war.internal.WebAppPublisher$WebAppDependencyListener.addingServic
Photo of Andrew Kinard

Andrew Kinard

  • 170 Points 100 badge 2x thumb
Ah, yes.  I just saw your post on the controller-dev mailing list.  It is true, as far as I know bug 2048 would not cause the behavior you are seeing.  However, the fact that you cannot see Topology in DLUX and you cannot see the APIs listed in the API explorer very likely has the same root cause.  So this is helpful.  DLUX is a 100% javascript application (it is just hosted from inside Karaf's Jetty instance).  This means that all of the communication to and from DLUX is done through the MDSAL (and sometimes ADSAL) REST APIs.  Here's something that can tell us a lot quickly, can you tell me which navigation menu items you can see in the left-hand nav section in DLUX (you mentioned you can see Topology)?  This is actually a quick indicator of which API's DLUX can see active on the controller.  If you want bonus points, you can turn on the Developer screen in Chrome (in the view menu) and send me a copy of what you see in the Network section.  The stuff in red will be API calls that DLUX made to the controller but returned with an error.
Photo of Andrew Kinard

Andrew Kinard

  • 170 Points 100 badge 2x thumb
Also, can you tell me a little more about which version of OpenDaylight you are using.  You said you are not currently using the Extreme kit.  Did you download OpenDaylight from the opendaylight.org Git repo? Or from GitHub?
Photo of Magreth Mushi

Magreth Mushi

  • 140 Points 100 badge 2x thumb
Hi Andrew,

Thank you for your support.

In the left hand side I see Nodes(saying no data) and Topology(contain the one switch and a host), I can not see my simple mininet topology which has a switch and 3 hosts.

I am running the integration project here, to get support for IETF-netconf available in OF1.3 

Here is what I see in the network section of browser.
Photo of Magreth Mushi

Magreth Mushi

  • 140 Points 100 badge 2x thumb
Thank you for your support Andrew, it was actually a browser issue! It worked with Firefox! except I am not seeing my hosts in DLUX:(
Photo of Andrew Kinard

Andrew Kinard

  • 170 Points 100 badge 2x thumb
The integration releases can be quirky sometimes.  It is the latest code, but that does not mean it is always stable, even though it is where integration tests are done.  I recommend always trying the latest stable release first.  OpenFlow 1.3 is available in Helium SR2.  I don't know if the exact Netconf extensions you are looking for are there (I haven't tried anything with Netconf yet).  If you want to give the SR2 release a try, you can download it here:

https://nexus.opendaylight.org/content/groups/public/org/opendaylight/integration/distribution-karaf...
Photo of Andrew Kinard

Andrew Kinard

  • 170 Points 100 badge 2x thumb
Also, in the official releases of DLUX, the Topology diagram has a dummy host and dummy switch in it.  This is a little confusing because they are actually hard-coded into DLUX and not real hosts or switches.  We took the dummy host and switch out of the Extreme version of DLUX.
Photo of rahuman ali

rahuman ali

  • 62 Points
Hi Andrew

   am getting the below error while opening restconf page

500 : undefined http://135.25.187.203:8181/apidoc/apis

Can you help me to solve this ... Thanks in advance