Are you referring to re-configuration of a config subsystem (CSS) module via restconf? If so, I don't know why it doesn't seem to work but I would suggest not using this mechanism as it's problematic for upgrades. I suggest to also convert to blueprint as, since Boron, we have been moving away from the CSS. In fact, we just discussed on the kernel call about officially deprecating it in Nitrogen with eventual removal in the future.
Tom On Wed, Apr 19, 2017 at 7:41 AM, Tomas Janciga -X (tjanciga - PANTHEON TECHNOLOGIES at Cisco) <tjanc...@cisco.com> wrote: > Thanks for clarification Tom. > > Now I understand that the stack trace is probably not related to the > problem with re-configuration of modules on Karaf4. > > > > But is the issue with re-configuration already known please ? > > I’ve tried to find some project using karaf4-parent and using Blueprint > configuration of modules, but I haven’t found any. > > Is IoTDM project the first project testing it ? > > > > Thanks, > > Tomas > > *From:* Tom Pantelis [mailto:tompante...@gmail.com] > *Sent:* Tuesday, April 18, 2017 4:12 PM > *To:* Tomas Janciga -X (tjanciga - PANTHEON TECHNOLOGIES at Cisco) > *Cc:* controller-dev@lists.opendaylight.org > *Subject:* Re: [controller-dev] Re-configuration of module using > Blueprint on Karaf4 distribution > > > > Tomas, > > > > The "Unable to create a proxy object..." message is related to blueprint > and is benign (logged as INFO). When registering a service instance, it > tries to create a proxy for it (for the quiesce functionality which isn't > important) - on failure it uses the original instance (lucky for us). This > happens sometimes - not sure why - it's an issue in the Aries Proxy lib. It > would be nice if it used the JDK proxy APIs for interfaces as that's robust > and only used the ASM stuff when proxying a concrete class as the JDK proxy > API doesn't support that. OSGi services normally advertise an interface > anyway (best practice). > > > > Tom > > > > On Tue, Apr 18, 2017 at 9:55 AM, Tomas Janciga -X (tjanciga - PANTHEON > TECHNOLOGIES at Cisco) <tjanc...@cisco.com> wrote: > > Hi guys, > > I’m working on migration of IoTDM project to Karaf4. > > I’ve done some draft changes of onem2m-core module and it’s submodules. > Some of the submodules are using Blueprint configuration. > > I have a problem when I’m running Karaf4 distribution and I try to > re-configure some of these modules through RESTCONF. > > First time everything works and module is re-configured successfully but > second time (and for all next attempts as well) I just receive 200OK but > the changed configuration is not used (the module is not re-loaded using > the new configuration). > > I’ve noticed a stack trace in logs, it’s attached. It’s printed during the > first re-configuration (nothing is printed during second and all next > attempts to re-configure the module). > > > > Could you let me know please, if it is some known issue or whether it > works well in general and the issue is related to my changes only ? > > The same steps works well for Karaf3 distribution of IoTDM. > > Thanks > > Tomas > > > > opendaylight-user@root>log:display > > 2017-04-18 06:38:51,010 | INFO | erRestartService | > printContainerRestartServiceImpl | 202 - org.opendaylight.controller.blueprint > - 0.6.0.SNAPSHOT | Restarting blueprint containers for bundle > org.opendaylight.iotdm.onem2m-protocol-http-provider_0.3.0.SNAPSHOT [267] > and its dependent bundles [] > > 2017-04-18 06:38:51,054 | INFO | ainer-ThreadPool | > BlueprintExtender | 115 - org.apache.aries.blueprint.core > - 1.6.2 | Destroying BlueprintContainer for bundle > org.opendaylight.iotdm.onem2m-protocol-http-provider/0.3.0.SNAPSHOT > > 2017-04-18 06:38:51,092 | INFO | ainer-ThreadPool | > ContextHandler | 177 - org.eclipse.jetty.util - > 8.1.19.v20160209 | stopped o.e.j.s.ServletContextHandler{/,null} > > 2017-04-18 06:38:51,145 | INFO | ainer-ThreadPool | > Onem2mHttpPluginServer | 261 - org.opendaylight.iotdm.onem2m-core > - 0.3.0.SNAPSHOT | stopHttpServer: on port: 8285 > > 2017-04-18 06:38:51,145 | INFO | ainer-ThreadPool | > Onem2mHttpBaseIotdmPlugin | 266 - > org.opendaylight.iotdm.onem2m-protocol-http-impl > - 0.3.0.SNAPSHOT | Closed HTTP Base IoTDM plugin at port: 8285, security > level: L0 > > 2017-04-18 06:38:51,281 | INFO | ainer-ThreadPool | > Onem2mRouterService | 261 - org.opendaylight.iotdm.onem2m-core > - 0.3.0.SNAPSHOT | Default router plugin removed: http > > 2017-04-18 06:38:51,281 | INFO | ainer-ThreadPool | > Onem2mHttpProvider | 267 - > org.opendaylight.iotdm.onem2m-protocol-http-provider > - 0.3.0.SNAPSHOT | Onem2mHttpProvider instance HttpProviderDefault: Closed > > 2017-04-18 06:38:51,285 | INFO | ainer-ThreadPool | > printContainerRestartServiceImpl | 202 - org.opendaylight.controller.blueprint > - 0.6.0.SNAPSHOT | Restarting blueprint container for bundle > org.opendaylight.iotdm.onem2m-protocol-http-provider_0.3.0.SNAPSHOT [267] > with paths [bundleentry://267.fwk613784740/org/opendaylight/ > blueprint/impl-blueprint.xml] > > 2017-04-18 06:38:51,299 | INFO | ainer-ThreadPool | > ServiceRecipe | 115 - org.apache.aries.blueprint.core > - 1.6.2 | Unable to create a proxy object for the service .component-1 > defined in bundle org.opendaylight.controller.sal-binding-broker-impl/ > 1.5.0.SNAPSHOT with id. Returning the original object instead. > > org.apache.aries.proxy.UnableToProxyException: > java.lang.ClassFormatError: Duplicate interface name in class file > Proxye8f10bc6_1688_47fc_b4b5_8d679dbb8631 > > at org.apache.aries.proxy.impl. > interfaces.ProxyClassLoader.createProxyClass(ProxyClassLoader.java:165) > > at org.apache.aries.proxy.impl.interfaces. > InterfaceProxyGenerator.getProxyInstance(InterfaceProxyGenerator.java:97) > > at org.apache.aries.proxy.impl.AsmProxyManager. > createNewProxy(AsmProxyManager.java:80) > > at org.apache.aries.proxy.impl.AbstractProxyManager. > createDelegatingInterceptingProxy(AbstractProxyManager.java:75) > > at org.apache.aries.proxy.impl.AbstractProxyManager. > createInterceptingProxy(AbstractProxyManager.java:53) > > at org.apache.aries.blueprint.container.ServiceRecipe$ > TriggerServiceFactory.getService(ServiceRecipe.java: > 569)[115:org.apache.aries.blueprint.core:1.6.2] > > at org.eclipse.osgi.internal.serviceregistry. > ServiceFactoryUse$1.run(ServiceFactoryUse.java:212)[ > org.eclipse.osgi-3.10.101.v20150820-1432.jar:] > > at java.security.AccessController.doPrivileged(Native > Method)[:1.8.0_91] > > at org.eclipse.osgi.internal.serviceregistry. > ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:210)[ > org.eclipse.osgi-3.10.101.v20150820-1432.jar:] > > at org.eclipse.osgi.internal.serviceregistry. > ServiceFactoryUse.getService(ServiceFactoryUse.java:111)[ > org.eclipse.osgi-3.10.101.v20150820-1432.jar:] > > at org.eclipse.osgi.internal.serviceregistry. > ServiceConsumer$2.getService(ServiceConsumer.java:45)[org. > eclipse.osgi-3.10.101.v20150820-1432.jar:] > > at org.eclipse.osgi.internal.serviceregistry. > ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java: > 496)[org.eclipse.osgi-3.10.101.v20150820-1432.jar:] > > at org.eclipse.osgi.internal.serviceregistry. > ServiceRegistry.getService(ServiceRegistry.java:461)[org. > eclipse.osgi-3.10.101.v20150820-1432.jar:] > > at org.eclipse.osgi.internal.framework.BundleContextImpl. > getService(BundleContextImpl.java:619)[org.eclipse.osgi-3. > 10.101.v20150820-1432.jar:] > > at org.apache.aries.blueprint.container. > AbstractServiceReferenceRecipe.getServiceSecurely( > AbstractServiceReferenceRecipe.java:235)[115:org.apache. > aries.blueprint.core:1.6.2] > > at org.opendaylight.controller.blueprint.ext. > StaticServiceReferenceRecipe.internalCreate(StaticServiceReferenceRecipe. > java:109)[202:org.opendaylight.controller.blueprint:0.6.0.SNAPSHOT] > > at org.opendaylight.controller.blueprint.ext. > StaticServiceReferenceRecipe.retrack(StaticServiceReferenceRecipe. > java:75)[202:org.opendaylight.controller.blueprint:0.6.0.SNAPSHOT] > > at org.apache.aries.blueprint.container. > AbstractServiceReferenceRecipe.start(AbstractServiceReferenceRecipe > .java:140)[115:org.apache.aries.blueprint.core:1.6.2] > > at org.opendaylight.controller.blueprint.ext. > StaticServiceReferenceRecipe.startTracking(StaticServiceReferenceRecipe. > java:46)[202:org.opendaylight.controller.blueprint:0.6.0.SNAPSHOT] > > at org.opendaylight.controller.blueprint.ext. > AbstractDependentComponentFactoryMetadata.retrieveService( > AbstractDependentComponentFactoryMetadata.java:119)[202:org. > opendaylight.controller.blueprint:0.6.0.SNAPSHOT] > > at org.opendaylight.controller.blueprint.ext. > AbstractDependentComponentFactoryMetadata.retrieveService( > AbstractDependentComponentFactoryMetadata.java:104)[202:org. > opendaylight.controller.blueprint:0.6.0.SNAPSHOT] > > at org.opendaylight.controller.blueprint.ext. > DataStoreAppConfigMetadata.startTracking(DataStoreAppConfigMetadata. > java:166)[202:org.opendaylight.controller.blueprint:0.6.0.SNAPSHOT] > > at org.opendaylight.controller.blueprint.ext. > AbstractDependentComponentFactoryMetadata.startTracking( > AbstractDependentComponentFactoryMetadata.java:186)[202:org. > opendaylight.controller.blueprint:0.6.0.SNAPSHOT] > > at org.apache.aries.blueprint.di. > DependentComponentFactoryRecipe.start(DependentComponentFactoryRecip > e.java:55)[115:org.apache.aries.blueprint.core:1.6.2] > > at org.apache.aries.blueprint.container. > BlueprintContainerImpl.trackServiceReferences(BlueprintContainerImpl.java: > 636)[115:org.apache.aries.blueprint.core:1.6.2] > > at org.apache.aries.blueprint.container. > BlueprintContainerImpl.doRun(BlueprintContainerImpl.java: > 360)[115:org.apache.aries.blueprint.core:1.6.2] > > at org.apache.aries.blueprint.container. > BlueprintContainerImpl.run(BlueprintContainerImpl.java: > 276)[115:org.apache.aries.blueprint.core:1.6.2] > > at org.apache.aries.blueprint.container.BlueprintExtender. > createContainer(BlueprintExtender.java:300)[115:org.apache.aries. > blueprint.core:1.6.2] > > at org.apache.aries.blueprint.container.BlueprintExtender. > createContainer(BlueprintExtender.java:269)[115:org.apache.aries. > blueprint.core:1.6.2] > > at org.apache.aries.blueprint.container.BlueprintExtender. > access$900(BlueprintExtender.java:68)[115:org.apache.aries. > blueprint.core:1.6.2] > > at org.apache.aries.blueprint.container.BlueprintExtender$ > BlueprintContainerServiceImpl.createContainer(BlueprintExtender.java:602)[ > 115:org.apache.aries.blueprint.core:1.6.2] > > at org.opendaylight.controller.blueprint. > BlueprintContainerRestartServiceImpl.lambda$createContainers$6( > BlueprintContainerRestartServiceImpl.java:216)[202:org. > opendaylight.controller.blueprint:0.6.0.SNAPSHOT] > > at java.util.ArrayList.forEach( > ArrayList.java:1249)[:1.8.0_91] > > at org.opendaylight.controller.blueprint. > BlueprintContainerRestartServiceImpl.createContainers( > BlueprintContainerRestartServiceImpl.java:211)[202:org. > opendaylight.controller.blueprint:0.6.0.SNAPSHOT] > > at org.opendaylight.controller.blueprint. > BlueprintContainerRestartServiceImpl.lambda$restartContainerAndDependentsI > nternal$3(BlueprintContainerRestartServiceImpl.java:140)[202:org. > opendaylight.controller.blueprint:0.6.0.SNAPSHOT] > > at org.opendaylight.controller.blueprint. > BlueprintContainerRestartServiceImpl.destroyContainers( > BlueprintContainerRestartServiceImpl.java:176)[202:org. > opendaylight.controller.blueprint:0.6.0.SNAPSHOT] > > at org.opendaylight.controller.blueprint. > BlueprintContainerRestartServiceImpl.lambda$destroyContainers$5( > BlueprintContainerRestartServiceImpl.java:205)[202:org. > opendaylight.controller.blueprint:0.6.0.SNAPSHOT] > > at org.apache.aries.blueprint.container. > BlueprintQuiesceParticipant$QuiesceDelegatingCallback.callback( > BlueprintQuiesceParticipant.java:159)[115:org.apache. > aries.blueprint.core:1.6.2] > > at org.apache.aries.blueprint.container. > BlueprintQuiesceParticipant$QuiesceBundle.run(BlueprintQuiesceParticipant. > java:125)[115:org.apache.aries.blueprint.core:1.6.2] > > at java.util.concurrent.ThreadPoolExecutor.runWorker( > ThreadPoolExecutor.java:1142)[:1.8.0_91] > > at java.util.concurrent.ThreadPoolExecutor$Worker.run( > ThreadPoolExecutor.java:617)[:1.8.0_91] > > at java.lang.Thread.run(Thread.java:745)[:1.8.0_91] > > Caused by: java.lang.ClassFormatError: Duplicate interface name in class > file Proxye8f10bc6_1688_47fc_b4b5_8d679dbb8631 > > at java.lang.ClassLoader.defineClass1(Native > Method)[:1.8.0_91] > > at java.lang.ClassLoader.defineClass(ClassLoader.java: > 763)[:1.8.0_91] > > at org.apache.aries.proxy.impl. > interfaces.ProxyClassLoader.createProxyClass(ProxyClassLoader.java:157) > > ... 41 more > > > _______________________________________________ > controller-dev mailing list > controller-dev@lists.opendaylight.org > https://lists.opendaylight.org/mailman/listinfo/controller-dev > > >
_______________________________________________ controller-dev mailing list controller-dev@lists.opendaylight.org https://lists.opendaylight.org/mailman/listinfo/controller-dev