-------------------------------------------------------------------------------
Test set: TestSuite
-------------------------------------------------------------------------------
Tests run: 118, Failures: 5, Errors: 0, Skipped: 3, Time elapsed: 6,431.264 sec <<< FAILURE!
testCreateAndRunAService(org.jclouds.gogrid.compute.GoGridComputeServiceLiveTest)  Time elapsed: 393.494 sec  <<< FAILURE!
java.lang.AssertionError: node tags did not match [gogrid-s] {id=392601, providerId=392601, name=gogrid-s-cb3, location={scope=ZONE, id=1, description=US West 1 Datacenter, parent=gogrid, iso3166Codes=[US-CA]}, group=gogrid-s, imageId=5489, os={family=ubuntu, name=Ubuntu 10.04 LTS (64-bit), arch=64 bit OS, version=10.04, description=Ubuntu 10.0.4 LTS Server (64-bit), is64Bit=true}, status=RUNNING, loginPort=22, publicAddresses=[216.121.108.178], hardware={id=1, providerId=1, processors=[{cores=0.5, speed=1.0}], ram=512, volumes=[{type=LOCAL, size=25.0, bootDevice=true, durable=true}], supportsImage=ALWAYS_TRUE}, loginUser=root}
	at org.jclouds.compute.internal.BaseComputeServiceLiveTest.checkTagsInNodeEquals(BaseComputeServiceLiveTest.java:697)
	at org.jclouds.compute.internal.BaseComputeServiceLiveTest.createAndRunAServiceInGroup(BaseComputeServiceLiveTest.java:658)
	at org.jclouds.compute.internal.BaseComputeServiceLiveTest.testCreateAndRunAService(BaseComputeServiceLiveTest.java:640)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)
	at org.testng.internal.Invoker.invokeMethod(Invoker.java:702)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:894)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1219)
	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
	at org.testng.TestRunner.privateRun(TestRunner.java:768)
	at org.testng.TestRunner.run(TestRunner.java:617)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
	at org.testng.SuiteRunner.access$000(SuiteRunner.java:37)
	at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:368)
	at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
testAScriptExecutionAfterBootWithBasicTemplate(org.jclouds.gogrid.compute.GoGridComputeServiceLiveTest)  Time elapsed: 519.228 sec  <<< FAILURE!
org.jclouds.compute.RunNodesException: error running 1 node group(gogrid-r) location(1) image(5489) size(1) options({blockOnPort:seconds=22:120})
Execution failures:
0 error[s]
Node failures:
1) NoSuchElementException on node 392602:
java.util.NoSuchElementException: could not connect to any ip address port 22 on node {id=392602, providerId=392602, name=gogrid-r-609, location={scope=ZONE, id=1, description=US West 1 Datacenter, parent=gogrid, iso3166Codes=[US-CA]}, group=gogrid-r, imageId=5489, os={family=ubuntu, name=Ubuntu 10.04 LTS (64-bit), arch=64 bit OS, version=10.04, description=Ubuntu 10.0.4 LTS Server (64-bit), is64Bit=true}, status=RUNNING, loginPort=22, publicAddresses=[216.121.108.185], hardware={id=1, providerId=1, processors=[{cores=0.5, speed=1.0}], ram=512, volumes=[{type=LOCAL, size=25.0, bootDevice=true, durable=true}], supportsImage=ALWAYS_TRUE}, loginUser=root}
	at org.jclouds.compute.util.ConcurrentOpenSocketFinder.findOpenSocketOnNode(ConcurrentOpenSocketFinder.java:98)
	at org.jclouds.compute.strategy.CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.call(CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.java:168)
	at org.jclouds.compute.strategy.CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.apply(CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.java:184)
	at org.jclouds.compute.strategy.CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.apply(CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.java:60)
	at com.google.common.util.concurrent.Futures$3.apply(Futures.java:376)
	at com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:518)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
1 error[s]
	at org.jclouds.compute.internal.BaseComputeService.createNodesInGroup(BaseComputeService.java:221)
	at org.jclouds.compute.internal.BaseComputeService.createNodesInGroup(BaseComputeService.java:229)
	at org.jclouds.compute.internal.BaseComputeServiceLiveTest.testAScriptExecutionAfterBootWithBasicTemplate(BaseComputeServiceLiveTest.java:220)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)
	at org.testng.internal.Invoker.invokeMethod(Invoker.java:702)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:894)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1219)
	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
	at org.testng.TestRunner.privateRun(TestRunner.java:768)
	at org.testng.TestRunner.run(TestRunner.java:617)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
	at org.testng.SuiteRunner.access$000(SuiteRunner.java:37)
	at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:368)
	at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
testSuspendResume(org.jclouds.gogrid.compute.GoGridComputeServiceLiveTest)  Time elapsed: 2,329.17 sec  <<< FAILURE!
java.lang.AssertionError: {id=392615, providerId=392615, name=gogrid--e86, location={scope=ZONE, id=1, description=US West 1 Datacenter, parent=gogrid, iso3166Codes=[US-CA]}, group=gogrid-, imageId=5489, os={family=ubuntu, name=Ubuntu 10.04 LTS (64-bit), arch=64 bit OS, version=10.04, description=Ubuntu 10.0.4 LTS Server (64-bit), is64Bit=true}, status=SUSPENDED, loginPort=22, publicAddresses=[216.121.108.187], hardware={id=1, providerId=1, processors=[{cores=0.5, speed=1.0}], ram=512, volumes=[{type=LOCAL, size=25.0, bootDevice=true, durable=true}], supportsImage=ALWAYS_TRUE}, loginUser=abayer}
	at org.jclouds.compute.internal.BaseComputeServiceLiveTest.testGet(BaseComputeServiceLiveTest.java:508)
	at org.jclouds.compute.internal.BaseComputeServiceLiveTest.testSuspendResume(BaseComputeServiceLiveTest.java:549)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)
	at org.testng.internal.Invoker.invokeMethod(Invoker.java:702)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:894)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1219)
	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
	at org.testng.TestRunner.privateRun(TestRunner.java:768)
	at org.testng.TestRunner.run(TestRunner.java:617)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
	at org.testng.SuiteRunner.access$000(SuiteRunner.java:37)
	at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:368)
	at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
testSaveServerToImage(org.jclouds.gogrid.services.GridImageClientLiveTest)  Time elapsed: 0.737 sec  <<< FAILURE!
java.util.NoSuchElementException
	at java.util.TreeMap.key(TreeMap.java:1206)
	at java.util.TreeMap.lastKey(TreeMap.java:274)
	at java.util.TreeSet.last(TreeSet.java:384)
	at com.google.common.collect.Iterables.getLast(Iterables.java:807)
	at org.jclouds.gogrid.services.GridImageClientLiveTest.testSaveServerToImage(GridImageClientLiveTest.java:96)
testListJobs(org.jclouds.gogrid.services.GridJobClientLiveTest)  Time elapsed: 4.229 sec  <<< FAILURE!
java.lang.AssertionError: Job{id=1335882, command=Option{id=3, name=StartVirtualServer, description=Start Virtual Server}, objectType=VirtualServer, createdOn=Mon Sep 10 15:05:01 PDT 2012, lastUpdatedOn=null, currentState=Fatal, attempts=1, owner=ed7dc99191eee120-503219@api.gogrid.com, history=[JobProperties{id=6346582, updatedOn=Mon Sep 10 15:05:01 PDT 2012, state=Created, note=null}, JobProperties{id=6346583, updatedOn=Mon Sep 10 15:05:02 PDT 2012, state=Queued, note=null}, JobProperties{id=6346584, updatedOn=Mon Sep 10 15:05:03 PDT 2012, state=Processing, note=null}, JobProperties{id=6346585, updatedOn=Mon Sep 10 15:05:09 PDT 2012, state=Failed, note=null}, JobProperties{id=6346586, updatedOn=Mon Sep 10 15:05:09 PDT 2012, state=Fatal, note=null}], details={ram=1GB, name=hadoop-sep-9d6, image=centos5.6_64_base, type=virtual_server, ip=216.121.108.188}}
	at org.jclouds.gogrid.services.GridJobClientLiveTest.checkJob(GridJobClientLiveTest.java:62)
	at org.jclouds.gogrid.services.GridJobClientLiveTest.testListJobs(GridJobClientLiveTest.java:45)
