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)