Uploaded image for project: 'ONOS'
  1. ONOS
  2. ONOS-6031

Unable to resolve behavior if it is not defined in onos-drivers.xml

    Details

      Description

      Using the org.onosproject.drivers.corsa we are not able to load a behavior if it is not defined under onos-drivers.xml. Exception:

      2017-02-22 13:08:40,146 | ERROR | -message-handler | CorsaDriversLoader | 125 - org.onosproject.onos-api - 1.10.0.SNAPSHOT | Unable to load /corsa-drivers.xml driver definitions
      java.lang.IllegalArgumentException: Unable to resolve class org.onosproject.driver.query.FullMetersAvailable
      at org.onosproject.net.driver.XmlDriverLoader.getClass(XmlDriverLoader.java:206)
      at org.onosproject.net.driver.XmlDriverLoader.parseBehaviours(XmlDriverLoader.java:181)
      at org.onosproject.net.driver.XmlDriverLoader.loadDriver(XmlDriverLoader.java:164)
      at org.onosproject.net.driver.XmlDriverLoader.loadDrivers(XmlDriverLoader.java:130)
      at org.onosproject.net.driver.XmlDriverLoader.loadDrivers(XmlDriverLoader.java:113)
      at org.onosproject.net.driver.AbstractDriverLoader.activate(AbstractDriverLoader.java:53)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.8.0_72]
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_72]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_72]
      at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_72]
      at org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:231)
      at org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:39)
      at org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:624)
      at org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:508)
      at org.apache.felix.scr.impl.helper.ActivateMethod.invoke(ActivateMethod.java:149)
      at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:315)
      at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:127)
      at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:871)
      at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:838)
      at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:850)
      at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:419)
      at org.apache.felix.scr.impl.config.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:376)
      at org.apache.felix.scr.impl.BundleComponentActivator.initialize(BundleComponentActivator.java:172)
      at org.apache.felix.scr.impl.BundleComponentActivator.<init>(BundleComponentActivator.java:120)
      at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:258)
      at org.apache.felix.scr.impl.Activator.access$000(Activator.java:45)
      at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:185)
      at org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:259)
      at org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:232)
      at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:479)[karaf-org.osgi.core.jar:]
      at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:414)[karaf-org.osgi.core.jar:]
      at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232)[karaf-org.osgi.core.jar:]
      at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:443)[karaf-org.osgi.core.jar:]
      at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:868)
      at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:789)
      at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:514)
      at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4403)
      at org.apache.felix.framework.Felix.startBundle(Felix.java:2092)
      at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:955)
      at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:942)
      at org.apache.karaf.features.internal.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:516)
      at org.apache.karaf.features.internal.FeaturesServiceImpl.installFeatures(FeaturesServiceImpl.java:474)
      at org.apache.karaf.features.internal.FeaturesServiceImpl.installFeature(FeaturesServiceImpl.java:415)
      at org.apache.karaf.features.internal.FeaturesServiceImpl.installFeature(FeaturesServiceImpl.java:390)
      at org.apache.karaf.features.internal.FeaturesServiceImpl.installFeature(FeaturesServiceImpl.java:371)
      at org.apache.karaf.features.internal.FeaturesServiceImpl.installFeature(FeaturesServiceImpl.java:349)
      at Proxy8edebcf7_663d_4d80_a607_663a7074953c.installFeature(Unknown Source)
      at org.onosproject.app.impl.ApplicationManager.installAppFeatures(ApplicationManager.java:277)
      at org.onosproject.app.impl.ApplicationManager.access$200(ApplicationManager.java:66)
      at org.onosproject.app.impl.ApplicationManager$InternalStoreDelegate.notify(ApplicationManager.java:204)
      at org.onosproject.app.impl.ApplicationManager$InternalStoreDelegate.notify(ApplicationManager.java:196)
      at org.onosproject.store.AbstractStore.notifyDelegate(AbstractStore.java:58)[125:org.onosproject.onos-api:1.10.0.SNAPSHOT]
      at org.onosproject.store.app.DistributedApplicationStore.access$500(DistributedApplicationStore.java:95)[129:org.onosproject.onos-core-dist:1.10.0.SNAPSHOT]
      at org.onosproject.store.app.DistributedApplicationStore$AppActivator.accept(DistributedApplicationStore.java:439)[129:org.onosproject.onos-core-dist:1.10.0.SNAPSHOT]
      at org.onosproject.store.app.DistributedApplicationStore$AppActivator.accept(DistributedApplicationStore.java:433)[129:org.onosproject.onos-core-dist:1.10.0.SNAPSHOT]
      at org.onosproject.store.primitives.impl.DefaultDistributedTopic.lambda$null$76(DefaultDistributedTopic.java:67)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_72]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_72]
      at java.lang.Thread.run(Thread.java:745)[:1.8.0_72]
      Caused by: java.lang.ClassNotFoundException: org.onosproject.driver.query.FullMetersAvailable not found by org.onosproject.onos-drivers-corsa [172]
      at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1532)
      at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)
      at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:357)[:1.8.0_72]
      at org.onosproject.net.driver.XmlDriverLoader.getClass(XmlDriverLoader.java:198)
      ... 58 more

      If we add the behavior also in onos-drivers.xml we are able to load. This should not be necessary, because CORSA driver has its own package and corsa-drivers.xml.

        Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

            • Assignee:
              andrea Andrea Campanella
              Reporter:
              luca Luca Prete
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: