You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@brooklyn.apache.org by "Aled Sage (JIRA)" <ji...@apache.org> on 2016/10/10 10:32:21 UTC

[jira] [Resolved] (BROOKLYN-351) extra jclouds providers not found (in karaf)

     [ https://issues.apache.org/jira/browse/BROOKLYN-351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aled Sage resolved BROOKLYN-351.
--------------------------------
       Resolution: Fixed
         Assignee: Aled Sage
    Fix Version/s: 0.10.0

> extra jclouds providers not found (in karaf)
> --------------------------------------------
>
>                 Key: BROOKLYN-351
>                 URL: https://issues.apache.org/jira/browse/BROOKLYN-351
>             Project: Brooklyn
>          Issue Type: Bug
>            Reporter: Aled Sage
>            Assignee: Aled Sage
>             Fix For: 0.10.0
>
>
> When using a downstream build of Brooklyn 0.10.0-SNAPSHOT (with karaf), I added a couple of extra jclouds labs providers/apis via the feature.xml.
> However, when I tried to use it with the blueprint below, I got the error shown:
> {noformat}
> location: jclouds:azurecompute
> services:
> - type: org.apache.brooklyn.entity.stock.BasicApplication
> 2016-09-26 12:10:12,346 DEBUG 115 o.a.b.c.t.AbstractTypePlanTransformer [p1212877220-1463] Could not instantiate BasicRegisteredType[null;null] (rethrowing): Illegal parameter for 'location' (jclouds:azurecompute); not resolvable: NoSuchElementException: Cloud provider/
> API type azurecompute is not supported by jclouds
> {noformat}
> Looking in {{org.jclouds.providers.Providers.withId("azurecompute")}}, jclouds does know about azurecompute.
> The problem is that the providers/apis list are retrieved and stored in {{JcloudsLocationResolver.PROVIDERS}} and {{JcloudsLocationResolver.APIS}} (during static init). At that point, the azurecompute bundle has not been activated, so {{org.jclouds.osgi.ProviderRegistry}} had not yet had it added by {{org.jclouds.osgi.MetadataBundleListener}}.
> Below is a stacktrace of where this happens:
> {noformat}
> Daemon Thread [FelixStartLevel] (Suspended (breakpoint at line 82 in Providers))	
> 	owns: AtomicBoolean  (id=1573)	
> 	Providers.all() line: 82	
> 	JcloudsLocationResolver.getProvidersMap() line: 61	
> 	JcloudsLocationResolver.<clinit>() line: 56	
> 	NativeConstructorAccessorImpl.newInstance0(Constructor, Object[]) line: not available [native method]	
> 	NativeConstructorAccessorImpl.newInstance(Object[]) line: 57	
> 	DelegatingConstructorAccessorImpl.newInstance(Object[]) line: 45	
> 	Constructor<T>.newInstance(Object...) line: 526	
> 	ReflectionUtils.newInstance(AccessControlContext, Constructor, Object...) line: 331	
> 	BeanRecipe.newInstance(Constructor, Object...) line: 984	
> 	BeanRecipe.getInstanceFromType(List<Object>, List<ReifiedType>) line: 349	
> 	BeanRecipe.getInstance() line: 282	
> 	BeanRecipe.internalCreate2() line: 830	
> 	BeanRecipe.internalCreate() line: 811	
> 	BeanRecipe(AbstractRecipe).create() line: 106	
> 	RefRecipe.internalCreate() line: 62	
> 	RefRecipe(AbstractRecipe).create() line: 106	
> 	ServiceRecipe.createService() line: 285	
> 	ServiceRecipe.internalGetService(Bundle, ServiceRegistration) line: 252	
> 	ServiceRecipe.internalCreate() line: 149	
> 	AbstractRecipe$1.call() line: 79	
> 	FutureTask<V>.run() line: 262	
> 	ServiceRecipe(AbstractRecipe).create() line: 88	
> 	BlueprintRepository.createInstances(Collection<String>) line: 255	
> 	BlueprintRepository.createAll(Collection<String>) line: 186	
> 	BlueprintContainerImpl.instantiateEagerComponents() line: 712	
> 	BlueprintContainerImpl.doRun() line: 399	
> 	BlueprintContainerImpl.run() line: 273	
> 	BlueprintExtender.createContainer(Bundle, List<Object>) line: 294	
> 	BlueprintExtender.createContainer(Bundle) line: 263	
> 	BlueprintExtender.modifiedBundle(Bundle, BundleEvent, Object) line: 253	
> 	BundleHookBundleTracker$Tracked.customizerModified(Bundle, BundleEvent, T) line: 500	
> 	BundleHookBundleTracker$Tracked.customizerModified(Object, Object, Object) line: 433	
> 	BundleHookBundleTracker$Tracked(BundleHookBundleTracker$AbstractTracked<S,T,R>).track(S, R) line: 725	
> 	BundleHookBundleTracker$Tracked.bundleChanged(BundleEvent) line: 463	
> 	BundleHookBundleTracker$BundleEventHook.event(BundleEvent, Collection) line: 422	
> 	SecureAction.invokeBundleEventHook(EventHook, BundleEvent, Collection<BundleContext>) line: 1179	
> 	EventDispatcher.createWhitelistFromHooks(EventObject, Framework, Map<BundleContext,List<ListenerInfo>>, Map<BundleContext,List<ListenerInfo>>, Class<T>) line: 731	
> 	EventDispatcher.fireBundleEvent(BundleEvent, Framework) line: 486	
> 	Felix.fireBundleEvent(int, Bundle) line: 4541	
> 	Felix.startBundle(BundleImpl, int) line: 2172	
> 	Felix.setActiveStartLevel(int, FrameworkListener[]) line: 1371	
> 	FrameworkStartLevelImpl.run() line: 308	
> 	Thread.run() line: 745	
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)