[CONTROLLER-873] Classpath error when loading neutron northbound api Created: 20/Sep/14  Updated: 19/Oct/17  Resolved: 05/May/15

Status: Resolved
Project: controller
Component/s: adsal
Affects Version/s: Helium
Fix Version/s: None

Type: Bug
Reporter: Dave Tucker Assignee: Unassigned
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


External issue ID: 2002
Priority: High

 Description   

This could have been caused by the maven bundle plugin version bump but no clear evidence as to what the root cause is here...

2014-09-19 23:45:35,466 | ERROR | Event Dispatcher | [/controller/nb/v2/neutron] | 255 - org.apache.juli.extras - 7.0.53.v201406060720 | StandardWrapper.Throwable
java.lang.NoClassDefFoundError: javax/ws/rs/ext/MessageBodyReader
at java.lang.ClassLoader.defineClass1(Native Method)[:1.7.0_67]
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)[:1.7.0_67]
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:188)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClassHoldingLock(ClasspathManager.java:632)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:607)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:568)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:492)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:465)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395)
at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:35)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:452)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_67]
at org.opendaylight.controller.networkconfig.neutron.northbound.NeutronNorthboundRSApplication.getSingletons(NeutronNorthboundRSApplication.java:51)[332:org.opendaylight.controller.networkconfig.neutron.northbound:0.4.2.SNAPSHOT]
at com.sun.jersey.api.core.ResourceConfig.add(ResourceConfig.java:810)
at com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1140)
at com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:168)
at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:774)
at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:770)
at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193)
at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:770)
at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:765)
at com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:489)[262:com.sun.jersey.servlet:1.17.0]
at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:319)[262:com.sun.jersey.servlet:1.17.0]
at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:605)[262:com.sun.jersey.servlet:1.17.0]
at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:210)[262:com.sun.jersey.servlet:1.17.0]
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:374)[262:com.sun.jersey.servlet:1.17.0]
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:557)[262:com.sun.jersey.servlet:1.17.0]
at javax.servlet.GenericServlet.init(GenericServlet.java:161)[195:org.apache.geronimo.specs.geronimo-servlet_3.0_spec:1.0]
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1284)[248:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1197)[248:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1087)[248:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5210)[248:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5493)[248:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)[248:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)[248:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)[248:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:632)[248:org.apache.catalina:7.0.53.v201406061610]
at org.eclipse.gemini.web.tomcat.internal.TomcatServletContainer.startWebApplication(TomcatServletContainer.java:125)[249:org.eclipse.gemini.web.tomcat:2.2.0.RELEASE]
at org.eclipse.gemini.web.internal.StandardWebApplication.start(StandardWebApplication.java:109)[230:org.eclipse.gemini.web.core:2.2.0.RELEASE]
at org.eclipse.gemini.web.extender.WebContainerBundleCustomizer.addingBundle(WebContainerBundleCustomizer.java:49)[231:org.eclipse.gemini.web.extender:2.2.0.RELEASE]
at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:467)[karaf-org.osgi.core.jar:]
at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:414)[karaf-org.osgi.core.jar:]
at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)[karaf-org.osgi.core.jar:]
at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229)[karaf-org.osgi.core.jar:]
at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:443)[karaf-org.osgi.core.jar:]
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:847)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1568)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1504)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1499)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:391)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:390)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1176)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
Caused by: java.lang.ClassNotFoundException: javax.ws.rs.ext.MessageBodyReader
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_67]
... 66 more
2014-09-19 23:45:35,477 | ERROR | Event Dispatcher | [/controller/nb/v2/neutron] | 255 - org.apache.juli.extras - 7.0.53.v201406060720 | Servlet /controller/nb/v2/neutron threw load() exception
java.lang.ClassNotFoundException: javax.ws.rs.ext.MessageBodyReader
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_67]
at java.lang.ClassLoader.defineClass1(Native Method)[:1.7.0_67]
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)[:1.7.0_67]
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:188)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClassHoldingLock(ClasspathManager.java:632)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:607)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:568)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:492)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:465)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:35)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:452)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_67]
at org.opendaylight.controller.networkconfig.neutron.northbound.NeutronNorthboundRSApplication.getSingletons(NeutronNorthboundRSApplication.java:51)[332:org.opendaylight.controller.networkconfig.neutron.northbound:0.4.2.SNAPSHOT]
at com.sun.jersey.api.core.ResourceConfig.add(ResourceConfig.java:810)[261:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1140)[261:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:168)[261:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:774)[261:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:770)[261:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193)[220:com.sun.jersey.core:1.17.0]
at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:770)[261:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:765)[261:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:489)[262:com.sun.jersey.servlet:1.17.0]
at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:319)[262:com.sun.jersey.servlet:1.17.0]
at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:605)[262:com.sun.jersey.servlet:1.17.0]
at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:210)[262:com.sun.jersey.servlet:1.17.0]
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:374)[262:com.sun.jersey.servlet:1.17.0]
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:557)[262:com.sun.jersey.servlet:1.17.0]
at javax.servlet.GenericServlet.init(GenericServlet.java:161)[195:org.apache.geronimo.specs.geronimo-servlet_3.0_spec:1.0]
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1284)[248:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1197)[248:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1087)[248:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5210)[248:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5493)[248:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)[248:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)[248:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)[248:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:632)[248:org.apache.catalina:7.0.53.v201406061610]
at org.eclipse.gemini.web.tomcat.internal.TomcatServletContainer.startWebApplication(TomcatServletContainer.java:125)[249:org.eclipse.gemini.web.tomcat:2.2.0.RELEASE]
at org.eclipse.gemini.web.internal.StandardWebApplication.start(StandardWebApplication.java:109)[230:org.eclipse.gemini.web.core:2.2.0.RELEASE]
at org.eclipse.gemini.web.extender.WebContainerBundleCustomizer.addingBundle(WebContainerBundleCustomizer.java:49)[231:org.eclipse.gemini.web.extender:2.2.0.RELEASE]
at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:467)[karaf-org.osgi.core.jar:]
at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:414)[karaf-org.osgi.core.jar:]
at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)[karaf-org.osgi.core.jar:]
at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229)[karaf-org.osgi.core.jar:]
at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:443)[karaf-org.osgi.core.jar:]
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:847)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1568)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1504)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1499)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:391)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:390)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1176)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]



 Comments   
Comment by Dave Tucker [ 20/Sep/14 ]

Adding some further info

Mac OSX 10.9.4
JDK 1.7.0_67 (installed via Homebrew)
Maven 3.0.5 (installed via Homebrew)

I've tested this against RC1-2 and RC1-4 and I still hit the same issue.

This could be an environment issue so dropping to "normal" for now.

The bundle worked fine for me before using Karaf

Comment by Dave Tucker [ 21/Sep/14 ]

Pushing this to a blocker as IMO this issue breaks OpenStack integration

***

Tested to today on a clean Ubuntu 14.04 build with RC1-5 from nexus.

The bad news is that this prevents the Neutron API fro

To replicate:

1) Install the Oracle JDK
http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html

2) Download and extract the RC1-5 from nexus

3) ./bin/karaf

4) feature:install odl-adsal-compatibility odl-ovsdb-openstack

5) log:tail shows the classpath error linked in #1

6) All requests to Neutron API fail

https://www.dropbox.com/s/ri934w9t76nrmua/Screenshot%202014-09-21%2019.30.28.png?dl=0

***

Environment details

vagrant@mininet:~/distribution-karaf-0.2.0-Helium-RC1-5-v201409210001$ java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

opendaylight-user@root>exports | grep javax.ws.rs.ext
javax.ws.rs.ext | 1.1.1 | 217 | com.sun.jersey.core
opendaylight-user@root>imports | grep javax.ws.rs.ext
(&(osgi.wiring.package=javax.ws.rs.ext)(&(version>=1.1.0)(!(version>=2.0.0)))) | | 334 | org.opendaylight.controller.topology.northbound | true
(&(osgi.wiring.package=javax.ws.rs.ext)(&(version>=1.1.1)(!(version>=2.1.0)))) | | 225 | com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider | true
(&(osgi.wiring.package=javax.ws.rs.ext))

opendaylight-user@root>exports | grep moxy
org.eclipse.persistence.internal.jaxb.many | 2.5.0 | 141 | org.eclipse.persistence.moxy
org.eclipse.persistence.internal.jaxb | 2.5.0 | 141 | org.eclipse.persistence.moxy
org.eclipse.persistence.jaxb.attachment | 2.5.0 | 141 | org.eclipse.persistence.moxy
org.eclipse.persistence.jaxb.compiler | 2.5.0 | 141 | org.eclipse.persistence.moxy
org.eclipse.persistence.jaxb.dynamic.metadata | 2.5.0 | 141 | org.eclipse.persistence.moxy
org.eclipse.persistence.jaxb.dynamic | 2.5.0 | 141 | org.eclipse.persistence.moxy
org.eclipse.persistence.jaxb.javamodel.oxm | 2.5.0 | 141 | org.eclipse.persistence.moxy
org.eclipse.persistence.jaxb.javamodel.reflection | 2.5.0 | 141 | org.eclipse.persistence.moxy
org.eclipse.persistence.jaxb.javamodel | 2.5.0 | 141 | org.eclipse.persistence.moxy
org.eclipse.persistence.jaxb.metadata | 2.5.0 | 141 | org.eclipse.persistence.moxy
org.eclipse.persistence.jaxb.rs | 2.5.0 | 141 | org.eclipse.persistence.moxy
org.eclipse.persistence.jaxb.xmlmodel | 2.5.0 | 141 | org.eclipse.persistence.moxy
org.eclipse.persistence.jaxb | 2.5.0 | 141 | org.eclipse.persistence.moxy

opendaylight-user@root>exports | grep moxy
org.eclipse.persistence.internal.jaxb.many | 2.5.0 | 141 | org.eclipse.persistence.moxy
org.eclipse.persistence.internal.jaxb | 2.5.0 | 141 | org.eclipse.persistence.moxy
org.eclipse.persistence.jaxb.attachment | 2.5.0 | 141 | org.eclipse.persistence.moxy
org.eclipse.persistence.jaxb.compiler | 2.5.0 | 141 | org.eclipse.persistence.moxy
org.eclipse.persistence.jaxb.dynamic.metadata | 2.5.0 | 141 | org.eclipse.persistence.moxy
org.eclipse.persistence.jaxb.dynamic | 2.5.0 | 141 | org.eclipse.persistence.moxy
org.eclipse.persistence.jaxb.javamodel.oxm | 2.5.0 | 141 | org.eclipse.persistence.moxy
org.eclipse.persistence.jaxb.javamodel.reflection | 2.5.0 | 141 | org.eclipse.persistence.moxy
org.eclipse.persistence.jaxb.javamodel | 2.5.0 | 141 | org.eclipse.persistence.moxy
org.eclipse.persistence.jaxb.metadata | 2.5.0 | 141 | org.eclipse.persistence.moxy
org.eclipse.persistence.jaxb.rs | 2.5.0 | 141 | org.eclipse.persistence.moxy
org.eclipse.persistence.jaxb.xmlmodel | 2.5.0 | 141 | org.eclipse.persistence.moxy
org.eclipse.persistence.jaxb | 2.5.0 | 141 | org.eclipse.persistence.moxy

opendaylight-user@root>bundle:list | grep -i eclipselink
140 | Active | 80 | 2.5.0.v20130507-3faac2b | EclipseLink Core
141 | Active | 80 | 2.5.0.v20130507-3faac2b | EclipseLink MOXy
328 | Active | 80 | 3.2.0.v201302191141 | EclipseLink ANTLR

***

In both cases, my mac and this VM, JDK version has been 1.7.0_67 so there is a good chance that this could be related to the JDK version. Equally, those who have been unable to reproduce have been using a lower JDK version.

Comment by Dave Tucker [ 22/Sep/14 ]

Tried with JDK version 1.7.0_40, 60, 65 and so far no luck on OSX

Comment by Vina Ermagan [ 22/Sep/14 ]

I have tested RC-6 with JDK 1.7.0_51 on Linux. Neutron API seem to work fine in my setup.

Comment by Dave Tucker [ 22/Sep/14 ]

(In reply to Vina Ermagan from comment #4)
> I have tested RC-6 with JDK 1.7.0_51 on Linux. Neutron API seem to work fine
> in my setup.

Did you test with a GET to http://127.0.0.1:8080/controller/nb/v2/neutron/networks/ ?

Can you replicate the issue with JDK 1.7.0_67?

Comment by Vina Ermagan [ 22/Sep/14 ]

Yes, I used the same REST call you refer to.

Getting on a plane now. Will try to test with JDK 1.7.0_67, but may take a while before I land (will be after 5 pm PST).

Can you check to see if the neutron feature (I think it is odl-nsf-managers) is loaded in karaf?

Comment by Ryan Moats [ 22/Sep/14 ]

There is a workaround for this bug.

at karaf startup first "feature:install odl-base-jackson"
then "feature:install odl-adsal-compatibility odl-ovsdb-openstack"
will not throw the error

Fixing this bug requires direct dependencies between the features that contain the neutron northbound bundle, the moxy bundles, and the jackson json provider bundle

Comment by Dave Tucker [ 23/Sep/14 ]

T(In reply to Ryan Moats from comment #7)
> There is a workaround for this bug.
>
> at karaf startup first "feature:install odl-base-jackson"
> then "feature:install odl-adsal-compatibility odl-ovsdb-openstack"
> will not throw the error
>
> Fixing this bug requires direct dependencies between the features that
> contain the neutron northbound bundle, the moxy bundles, and the jackson
> json provider bundle

Thanks Ryan! This works for me.

Comment by Vishal Patil [ 30/Sep/14 ]

I am hitting this error as well and the workaround did not help

Comment by Vishal Patil [ 01/Oct/14 ]

I just downloaded the helium karaf rc2 candidate (http://nexus.opendaylight.org/content/groups/staging/org/opendaylight/integration/distribution-karaf/0.2.0-Helium/distribution-karaf-0.2.0-Helium.zip)

and am not hitting this problem any more.

Comment by Flavio Fernandes [ 09/Oct/14 ]

When using Karaf distro built from ovsdb repo, I still hit this issue:

https://gist.github.com/da66fc1ab10cd251d21b

The workaround mentioned above does not seem to help.

Comment by Flavio Fernandes [ 09/Oct/14 ]

Also hit issue when using Helium distribution.

https://gist.github.com/42049d167b211b3c0cab

Comment by Flavio Fernandes [ 10/Oct/14 ]

Using these Karaf bundles will make the problem not occur:

feature:install odl-ovsdb-openstack odl-ovsdb-northbound
feature:install odl-restconf odl-mdsal-apidocs odl-adsal-all odl-adsal-northbound odl-dlux-core

Comment by Vishal Patil [ 10/Oct/14 ]

Inspite of installing those packages I am still hitting those errors.

Comment by Flavio Fernandes [ 21/Oct/14 ]

From: Colin Dixon <colin@colindixon.com>
Subject: Re: could it be that this is what fixed CONTROLLER-873 ?
Date: October 20, 2014 at 7:14:43 PM EDT
To: Flavio Fernandes <ffernand@redhat.com>
Cc: Sam Hague <shague@redhat.com>

Did you base your distribution off the opendaylight-karaf distribution? If so, this might have fixed it. I fixed that because some guys inside Brocade were having issues where the opendaylight-karaf distribution in the controller wasn't coming up. It could be related to what you're saying.

--Colin

On Mon, Oct 20, 2014 at 4:47 PM, Flavio Fernandes <ffernand@redhat.com> wrote:
Hi Colin,

I don’t understand pom / Karaf enough to know what is the cause of CONTROLLER-873 (https://bugs.opendaylight.org/show_bug.cgi?id=2002).

All I know is that some good Samaritan recently fixed the issue on master and the fix was outside the ovsdb repository.

Any chance the changes you did (below) could been it? If so, any chance we could have this fix in stable/helium?

Thanks,

— flavio

=======

commit 25f58fff9ad2bd275465e63a5bdb3cb2e3c52cb3
Author: Colin Dixon <colin@colindixon.com>
Date: Thu Oct 9 14:46:35 2014 -0500

Adding restconf to the opendaylight-karaf distribution

Change-Id: I91cbee656e2f4da2af62f8a26e7800401f9c6aa4
Signed-off-by: Colin Dixon <colin@colindixon.com>

Comment by Sam Hague [ 04/Nov/14 ]

https://git.opendaylight.org/gerrit/#/c/12132/

Looks like some sort of issue where karaf doesn't wire up dependencies correctly.

The error comes out when northbound neutron rest calls come in containing json. This eventually leads to org.eclipse.persistence.core loading and it in turn needing org.eclipse.persistence.antlr. The odl-adsal-northbound feature includes both bundles.

In the failing case, the wiring of core needing antlr fails when core is installed before antlr. The odl-base-all feature is typically installed very early. It includes the odl-base-eclipselink-persistence which installs core. Later when odl-adsal-northbound is installed the wiring fails.

The fix is to install antlr before core in the odl-base-eclipselink-peristence feature.

Also related is https://bugs.opendaylight.org/show_bug.cgi?id=2213.

Comment by Carol Sanders [ 05/May/15 ]

This bug is part of the project to Move all ADSAL associated component bugs to ADSAL.

Generated at Wed Feb 07 19:54:05 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.