[ 
https://issues.apache.org/jira/browse/BROOKLYN-351?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15525253#comment-15525253
 ] 

ASF GitHub Bot commented on BROOKLYN-351:
-----------------------------------------

Github user asfgit closed the pull request at:

    https://github.com/apache/brooklyn-server/pull/351


> 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
>
> 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)

Reply via email to