You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jclouds.apache.org by Alexandr Porunov <al...@gmail.com> on 2016/09/14 16:14:15 UTC
How to use jclouds with OpenStack Swift?
Hello,
I am using jclouds to store objects into OpenStack Swift.
The problem is that I don't understand what "region" is meant.
When I need to create an object or a container I have to use next API:
ContainerApi containerApi = swiftApi.getContainerApi("RegionOne");
What is "RegionOne" ? First of all if we talk about regions in Swift then
it can't be a String. It is Integer value. That is why I can't understand
what is "RegionOne" and how to create a simple container with SwiftApi.
Please, help me to figure out how to use this API
Sincerely,
Alexandr
Re: How to use jclouds with OpenStack Swift?
Posted by Alexandr Porunov <al...@gmail.com>.
My OpenStack Swift works if I use curl:
//authenticate
curl -v -H 'X-Auth-User: admin:admin' -H 'X-Auth-Key: admin'
http://192.168.0.58:8080/auth/v1.0/
//check containers
curl -v -H 'X-Storage-Token: AUTH_tk1411104de43046aca9b371c27c3b1fad'
http://192.168.0.58:8080/v1/AUTH_admin/
//create a container
curl -v -H 'X-Storage-Token: AUTH_tk1411104de43046aca9b371c27c3b1fad' -X
PUT http://192.168.0.58:8080/v1/AUTH_admin/mycontainer
//upload file
swift -A http://192.168.0.58:8080/auth/v1.0/ -U admin:admin -K admin upload
mycontainer some_file
//get file
curl -v -H 'X-Auth-Token: AUTH_tk1411104de43046aca9b371c27c3b1fad' -X GET
http://192.168.0.58:8080/v1/AUTH_admin/mycontainer/some_file
On Wed, Sep 14, 2016 at 11:37 PM, Alexandr Porunov <
alexandr.porunov@gmail.com> wrote:
> Andrew,
>
> Ignasi Barrera helped me. I had to use Gson version 2.5 to handle that
> error.
>
> As you said I tried to call:
> Set<String> regions = swiftApi.getConfiguredRegions();
>
> But I got an error:
> Request processing failed; nested exception is org.jclouds.http.HttpResponseException:
> command: POST http://192.168.0.58:8080/auth/v1.0/tokens HTTP/1.1 failed
> with response: HTTP/1.1 400 Bad Request; content: [<html><h1>Bad
> Request</h1><p>The server could not comply with the request since it is
> either malformed or otherwise incorrect.</p></html>]] with root cause
> org.jclouds.http.HttpResponseException: command: POST
> http://192.168.0.58:8080/auth/v1.0/tokens HTTP/1.1 failed with response:
> HTTP/1.1 400 Bad Request; content: [<html><h1>Bad Request</h1><p>The server
> could not comply with the request since it is either malformed or otherwise
> incorrect.</p></html>]
> at org.jclouds.openstack.swift.v1.handlers.SwiftErrorHandler.
> handleError(SwiftErrorHandler.java:46)
> at org.jclouds.http.handlers.DelegatingErrorHandler.handleError(
> DelegatingErrorHandler.java:65)
> at org.jclouds.http.internal.BaseHttpCommandExecutorService
> .shouldContinue(BaseHttpCommandExecutorService.java:136)
> at org.jclouds.http.internal.BaseHttpCommandExecutorService
> .invoke(BaseHttpCommandExecutorService.java:105)
> 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.rest.internal.DelegatesToInvocationFunction.handle(
> DelegatesToInvocationFunction.java:156)
> at org.jclouds.rest.internal.DelegatesToInvocationFunction.invoke(
> DelegatesToInvocationFunction.java:123)
> at com.sun.proxy.$Proxy111.authenticateWithTenantNameAndCredentials(Unknown
> Source)
> at org.jclouds.openstack.keystone.v2_0.functions.
> AuthenticatePasswordCredentials.authenticateWithTenantName(
> AuthenticatePasswordCredentials.java:43)
> at org.jclouds.openstack.keystone.v2_0.functions.
> AuthenticatePasswordCredentials.authenticateWithTenantName(
> AuthenticatePasswordCredentials.java:31)
> at org.jclouds.openstack.keystone.v2_0.functions.
> internal.BaseAuthenticator.apply(BaseAuthenticator.java:79)
> at org.jclouds.openstack.keystone.v2_0.functions.
> internal.BaseAuthenticator.apply(BaseAuthenticator.java:36)
> at com.google.common.cache.CacheLoader$FunctionToCacheLoader.load(
> CacheLoader.java:148)
> 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)
> 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.keystone.v2_0.config.
> KeystoneAuthenticationModule$2.get(KeystoneAuthenticationModule.java:234)
> at org.jclouds.openstack.keystone.v2_0.config.
> KeystoneAuthenticationModule$2.get(KeystoneAuthenticationModule.java:231)
> at org.jclouds.openstack.keystone.v2_0.suppliers.
> LocationIdToURIFromAccessForTypeAndVersion.get(
> LocationIdToURIFromAccessForTypeAndVersion.java:94)
> at org.jclouds.openstack.keystone.v2_0.suppliers.
> LocationIdToURIFromAccessForTypeAndVersion.get(
> LocationIdToURIFromAccessForTypeAndVersion.java:54)
> at org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOn
> AuthorizationExceptionSupplier$SetAndThrowAuthorizationExcept
> ionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOn
> AuthorizationExceptionSupplier.java:73)
> at org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOn
> AuthorizationExceptionSupplier$SetAndThrowAuthorizationExcept
> ionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOn
> AuthorizationExceptionSupplier.java:57)
> 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)
> 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 org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOn
> AuthorizationExceptionSupplier.get(MemoizedRetryOnTimeOutButNotOn
> AuthorizationExceptionSupplier.java:119)
> at org.jclouds.location.suppliers.derived.
> RegionIdsFromRegionIdToURIKeySet.get(RegionIdsFromRegionIdToURIKeyS
> et.java:45)
> at org.jclouds.location.suppliers.derived.
> RegionIdsFromRegionIdToURIKeySet.get(RegionIdsFromRegionIdToURIKeyS
> et.java:33)
> at com.google.common.base.Suppliers$SupplierComposition.
> get(Suppliers.java:67)
> at org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOn
> AuthorizationExceptionSupplier$SetAndThrowAuthorizationExcept
> ionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOn
> AuthorizationExceptionSupplier.java:73)
> at org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOn
> AuthorizationExceptionSupplier$SetAndThrowAuthorizationExcept
> ionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOn
> AuthorizationExceptionSupplier.java:57)
> 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)
> 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 org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOn
> AuthorizationExceptionSupplier.get(MemoizedRetryOnTimeOutButNotOn
> AuthorizationExceptionSupplier.java:119)
> at org.jclouds.rest.internal.DelegatesToInvocationFunction.
> getInstanceOfTypeWithQualifier(DelegatesToInvocationFunction.java:277)
> at org.jclouds.rest.internal.DelegatesToInvocationFunction.
> lookupValueFromGuice(DelegatesToInvocationFunction.java:234)
> at org.jclouds.rest.internal.DelegatesToInvocationFunction.handle(
> DelegatesToInvocationFunction.java:152)
> at org.jclouds.rest.internal.DelegatesToInvocationFunction.invoke(
> DelegatesToInvocationFunction.java:123)
> at com.sun.proxy.$Proxy114.getConfiguredRegions(Unknown Source)
> at com.fyfine.loader.controller.PersonController.getRegions(
> PersonController.java:112)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:497)
> at org.springframework.web.method.support.InvocableHandlerMethod.
> doInvoke(InvocableHandlerMethod.java:221)
> at org.springframework.web.method.support.InvocableHandlerMethod.
> invokeForRequest(InvocableHandlerMethod.java:136)
> at org.springframework.web.servlet.mvc.method.annotation.
> ServletInvocableHandlerMethod.invokeAndHandle(
> ServletInvocableHandlerMethod.java:114)
> at org.springframework.web.servlet.mvc.method.annotation.
> RequestMappingHandlerAdapter.invokeHandlerMethod(
> RequestMappingHandlerAdapter.java:827)
> at org.springframework.web.servlet.mvc.method.annotation.
> RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.
> java:738)
> at org.springframework.web.servlet.mvc.method.
> AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
> at org.springframework.web.servlet.DispatcherServlet.
> doDispatch(DispatcherServlet.java:963)
> at org.springframework.web.servlet.DispatcherServlet.
> doService(DispatcherServlet.java:897)
> at org.springframework.web.servlet.FrameworkServlet.
> processRequest(FrameworkServlet.java:970)
> at org.springframework.web.servlet.FrameworkServlet.
> doGet(FrameworkServlet.java:861)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
> at org.springframework.web.servlet.FrameworkServlet.
> service(FrameworkServlet.java:846)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
> at org.apache.catalina.core.ApplicationFilterChain.
> internalDoFilter(ApplicationFilterChain.java:230)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:165)
> at org.apache.tomcat.websocket.server.WsFilter.doFilter(
> WsFilter.java:52)
> at org.apache.catalina.core.ApplicationFilterChain.
> internalDoFilter(ApplicationFilterChain.java:192)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:165)
> at org.springframework.web.filter.RequestContextFilter.
> doFilterInternal(RequestContextFilter.java:99)
> at org.springframework.web.filter.OncePerRequestFilter.
> doFilter(OncePerRequestFilter.java:107)
> at org.apache.catalina.core.ApplicationFilterChain.
> internalDoFilter(ApplicationFilterChain.java:192)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:165)
> at org.springframework.web.filter.HttpPutFormContentFilter.
> doFilterInternal(HttpPutFormContentFilter.java:87)
> at org.springframework.web.filter.OncePerRequestFilter.
> doFilter(OncePerRequestFilter.java:107)
> at org.apache.catalina.core.ApplicationFilterChain.
> internalDoFilter(ApplicationFilterChain.java:192)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:165)
> at org.springframework.web.filter.HiddenHttpMethodFilter.
> doFilterInternal(HiddenHttpMethodFilter.java:77)
> at org.springframework.web.filter.OncePerRequestFilter.
> doFilter(OncePerRequestFilter.java:107)
> at org.apache.catalina.core.ApplicationFilterChain.
> internalDoFilter(ApplicationFilterChain.java:192)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:165)
> at org.springframework.web.filter.CharacterEncodingFilter.
> doFilterInternal(CharacterEncodingFilter.java:197)
> at org.springframework.web.filter.OncePerRequestFilter.
> doFilter(OncePerRequestFilter.java:107)
> at org.apache.catalina.core.ApplicationFilterChain.
> internalDoFilter(ApplicationFilterChain.java:192)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:165)
> at org.apache.catalina.core.StandardWrapperValve.invoke(
> StandardWrapperValve.java:198)
> at org.apache.catalina.core.StandardContextValve.invoke(
> StandardContextValve.java:108)
> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(
> AuthenticatorBase.java:522)
> at org.apache.catalina.core.StandardHostValve.invoke(
> StandardHostValve.java:140)
> at org.apache.catalina.valves.ErrorReportValve.invoke(
> ErrorReportValve.java:79)
> at org.apache.catalina.core.StandardEngineValve.invoke(
> StandardEngineValve.java:87)
> at org.apache.catalina.connector.CoyoteAdapter.service(
> CoyoteAdapter.java:349)
> at org.apache.coyote.http11.Http11Processor.service(
> Http11Processor.java:1110)
> at org.apache.coyote.AbstractProcessorLight.process(
> AbstractProcessorLight.java:66)
> at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(
> AbstractProtocol.java:785)
> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.
> doRun(NioEndpoint.java:1425)
> at org.apache.tomcat.util.net.SocketProcessorBase.run(
> SocketProcessorBase.java:49)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(
> ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(
> ThreadPoolExecutor.java:617)
> at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(
> TaskThread.java:61)
> at java.lang.Thread.run(Thread.java:745)
>
> Here is an spring's output:
>
> {"timestamp":1473877865201,"status":500,"error":"Internal Server
> Error","exception":"org.jclouds.http.HttpResponseException","message":"command:
> POST http://192.168.0.58:8080/auth/v1.0/tokens HTTP/1.1 failed with
> response: HTTP/1.1 400 Bad Request; content: [<html><h1>Bad
> Request</h1><p>The server could not comply with the request since it is
> either malformed or otherwise incorrect.</p></html>]","path"
> :"/get_regions"}
>
> Do you know why am I get this error?
>
> Best regards,
> Alexandr
>
> On Wed, Sep 14, 2016 at 9:13 PM, Alexandr Porunov <
> alexandr.porunov@gmail.com> wrote:
>
>> Yes, I found Gson in the classpath. It has version 2.7
>>
>> On Wed, Sep 14, 2016 at 8:48 PM, Alexandr Porunov <
>> alexandr.porunov@gmail.com> wrote:
>>
>>> Hello Andrew,
>>>
>>> Now I cannot call that method because I cannot connect to OpenStack
>>> Swift itself. I always get next error:
>>> http://paste.openstack.org/show/576305/
>>>
>>> Here is my proxy configs:
>>> [filter:tempauth]
>>> use = egg:swift#tempauth
>>> user_admin_admin = admin .admin .reseller_admin
>>> user_test_tester = testing .admin
>>> user_test2_tester2 = testing2 .admin
>>> user_test_tester3 = testing3
>>>
>>> Here is my code:
>>> SwiftApi swiftApi = ContextBuilder.newBuilder("openstack-swift")
>>> .endpoint("http://192.168.0.58:8080/v1/")
>>> .credentials("admin:admin", "admin")
>>> .buildApi(SwiftApi.class);
>>>
>>> Can you help me please?
>>>
>>> Regards,
>>> Alexandr
>>>
>>> On Wed, Sep 14, 2016 at 7:21 PM, Andrew Phillips <an...@apache.org>
>>> wrote:
>>>
>>>> What is "RegionOne" ? First of all if we talk about regions in Swift
>>>>> then it can't be a String. It is Integer value. That is why I can't
>>>>> understand what is "RegionOne" and how to create a simple container
>>>>> with SwiftApi.
>>>>>
>>>>
>>>> Could you call "getConfiguredRegions" on your API instance to see which
>>>> regions are available?
>>>>
>>>> https://jclouds.apache.org/reference/javadoc/1.9.x/org/jclou
>>>> ds/openstack/swift/v1/SwiftApi.html#getConfiguredRegions()
>>>>
>>>> Regards
>>>>
>>>> ap
>>>>
>>>
>>>
>>
>
Re: How to use jclouds with OpenStack Swift?
Posted by Andrew Phillips <an...@apache.org>.
> But I got an error:
Ah, sorry to hear :-( Glad we're getting closer, though.
Could you enable header and wire logging [1], run the request again and
please put the output (with sensitive information removed) into a Gist
or Pastie?
That will hopefully give us a bit more insight into the exact request
being made, and why your Openstack installation isn't happy with it.
Regards
ap
[1] https://jclouds.apache.org/reference/logging/
Re: How to use jclouds with OpenStack Swift?
Posted by Alexandr Porunov <al...@gmail.com>.
Andrew,
Ignasi Barrera helped me. I had to use Gson version 2.5 to handle that
error.
As you said I tried to call:
Set<String> regions = swiftApi.getConfiguredRegions();
But I got an error:
Request processing failed; nested exception is
org.jclouds.http.HttpResponseException: command: POST
http://192.168.0.58:8080/auth/v1.0/tokens HTTP/1.1 failed with response:
HTTP/1.1 400 Bad Request; content: [<html><h1>Bad Request</h1><p>The server
could not comply with the request since it is either malformed or otherwise
incorrect.</p></html>]] with root cause
org.jclouds.http.HttpResponseException: command: POST
http://192.168.0.58:8080/auth/v1.0/tokens HTTP/1.1 failed with response:
HTTP/1.1 400 Bad Request; content: [<html><h1>Bad Request</h1><p>The server
could not comply with the request since it is either malformed or otherwise
incorrect.</p></html>]
at
org.jclouds.openstack.swift.v1.handlers.SwiftErrorHandler.handleError(SwiftErrorHandler.java:46)
at
org.jclouds.http.handlers.DelegatingErrorHandler.handleError(DelegatingErrorHandler.java:65)
at
org.jclouds.http.internal.BaseHttpCommandExecutorService.shouldContinue(BaseHttpCommandExecutorService.java:136)
at
org.jclouds.http.internal.BaseHttpCommandExecutorService.invoke(BaseHttpCommandExecutorService.java:105)
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.rest.internal.DelegatesToInvocationFunction.handle(DelegatesToInvocationFunction.java:156)
at
org.jclouds.rest.internal.DelegatesToInvocationFunction.invoke(DelegatesToInvocationFunction.java:123)
at
com.sun.proxy.$Proxy111.authenticateWithTenantNameAndCredentials(Unknown
Source)
at
org.jclouds.openstack.keystone.v2_0.functions.AuthenticatePasswordCredentials.authenticateWithTenantName(AuthenticatePasswordCredentials.java:43)
at
org.jclouds.openstack.keystone.v2_0.functions.AuthenticatePasswordCredentials.authenticateWithTenantName(AuthenticatePasswordCredentials.java:31)
at
org.jclouds.openstack.keystone.v2_0.functions.internal.BaseAuthenticator.apply(BaseAuthenticator.java:79)
at
org.jclouds.openstack.keystone.v2_0.functions.internal.BaseAuthenticator.apply(BaseAuthenticator.java:36)
at
com.google.common.cache.CacheLoader$FunctionToCacheLoader.load(CacheLoader.java:148)
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)
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.keystone.v2_0.config.KeystoneAuthenticationModule$2.get(KeystoneAuthenticationModule.java:234)
at
org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule$2.get(KeystoneAuthenticationModule.java:231)
at
org.jclouds.openstack.keystone.v2_0.suppliers.LocationIdToURIFromAccessForTypeAndVersion.get(LocationIdToURIFromAccessForTypeAndVersion.java:94)
at
org.jclouds.openstack.keystone.v2_0.suppliers.LocationIdToURIFromAccessForTypeAndVersion.get(LocationIdToURIFromAccessForTypeAndVersion.java:54)
at
org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier$SetAndThrowAuthorizationExceptionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:73)
at
org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier$SetAndThrowAuthorizationExceptionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:57)
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)
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
org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.get(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:119)
at
org.jclouds.location.suppliers.derived.RegionIdsFromRegionIdToURIKeySet.get(RegionIdsFromRegionIdToURIKeySet.java:45)
at
org.jclouds.location.suppliers.derived.RegionIdsFromRegionIdToURIKeySet.get(RegionIdsFromRegionIdToURIKeySet.java:33)
at
com.google.common.base.Suppliers$SupplierComposition.get(Suppliers.java:67)
at
org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier$SetAndThrowAuthorizationExceptionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:73)
at
org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier$SetAndThrowAuthorizationExceptionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:57)
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)
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
org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.get(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:119)
at
org.jclouds.rest.internal.DelegatesToInvocationFunction.getInstanceOfTypeWithQualifier(DelegatesToInvocationFunction.java:277)
at
org.jclouds.rest.internal.DelegatesToInvocationFunction.lookupValueFromGuice(DelegatesToInvocationFunction.java:234)
at
org.jclouds.rest.internal.DelegatesToInvocationFunction.handle(DelegatesToInvocationFunction.java:152)
at
org.jclouds.rest.internal.DelegatesToInvocationFunction.invoke(DelegatesToInvocationFunction.java:123)
at com.sun.proxy.$Proxy114.getConfiguredRegions(Unknown Source)
at
com.fyfine.loader.controller.PersonController.getRegions(PersonController.java:112)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at
org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
at
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
at
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:114)
at
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
at
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
at
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
at
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
at
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at
org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at
org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:87)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at
org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:522)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
at
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:1110)
at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:785)
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1425)
at
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Here is an spring's output:
{"timestamp":1473877865201,"status":500,"error":"Internal Server
Error","exception":"org.jclouds.http.HttpResponseException","message":"command:
POST http://192.168.0.58:8080/auth/v1.0/tokens HTTP/1.1 failed with
response: HTTP/1.1 400 Bad Request; content: [<html><h1>Bad
Request</h1><p>The server could not comply with the request since it is
either malformed or otherwise incorrect.</p></html>]","path":"/get_regions"}
Do you know why am I get this error?
Best regards,
Alexandr
On Wed, Sep 14, 2016 at 9:13 PM, Alexandr Porunov <
alexandr.porunov@gmail.com> wrote:
> Yes, I found Gson in the classpath. It has version 2.7
>
> On Wed, Sep 14, 2016 at 8:48 PM, Alexandr Porunov <
> alexandr.porunov@gmail.com> wrote:
>
>> Hello Andrew,
>>
>> Now I cannot call that method because I cannot connect to OpenStack Swift
>> itself. I always get next error:
>> http://paste.openstack.org/show/576305/
>>
>> Here is my proxy configs:
>> [filter:tempauth]
>> use = egg:swift#tempauth
>> user_admin_admin = admin .admin .reseller_admin
>> user_test_tester = testing .admin
>> user_test2_tester2 = testing2 .admin
>> user_test_tester3 = testing3
>>
>> Here is my code:
>> SwiftApi swiftApi = ContextBuilder.newBuilder("openstack-swift")
>> .endpoint("http://192.168.0.58:8080/v1/")
>> .credentials("admin:admin", "admin")
>> .buildApi(SwiftApi.class);
>>
>> Can you help me please?
>>
>> Regards,
>> Alexandr
>>
>> On Wed, Sep 14, 2016 at 7:21 PM, Andrew Phillips <an...@apache.org>
>> wrote:
>>
>>> What is "RegionOne" ? First of all if we talk about regions in Swift
>>>> then it can't be a String. It is Integer value. That is why I can't
>>>> understand what is "RegionOne" and how to create a simple container
>>>> with SwiftApi.
>>>>
>>>
>>> Could you call "getConfiguredRegions" on your API instance to see which
>>> regions are available?
>>>
>>> https://jclouds.apache.org/reference/javadoc/1.9.x/org/jclou
>>> ds/openstack/swift/v1/SwiftApi.html#getConfiguredRegions()
>>>
>>> Regards
>>>
>>> ap
>>>
>>
>>
>
Re: How to use jclouds with OpenStack Swift?
Posted by Alexandr Porunov <al...@gmail.com>.
Yes, I found Gson in the classpath. It has version 2.7
On Wed, Sep 14, 2016 at 8:48 PM, Alexandr Porunov <
alexandr.porunov@gmail.com> wrote:
> Hello Andrew,
>
> Now I cannot call that method because I cannot connect to OpenStack Swift
> itself. I always get next error:
> http://paste.openstack.org/show/576305/
>
> Here is my proxy configs:
> [filter:tempauth]
> use = egg:swift#tempauth
> user_admin_admin = admin .admin .reseller_admin
> user_test_tester = testing .admin
> user_test2_tester2 = testing2 .admin
> user_test_tester3 = testing3
>
> Here is my code:
> SwiftApi swiftApi = ContextBuilder.newBuilder("openstack-swift")
> .endpoint("http://192.168.0.58:8080/v1/")
> .credentials("admin:admin", "admin")
> .buildApi(SwiftApi.class);
>
> Can you help me please?
>
> Regards,
> Alexandr
>
> On Wed, Sep 14, 2016 at 7:21 PM, Andrew Phillips <an...@apache.org>
> wrote:
>
>> What is "RegionOne" ? First of all if we talk about regions in Swift
>>> then it can't be a String. It is Integer value. That is why I can't
>>> understand what is "RegionOne" and how to create a simple container
>>> with SwiftApi.
>>>
>>
>> Could you call "getConfiguredRegions" on your API instance to see which
>> regions are available?
>>
>> https://jclouds.apache.org/reference/javadoc/1.9.x/org/jclou
>> ds/openstack/swift/v1/SwiftApi.html#getConfiguredRegions()
>>
>> Regards
>>
>> ap
>>
>
>
Re: How to use jclouds with OpenStack Swift?
Posted by Alexandr Porunov <al...@gmail.com>.
Hello Andrew,
Now I cannot call that method because I cannot connect to OpenStack Swift
itself. I always get next error:
http://paste.openstack.org/show/576305/
Here is my proxy configs:
[filter:tempauth]
use = egg:swift#tempauth
user_admin_admin = admin .admin .reseller_admin
user_test_tester = testing .admin
user_test2_tester2 = testing2 .admin
user_test_tester3 = testing3
Here is my code:
SwiftApi swiftApi = ContextBuilder.newBuilder("openstack-swift")
.endpoint("http://192.168.0.58:8080/v1/")
.credentials("admin:admin", "admin")
.buildApi(SwiftApi.class);
Can you help me please?
Regards,
Alexandr
On Wed, Sep 14, 2016 at 7:21 PM, Andrew Phillips <an...@apache.org> wrote:
> What is "RegionOne" ? First of all if we talk about regions in Swift
>> then it can't be a String. It is Integer value. That is why I can't
>> understand what is "RegionOne" and how to create a simple container
>> with SwiftApi.
>>
>
> Could you call "getConfiguredRegions" on your API instance to see which
> regions are available?
>
> https://jclouds.apache.org/reference/javadoc/1.9.x/org/jclou
> ds/openstack/swift/v1/SwiftApi.html#getConfiguredRegions()
>
> Regards
>
> ap
>
Re: How to use jclouds with OpenStack Swift?
Posted by Andrew Phillips <an...@apache.org>.
> What is "RegionOne" ? First of all if we talk about regions in Swift
> then it can't be a String. It is Integer value. That is why I can't
> understand what is "RegionOne" and how to create a simple container
> with SwiftApi.
Could you call "getConfiguredRegions" on your API instance to see which
regions are available?
https://jclouds.apache.org/reference/javadoc/1.9.x/org/jclouds/openstack/swift/v1/SwiftApi.html#getConfiguredRegions()
Regards
ap