It looks like the extension api is returning some extensions without
the namespace field, and jclouds expects it to always be present [1]
(jclouds binds extension namespaces and aliases to Java API classes
and uses that to resolve which api to return for each extension).

Could you enable the "jclouds.wire" logs [2] and see what is being
returned for the list extensions call? Any idea why it is not
returning the extension namespace?

@Zack is it OK for the extensions not to return the namespace? is this
something that has changed in newer OpenStack versions?


I.

[1] 
https://github.com/jclouds/jclouds/blob/master/apis/openstack-keystone/src/main/java/org/jclouds/openstack/v2_0/domain/Extension.java#L127
[2] http://jclouds.apache.org/reference/logging/

On 18 April 2016 at 11:28, Giuseppe Tricomi <giu.tric...@gmail.com> wrote:
> Hi Ignasi,
> Me and Antonio are co-worker in these activity than I can answer for him at
> your questions:
>
> the Openstack Version where we try to accede is a Devstack based on
> ovn-networking developing branch.
> We have tried also to use the jclouds 2.0.0-SNAPSHOT but with same result.
>
> Do you need some other information?
> Can you help us?
>
> Thank you in advance.
>
> Bests
>
>
> 2016-04-13 23:55 GMT+02:00 Ignasi Barrera <n...@apache.org>:
>>
>> Hi Antonio,
>>
>> I've been using the RouterApi with 1.9.1 without issues for a while.
>>
>> * Which version of Neutron are you connecting to?
>> * Do you experience the same failure if you use the jclouds
>> 2.0.0-SNAPSHOT?
>>
>>
>> I.
>>
>> On 13 April 2016 at 18:53, Antonio Galletta <anto...@hotmail.it> wrote:
>> > Hi we are using Jclouds v. 1.9.1.We try to use the router api from
>> > org.jclouds.openstack.neutron.v2.extensions.
>> > Following the code that we use:
>> > 1 Optional<RouterApi> t = neutronApi.getRouterApi(region);2
>> > routerApi =t.get();
>> > but we have the following error:
>> > Exception in thread "main"
>> > com.google.common.util.concurrent.UncheckedExecutionException:
>> > java.lang.NullPointerException: namespace     at
>> > com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2201) at
>> > com.google.common.cache.LocalCache.get(LocalCache.java:3934) at
>> > com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938)   at
>> > com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821)
>> > at
>> > com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4827)
>> > at
>> > org.jclouds.openstack.v2_0.functions.PresentWhenExtensionAnnotationNamespaceEqualsAnyNamespaceInExtensionsSet.apply(PresentWhenExtensionAnnotationNamespaceEqualsAnyNamespaceInExtensionsSet.java:71)
>> > at
>> > org.jclouds.openstack.v2_0.functions.PresentWhenExtensionAnnotationNamespaceEqualsAnyNamespaceInExtensionsSet.apply(PresentWhenExtensionAnnotationNamespaceEqualsAnyNamespaceInExtensionsSet.java:45)
>> > at
>> > org.jclouds.rest.internal.DelegatesToInvocationFunction.propagateContextToDelegate(DelegatesToInvocationFunction.java:205)
>> > at
>> > org.jclouds.rest.internal.DelegatesToInvocationFunction.handle(DelegatesToInvocationFunction.java:154)
>> > at
>> > org.jclouds.rest.internal.DelegatesToInvocationFunction.invoke(DelegatesToInvocationFunction.java:123)
>> > at com.sun.proxy.$Proxy50.getRouterApi(Unknown Source)  at
>> > JClouds_Adapter.NeutronTest.createRouter(NeutronTest.java:674)       at
>> > JClouds_Adapter.JcloudTest.main(JcloudTest.java:82)Caused by:
>> > java.lang.NullPointerException: namespace      at
>> > com.google.common.base.Preconditions.checkNotNull(Preconditions.java:229)
>> > at org.jclouds.openstack.v2_0.domain.Extension.<init>(Extension.java:127)
>> > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>> > at
>> > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>> > at
>> > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>> > at java.lang.reflect.Constructor.newInstance(Constructor.java:422)      at
>> > com.google.common.reflect.Invokable$ConstructorInvokable.invokeInternal(Invokable.java:242)
>> > at com.google.common.reflect.Invokable.invoke(Invokable.java:102)       at
>> > org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$DeserializeIntoParameterizedConstructor.newInstance(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:224)
>> > at
>> > org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$DeserializeIntoParameterizedConstructor.read(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:204)
>> > at
>> > org.jclouds.json.internal.NullFilteringTypeAdapterFactories$IterableTypeAdapter.readAndBuild(NullFilteringTypeAdapterFactories.java:90)
>> > at
>> > org.jclouds.json.internal.NullFilteringTypeAdapterFactories$SetTypeAdapter.read(NullFilteringTypeAdapterFactories.java:180)
>> > at
>> > org.jclouds.json.internal.NullFilteringTypeAdapterFactories$SetTypeAdapter.read(NullFilteringTypeAdapterFactories.java:166)
>> > at com.google.gson.Gson.fromJson(Gson.java:810) at
>> > org.jclouds.http.functions.ParseFirstJsonValueNamed.apply(ParseFirstJsonValueNamed.java:80)
>> > at
>> > org.jclouds.http.functions.ParseFirstJsonValueNamed.apply(ParseFirstJsonValueNamed.java:44)
>> > at
>> > org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:90)
>> > at
>> > org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:73)
>> > at
>> > org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:44)
>> > at
>> > org.jclouds.reflect.FunctionalReflection$FunctionalInvocationHandler.handleInvocation(FunctionalReflection.java:117)
>> > at
>> > com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:87)
>> > at com.sun.proxy.$Proxy62.list(Unknown Source)  at
>> > org.jclouds.openstack.neutron.v2.config.NeutronHttpApiModule$1.load(NeutronHttpApiModule.java:81)
>> > at
>> > org.jclouds.openstack.neutron.v2.config.NeutronHttpApiModule$1.load(NeutronHttpApiModule.java:78)
>> > at
>> > com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524)
>> > at 
>> > com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317)
>> > at
>> > com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280)
>> > at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195) ...
>> > 12 moreJava Result: 1
>> >
>> > Please, could someone help us?
>> > Thanks,
>> > Bests
>> > Antonio
>> >
>> >
>> >
>
>
>
>
> --
> Ing. Giuseppe Tricomi
> Dip. D.I.C.I.E.A.M.A (Ex facoltà Ingegneria)
> C.da di Dio S.Agata 98166 Messina
> Tel 0903977338

Reply via email to