2

i used the Rackspace example Code from JClouds (http://www.jclouds.org/documentation/quickstart/rackspace/) and if i use my Rackspace US account. It works all fine.

But if i use the Rackspace UK Account and want to create/start a server(the Access Datas and API are correct) it dont work. The same Code in Rackspace US works fine.

I dont know why? The header works and i can get all my Images, Servers and i can delete a server. But start a new Server is impossible... JClouds Retry 5 times to create/start a Server without succesfull and then i got this Stacktrace;

java.util.concurrent.ExecutionException: task submitted from the following trace
    at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.ensureCauseHasSubmissionTrace(ExecutorServiceModule.java:272) ~[jclouds-core-1.4.2.jar:1.4.2]
    at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.get(ExecutorServiceModule.java:256) ~[jclouds-core-1.4.2.jar:1.4.2]
    at com.google.common.util.concurrent.ForwardingFuture.get(ForwardingFuture.java:69) ~[guava-11.0.2.jar:na]
    at com.google.common.util.concurrent.Futures$ChainingListenableFuture.get(Futures.java:661) ~[guava-11.0.2.jar:na]
    at org.jclouds.concurrent.ExceptionParsingListenableFuture.get(ExceptionParsingListenableFuture.java:76) ~[jclouds-core-1.4.2.jar:1.4.2]
    at org.jclouds.concurrent.internal.SyncProxy.invoke(SyncProxy.java:137) ~[jclouds-core-1.4.2.jar:1.4.2]
    at $Proxy133.createServer(Unknown Source) ~[na:na]
    at com.myproject.rackspace.RackspaceHandler.startServer(RackspaceHandler.java:43) ~[com.myproject.rackspace-2.0-SNAPSHOT.jar:na]
    at com.myproject.project.RackspaceFuture.get(RackspaceFuture.java:78) ~[RackspaceFuture.class:na]
    at com.myproject.project.Starter.startTransfer(Starter.java:63) ~[Starter.class:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_03]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_03]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_03]
    at java.lang.reflect.Method.invoke(Method.java:601) ~[na:1.7.0_03]
    at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:64) ~[spring-context-3.1.1.RELEASE.jar:3.1.1.RELEASE]
    at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:53) ~[spring-context-3.1.1.RELEASE.jar:3.1.1.RELEASE]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [na:1.7.0_03]
    at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351) [na:1.7.0_03]
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178) [na:1.7.0_03]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) [na:1.7.0_03]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [na:1.7.0_03]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [na:1.7.0_03]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [na:1.7.0_03]
    at java.lang.Thread.run(Thread.java:722) [na:1.7.0_03]
15:56:51.174 [i/o thread 0] WARN  o.j.h.h.BackoffLimitedRetryHandler - Cannot retry after server error, command has exceeded retry limit 5: [method=CloudServersAsyncClient.createServer, request=POST https://lon.servers.api.rackspacecloud.com/v1.0/XXXXXXXXXX/servers?format=json HTTP/1.1]

EDIT 21.08.2012

today, i tryed also jclouds version 1.5.0-beta.10 and it dont work. I have the following code

    final ComputeServiceContext context = new ComputeServiceContextFactory().createContext("cloudservers-uk", "user", "API", ImmutableSet.of(new SshjSshClientModule(), new SLF4JLoggingModule())); 
    getClient(context).createServer("SERVER_NAME", IMAGE_ID, FLAVOUR_ID); 
    context.close(); 
    private CloudServersClient getClient(final ComputeServiceContext context)
    { 
        return CloudServersClient.class.cast(context.getProviderSpecificContext().getApi());
    } 

and the following dependencies

<dependency>
    <groupId>org.jclouds</groupId>
    <artifactId>jclouds-compute</artifactId>
    <version>1.5.0-beta.10</version>
</dependency>
<dependency>
    <groupId>org.jclouds</groupId>
    <artifactId>jclouds-allcompute</artifactId>
    <version>1.5.0-beta.10</version>
</dependency>
<dependency>
    <groupId>org.jclouds.provider</groupId>
    <artifactId>rackspace-cloudservers-uk</artifactId>
    <version>1.5.0-beta.10</version>
</dependency>

Where is the problem? Thanks for your help

René

Walery Strauch
  • 6,792
  • 8
  • 50
  • 57
Rene Herget
  • 1,506
  • 13
  • 28
  • I just tried this and it's working for me. I'm using jclouds-1.5.0-beta.10 and "rackspace-cloudservers-uk" provider. What version of jclouds and provider are you using? Can you include some logging ouput? If you need help with logging, check out http://blog.phymata.com/2012/08/18/logging-in-jclouds/ – Everett Toews Aug 20 '12 at 15:19
  • @EverettToews i edited my post. Can you show me how you create a server? – Rene Herget Aug 21 '12 at 15:31

1 Answers1

0

Try "rackspace-cloudservers-uk" for your provider. Once you've created a server that way you can see it in the web interface from https://mycloud.rackspace.co.uk

If you're still having trouble, you might want to check out my blog post for getting started with jclouds (and Rackspace).

http://blog.phymata.com/2012/08/15/getting-started-with-jclouds/

Everett Toews
  • 10,337
  • 10
  • 44
  • 45