Ah ha! Thank you so much for sending the log file. You’ve uncovered a bug.
The defaultEndpoint in the CloudFilesUKProviderMetadata is wrong. It’s "https://identity.api.rackspacecloud.com/v2.0/“ but it should be "https://lon.identity.api.rackspacecloud.com/v2.0/“. Here’s a PR for the fix [1]. You should also be able to workaround this by changing the endpoint when creating the Context. I’ve changed the Test.java Gist [2] to show you how to do that [2]. So that’s definitely a bug and please try the workaround but there might be something else in play here. Can you recall if signed up via the US site [3] or the UK site [4]? If you signed up via the US site, that could also be why you’re getting the US service catalog returned to you. That’s the JSON starting with access token on line 18 of your log file. Let me know how it goes. Cheers, Everett [1] https://github.com/jclouds/jclouds-labs-openstack/pull/113 [2] https://gist.github.com/everett-toews/9129de9c83fefd721316 [3] https://cart.rackspace.com/ [4] https://buyonline.rackspace.co.uk/ On Jun 26, 2014, at 3:03 AM, Paolo Viotti <[email protected]<mailto:[email protected]>> wrote: Thanks Everett, I've executed all the commands you listed and unfortunately the outcome is still the same. Here<https://gist.github.com/pviotti/0891b7578a2eccb338d7> I've pasted the log it prints. Kind regards, Paolo On 25/06/2014 22:33, Everett Toews wrote: Hi Paolo, I wasn’t able to reproduce your issue with your code so let’s try something that we know works. Please try the following steps: mkdir jclouds-lon cd jclouds-lon wget https://raw.githubusercontent.com/jclouds/jclouds-examples/master/rackspace/pom.xml mvn dependency:copy-dependencies "-DoutputDirectory=./lib" wget https://gist.githubusercontent.com/everett-toews/9129de9c83fefd721316/raw/057ac9a44a3f7b59bc91ac31fa549aa7ce742593/Test.java # update the uk_username and uk_apikey javac -cp ".:lib/*" Test.java java -cp ".:lib/*" Test Does following those exact steps work for you? If so, what’s the difference between that and your code? If not, we’ll keep digging to find out what the issue is with the steps above. HTH, Everett On Jun 25, 2014, at 9:05 AM, Paolo Viotti <[email protected]><mailto:[email protected]> wrote: Thanks for the reply. Unfortunately, even setting LON as region does not solve the issue. ContextBuilder builder = ContextBuilder.newBuilder("rackspace-cloudfiles-uk").credentials(username, apiKey); blobStore = builder.buildView(RegionScopedBlobStoreContext.class).blobStoreInRegion("LON"); cloudFiles = blobStore.getContext().unwrapApi(CloudFilesApi.class); Exception in thread "main" java.lang.IllegalArgumentException: region LON not in [] at com.google.common.base.Preconditions.checkArgument(Preconditions.java:120) at org.jclouds.openstack.swift.v1.blobstore.RegionScopedBlobStoreContext.checkRegionId(RegionScopedBlobStoreContext.java:105) at org.jclouds.openstack.swift.v1.blobstore.RegionScopedBlobStoreContext.blobStoreInRegion(RegionScopedBlobStoreContext.java:75) at org.jclouds.examples.rackspace.cloudfiles.UploadObjects.<init>(UploadObjects.java:78) at org.jclouds.examples.rackspace.cloudfiles.UploadObjects.main(UploadObjects.java:60) Any other idea about it..? Thanks, P On 25/06/2014 12:09, Ignasi Barrera wrote: Hi Paolo, The IAD region is Virginia (a US region) and can't be used with the UK provider. The only region in rackspace UK is London (LON). You'll have to change your code to use LON either by editing the code or by running the example with: -Dregion=LON. HTH! I. On 25 June 2014 11:43, Paolo Viotti <[email protected]><mailto:[email protected]> wrote: Hello, I'm having some difficulties in setting the right provider and region Ids using the Rackspace blobstore. Specifically, I'm using Cloudfiles UK, jClouds 1.7.3, and when I run the UploadObjects test included this example project I get this kind of exception: Exception in thread "main" java.lang.IllegalArgumentException: region IAD not in [] at com.google.common.base.Preconditions.checkArgument(Preconditions.java:120) at org.jclouds.openstack.swift.v1.blobstore.RegionScopedBlobStoreContext.checkRegionId(RegionScopedBlobStoreContext.java:105) at org.jclouds.openstack.swift.v1.blobstore.RegionScopedBlobStoreContext.blobStoreInRegion(RegionScopedBlobStoreContext.java:75) at org.jclouds.examples.rackspace.cloudfiles.UploadObjects.<init>(UploadObjects.java:78) at org.jclouds.examples.rackspace.cloudfiles.UploadObjects.main(UploadObjects.java:60) So it seems like there is not region configured. Before running it, I changed the provider Id to "rackspace-cloudfiles-uk". Any idea about what am I doing wrong? Thanks in advance. Best regards, Paolo
