[INFO] Scanning for projects...
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for org.jclouds.provider:cloudsigma-zrh:bundle:1.4.0-SNAPSHOT
[WARNING] 'parent.relativePath' of POM org.jclouds:jclouds-project:1.4.0-SNAPSHOT (/Users/adriancole/workspace/git/1.4.x/jclouds/project/pom.xml) points at org.jclouds:jclouds-multi instead of org.sonatype.oss:oss-parent, please verify your project structure @ org.jclouds:jclouds-project:1.4.0-SNAPSHOT, /Users/adriancole/workspace/git/1.4.x/jclouds/project/pom.xml, line 24, column 13
[WARNING] 
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING] 
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING] 
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building jclouds CloudSigma provider 1.4.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ cloudsigma-zrh ---
[INFO] Deleting /Users/adriancole/workspace/git/1.4.x/jclouds/providers/cloudsigma-zrh/target
[INFO] 
[INFO] --- maven-enforcer-plugin:1.0.1:enforce (enforce-maven) @ cloudsigma-zrh ---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.0.1:enforce (enforce-banned-dependencies) @ cloudsigma-zrh ---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.0.1:enforce (enforce-java) @ cloudsigma-zrh ---
[INFO] 
[INFO] --- maven-remote-resources-plugin:1.2:process (process-remote-resources) @ cloudsigma-zrh ---
[INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.
[INFO] Setting property: velocimacro.messages.on => 'false'.
[INFO] Setting property: resource.loader => 'classpath'.
[INFO] Setting property: resource.manager.logwhenfound => 'false'.
[INFO] 
[INFO] --- maven-resources-plugin:2.4.2:resources (default-resources) @ cloudsigma-zrh ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/adriancole/workspace/git/1.4.x/jclouds/providers/cloudsigma-zrh/src/main/clojure
[INFO] Copying 1 resource
[INFO] Copying 2 resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.3:compile (default-compile) @ cloudsigma-zrh ---
[INFO] Compiling 4 source files to /Users/adriancole/workspace/git/1.4.x/jclouds/providers/cloudsigma-zrh/target/classes
[INFO] 
[INFO] --- maven-resources-plugin:2.4.2:testResources (default-testResources) @ cloudsigma-zrh ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/adriancole/workspace/git/1.4.x/jclouds/providers/cloudsigma-zrh/src/test/clojure
[INFO] skip non existing resourceDirectory /Users/adriancole/workspace/git/1.4.x/jclouds/providers/cloudsigma-zrh/src/test/resources
[INFO] Copying 2 resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.3:testCompile (default-testCompile) @ cloudsigma-zrh ---
[INFO] Compiling 4 source files to /Users/adriancole/workspace/git/1.4.x/jclouds/providers/cloudsigma-zrh/target/test-classes
[INFO] 
[INFO] --- maven-surefire-plugin:2.10:test (default-test) @ cloudsigma-zrh ---
[INFO] Surefire report directory: /Users/adriancole/workspace/git/1.4.x/jclouds/providers/cloudsigma-zrh/target/surefire-reports
[INFO] Using configured provider org.apache.maven.surefire.testng.TestNGProvider

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.jclouds.cloudsigma.CloudSigmaZurichProviderTest
Starting test testOfTypeContains(org.jclouds.cloudsigma.CloudSigmaZurichProviderTest)
Starting test testInRestProperties(org.jclouds.cloudsigma.CloudSigmaZurichProviderTest)
Starting test testAllContains(org.jclouds.cloudsigma.CloudSigmaZurichProviderTest)
Starting test testWithId(org.jclouds.cloudsigma.CloudSigmaZurichProviderTest)
[pool-2-thread-4] Test testWithId(org.jclouds.cloudsigma.CloudSigmaZurichProviderTest) succeeded: 302ms
Test suite progress: tests succeeded: 1, failed: 0, skipped: 0.
[pool-2-thread-3] Test testOfTypeContains(org.jclouds.cloudsigma.CloudSigmaZurichProviderTest) succeeded: 311ms
Test suite progress: tests succeeded: 2, failed: 0, skipped: 0.
[pool-2-thread-1] Test testAllContains(org.jclouds.cloudsigma.CloudSigmaZurichProviderTest) succeeded: 326ms
Test suite progress: tests succeeded: 3, failed: 0, skipped: 0.
[pool-2-thread-2] Test testInRestProperties(org.jclouds.cloudsigma.CloudSigmaZurichProviderTest) succeeded: 331ms
Test suite progress: tests succeeded: 4, failed: 0, skipped: 0.
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.42 sec

Results :

Tests run: 4, Failures: 0, Errors: 0, Skipped: 0

[INFO] 
[INFO] --- clojure-maven-plugin:1.3.8:test (test-clojure) @ cloudsigma-zrh ---

Testing com.theoryinpractise.clojure.testrunner

Ran 0 tests containing 0 assertions.
0 failures, 0 errors.
[INFO] 
[INFO] --- maven-bundle-plugin:2.3.4:bundle (default-bundle) @ cloudsigma-zrh ---
[WARNING] Warning building bundle org.jclouds.provider:cloudsigma-zrh:bundle:1.4.0-SNAPSHOT : Split package org/jclouds/cloudsigma
Use directive -split-package:=(merge-first|merge-last|error|first) on Export/Private Package instruction to get rid of this warning
Package found in   [Jar:., Jar:cloudsigma]
Reference from     /Users/adriancole/.m2/repository/org/jclouds/api/cloudsigma/1.4.0-SNAPSHOT/cloudsigma-1.4.0-SNAPSHOT.jar
Classpath          [Jar:., Jar:cloudsigma, Jar:jclouds-compute, Jar:oauth, Jar:aopalliance, Jar:jersey-core, Jar:guice-assistedinject, Jar:guice, Jar:rocoto, Jar:javax.inject, Jar:jsr250-api, Jar:gson, Jar:guava, Jar:jsr305, Jar:jclouds-scriptbuilder, Jar:jclouds-core, Jar:clojure, Jar:tools.logging, Jar:core.incubator]
[WARNING] Warning building bundle org.jclouds.provider:cloudsigma-zrh:bundle:1.4.0-SNAPSHOT : Split package org/jclouds/cloudsigma/compute/config
Use directive -split-package:=(merge-first|merge-last|error|first) on Export/Private Package instruction to get rid of this warning
Package found in   [Jar:., Jar:cloudsigma]
Reference from     /Users/adriancole/.m2/repository/org/jclouds/api/cloudsigma/1.4.0-SNAPSHOT/cloudsigma-1.4.0-SNAPSHOT.jar
Classpath          [Jar:., Jar:cloudsigma, Jar:jclouds-compute, Jar:oauth, Jar:aopalliance, Jar:jersey-core, Jar:guice-assistedinject, Jar:guice, Jar:rocoto, Jar:javax.inject, Jar:jsr250-api, Jar:gson, Jar:guava, Jar:jsr305, Jar:jclouds-scriptbuilder, Jar:jclouds-core, Jar:clojure, Jar:tools.logging, Jar:core.incubator]
[INFO] 
[INFO] --- maven-source-plugin:2.1.1:jar-no-fork (attach-sources) @ cloudsigma-zrh ---
[INFO] Building jar: /Users/adriancole/workspace/git/1.4.x/jclouds/providers/cloudsigma-zrh/target/cloudsigma-zrh-1.4.0-SNAPSHOT-sources.jar
[INFO] 
[INFO] --- maven-javadoc-plugin:2.8:jar (javadoc) @ cloudsigma-zrh ---
[INFO] Skipping javadoc generation
[INFO] 
[INFO] --- maven-jar-plugin:2.3.1:test-jar (default) @ cloudsigma-zrh ---
[INFO] Building jar: /Users/adriancole/workspace/git/1.4.x/jclouds/providers/cloudsigma-zrh/target/cloudsigma-zrh-1.4.0-SNAPSHOT-tests.jar
[INFO] 
[INFO] --- maven-surefire-plugin:2.10:test (integration) @ cloudsigma-zrh ---
[INFO] Surefire report directory: /Users/adriancole/workspace/git/1.4.x/jclouds/providers/cloudsigma-zrh/target/surefire-reports
[INFO] Using configured provider org.apache.maven.surefire.testng.TestNGProvider

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running TestSuite
Starting test testCompareSizes(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
Starting test setServiceDefaults(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test setServiceDefaults(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 1, failed: 0, skipped: 0.
Starting test testCompareSizes(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
Starting test testCreateAndDestroyVLAN(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testCreateAndDestroyVLAN(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) failed.
Test suite progress: tests succeeded: 1, failed: 1, skipped: 0.
Starting test testCreateDrive(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testCreateDrive(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 8525ms
Test suite progress: tests succeeded: 2, failed: 1, skipped: 0.
Starting test testGetDrive(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
Mar 9, 2012 2:49:00 PM org.jclouds.compute.BaseComputeServiceLiveTest testCompareSizes
INFO: smallest [id=cpu=1000.000000,ram=512,disk=10.000000, providerId=cpu=1000.000000,ram=512,disk=10.000000, name=null, processors=[[cores=1.0, speed=1000.0]], ram=512, volumes=[[id=null, type=LOCAL, size=10.0, device=null, durable=true, isBootDevice=true]], hypervisor=kvm, supportsImage=sizeLessThanOrEqual(10.0), tags=[]]
Mar 9, 2012 2:49:00 PM org.jclouds.compute.BaseComputeServiceLiveTest testCompareSizes
INFO: fastest [id=cpu=20000.000000,ram=512,disk=200.000000, providerId=cpu=20000.000000,ram=512,disk=200.000000, name=null, processors=[[cores=1.0, speed=20000.0]], ram=512, volumes=[[id=null, type=LOCAL, size=200.0, device=null, durable=true, isBootDevice=true]], hypervisor=kvm, supportsImage=sizeLessThanOrEqual(200.0), tags=[]]
Mar 9, 2012 2:49:00 PM org.jclouds.compute.BaseComputeServiceLiveTest testCompareSizes
INFO: biggest [id=cpu=20000.000000,ram=32768,disk=200.000000, providerId=cpu=20000.000000,ram=32768,disk=200.000000, name=null, processors=[[cores=1.0, speed=20000.0]], ram=32768, volumes=[[id=null, type=LOCAL, size=200.0, device=null, durable=true, isBootDevice=true]], hypervisor=kvm, supportsImage=sizeLessThanOrEqual(200.0), tags=[]]
[TestNG] Test testCompareSizes(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 613738ms
Test suite progress: tests succeeded: 3, failed: 1, skipped: 0.
Starting test testCorrectAuthException(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test testCorrectAuthException(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 1401ms
Test suite progress: tests succeeded: 4, failed: 1, skipped: 0.
Starting test testCreateAndRunAService(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
smallest [id=cpu=1000.000000,ram=512,disk=10.000000, providerId=cpu=1000.000000,ram=512,disk=10.000000, name=null, processors=[[cores=1.0, speed=1000.0]], ram=512, volumes=[[id=null, type=LOCAL, size=10.0, device=null, durable=true, isBootDevice=true]], hypervisor=kvm, supportsImage=sizeLessThanOrEqual(10.0), tags=[]]
fastest [id=cpu=20000.000000,ram=512,disk=200.000000, providerId=cpu=20000.000000,ram=512,disk=200.000000, name=null, processors=[[cores=1.0, speed=20000.0]], ram=512, volumes=[[id=null, type=LOCAL, size=200.0, device=null, durable=true, isBootDevice=true]], hypervisor=kvm, supportsImage=sizeLessThanOrEqual(200.0), tags=[]]
biggest [id=cpu=20000.000000,ram=32768,disk=200.000000, providerId=cpu=20000.000000,ram=32768,disk=200.000000, name=null, processors=[[cores=1.0, speed=20000.0]], ram=32768, volumes=[[id=null, type=LOCAL, size=200.0, device=null, durable=true, isBootDevice=true]], hypervisor=kvm, supportsImage=sizeLessThanOrEqual(200.0), tags=[]]
[TestNG] Test testCompareSizes(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 616990ms
Test suite progress: tests succeeded: 5, failed: 1, skipped: 0.
Starting test testFromTemplate(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testFromTemplate(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 11ms
Test suite progress: tests succeeded: 6, failed: 1, skipped: 0.
Starting test testGetAssignableLocations(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
location [id=cloudsigma-zrh, scope=PROVIDER, description=https://api.zrh.cloudsigma.com, parent=null, iso3166Codes=[CH-ZH], metadata={}]
[TestNG] Test testGetAssignableLocations(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 7, failed: 1, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 22ms
Test suite progress: tests succeeded: 8, failed: 1, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 9, failed: 1, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) failed.
Test suite progress: tests succeeded: 9, failed: 2, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 6ms
Test suite progress: tests succeeded: 10, failed: 2, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 3ms
Test suite progress: tests succeeded: 11, failed: 2, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 4ms
Test suite progress: tests succeeded: 12, failed: 2, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) failed.
Test suite progress: tests succeeded: 12, failed: 3, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 3ms
Test suite progress: tests succeeded: 13, failed: 3, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 14, failed: 3, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 4ms
Test suite progress: tests succeeded: 15, failed: 3, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) failed.
Test suite progress: tests succeeded: 15, failed: 4, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 16, failed: 4, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 17, failed: 4, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) failed.
Test suite progress: tests succeeded: 17, failed: 5, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 18, failed: 5, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 19, failed: 5, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 20, failed: 5, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 21, failed: 5, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) failed.
Test suite progress: tests succeeded: 21, failed: 6, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 22, failed: 6, skipped: 0.
Starting test testTemplateBuilderCanUseImageId(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testGetDrive(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) failed.
Test suite progress: tests succeeded: 22, failed: 7, skipped: 0.
Starting test testGetProfileInfo(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testGetProfileInfo(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 1457ms
Test suite progress: tests succeeded: 23, failed: 7, skipped: 0.
Starting test testGetServer(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testGetServer(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 1006ms
Test suite progress: tests succeeded: 24, failed: 7, skipped: 0.
Starting test testGetStaticIP(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testGetStaticIP(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 10395ms
Test suite progress: tests succeeded: 25, failed: 7, skipped: 0.
Starting test testGetVLAN(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testGetVLAN(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 1376ms
Test suite progress: tests succeeded: 26, failed: 7, skipped: 0.
Starting test testListDriveInfo(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testListDriveInfo(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 1276ms
Test suite progress: tests succeeded: 27, failed: 7, skipped: 0.
Starting test testListDrives(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testListDrives(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 1061ms
Test suite progress: tests succeeded: 28, failed: 7, skipped: 0.
Starting test testListServerInfo(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testListServerInfo(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 1044ms
Test suite progress: tests succeeded: 29, failed: 7, skipped: 0.
Starting test testListServers(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testListServers(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 1034ms
Test suite progress: tests succeeded: 30, failed: 7, skipped: 0.
Starting test testListStandardCds(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testListStandardCds(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 1021ms
Test suite progress: tests succeeded: 31, failed: 7, skipped: 0.
Starting test testListStandardDrives(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testListStandardDrives(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 1447ms
Test suite progress: tests succeeded: 32, failed: 7, skipped: 0.
Starting test testListStandardImages(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testListStandardImages(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 1207ms
Test suite progress: tests succeeded: 33, failed: 7, skipped: 0.
Starting test testListStaticIPInfo(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testListStaticIPInfo(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 1159ms
Test suite progress: tests succeeded: 34, failed: 7, skipped: 0.
Starting test testListStaticIPs(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testListStaticIPs(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 1457ms
Test suite progress: tests succeeded: 35, failed: 7, skipped: 0.
Starting test testListVLANInfo(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testListVLANInfo(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 1175ms
Test suite progress: tests succeeded: 36, failed: 7, skipped: 0.
Starting test testListVLANs(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testListVLANs(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 1137ms
Test suite progress: tests succeeded: 37, failed: 7, skipped: 0.
Starting test testSetDriveData(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testSetDriveData(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 1417ms
Test suite progress: tests succeeded: 38, failed: 7, skipped: 0.
Starting test testCreateAndDestroyStaticIP(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testCreateAndDestroyStaticIP(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) failed.
Test suite progress: tests succeeded: 38, failed: 8, skipped: 0.
[TestNG] Test testCreateAndStartServer(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) skipped.
Test suite progress: tests succeeded: 38, failed: 8, skipped: 1.
[TestNG] Test testConnectivity(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) skipped.
Test suite progress: tests succeeded: 38, failed: 8, skipped: 2.
[TestNG] Test testLifeCycle(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) skipped.
Test suite progress: tests succeeded: 38, failed: 8, skipped: 3.
[TestNG] Test testSetServerConfiguration(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) skipped.
Test suite progress: tests succeeded: 38, failed: 8, skipped: 4.
[TestNG] Test testDestroyServer(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) skipped.
Test suite progress: tests succeeded: 38, failed: 8, skipped: 5.
[TestNG] Test testDestroyDrive(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) skipped.
Test suite progress: tests succeeded: 38, failed: 8, skipped: 6.
Mar 9, 2012 2:55:35 PM org.jclouds.compute.BaseComputeServiceLiveTest testCreateAndRunAService
INFO: << available node(befe217a-b5a2-4ac0-9f3d-d7cf17c1caf9) os([name=Ubuntu 10.4.3 LTS Linux Server Edition 64bit Preinstalled System with automated SSH Access and VirtIO enabled, family=ubuntu, version=, arch=null, is64Bit=true, description=Ubuntu Server 10.4.3 LTS 64bit]) in 392s
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[TestNG] Test testTemplateBuilderCanUseImageId(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 528235ms
Test suite progress: tests succeeded: 39, failed: 8, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 40, failed: 8, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 41, failed: 8, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 42, failed: 8, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 43, failed: 8, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 44, failed: 8, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 45, failed: 8, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 46, failed: 8, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 47, failed: 8, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 48, failed: 8, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) failed.
Test suite progress: tests succeeded: 48, failed: 9, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 49, failed: 9, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 50, failed: 9, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) failed.
Test suite progress: tests succeeded: 50, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 51, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 52, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 53, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 54, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 55, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 56, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 57, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 58, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 59, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 60, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 61, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 62, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 63, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 64, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 65, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 66, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 67, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 68, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 69, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 70, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 71, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 72, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 73, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 74, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 75, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 76, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 77, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 78, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 79, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 80, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 81, failed: 10, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) failed.
Test suite progress: tests succeeded: 81, failed: 11, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 82, failed: 11, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 83, failed: 11, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 84, failed: 11, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 85, failed: 11, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 86, failed: 11, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 87, failed: 11, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 88, failed: 11, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 89, failed: 11, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 53ms
Test suite progress: tests succeeded: 90, failed: 11, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 5ms
Test suite progress: tests succeeded: 91, failed: 11, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 92, failed: 11, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 93, failed: 11, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 94, failed: 11, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 95, failed: 11, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 96, failed: 11, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 97, failed: 11, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 98, failed: 11, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 7ms
Test suite progress: tests succeeded: 99, failed: 11, skipped: 6.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 100, failed: 11, skipped: 6.
Starting test testTemplateBuilderWithImageIdSpecified(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
Mar 9, 2012 3:03:32 PM org.jclouds.compute.BaseComputeServiceLiveTest testCreateAndRunAService
INFO: << configured node(befe217a-b5a2-4ac0-9f3d-d7cf17c1caf9) with java full version "1.7.0-b147" and JBoss 7.0.2.Final in 287s
Mar 9, 2012 3:03:36 PM org.jclouds.compute.BaseComputeServiceLiveTest getLocationForIp
WARNING: could not get info on ip 209.132.182.31; check freegeoip
Mar 9, 2012 3:03:36 PM org.jclouds.compute.BaseComputeServiceLiveTest testCreateAndRunAService
INFO: << location of jboss7(download.jboss.org) from perpective of node(befe217a-b5a2-4ac0-9f3d-d7cf17c1caf9): 209.132.182.31
Mar 9, 2012 3:03:40 PM org.jclouds.compute.BaseComputeServiceLiveTest getLocationForIp
WARNING: could not get info on ip 77.109.171.160; check freegeoip
Mar 9, 2012 3:03:40 PM org.jclouds.compute.BaseComputeServiceLiveTest testCreateAndRunAService
INFO: << location of jdk7(download.oracle.com) from perpective of node(befe217a-b5a2-4ac0-9f3d-d7cf17c1caf9): 77.109.171.160
Mar 9, 2012 3:03:45 PM org.jclouds.compute.BaseComputeServiceLiveTest getLocationForIp
WARNING: could not get info on ip 178.22.69.137; check freegeoip
Mar 9, 2012 3:03:45 PM org.jclouds.compute.BaseComputeServiceLiveTest testCreateAndRunAService
INFO: << location of node(befe217a-b5a2-4ac0-9f3d-d7cf17c1caf9) from perspective of amazonaws: 178.22.69.137
Mar 9, 2012 3:03:59 PM org.jclouds.compute.BaseComputeServiceLiveTest trackAvailabilityOfProcessOnNode
INFO: << initial start of jboss on node(befe217a-b5a2-4ac0-9f3d-d7cf17c1caf9) [backgroundProcessMilliseconds=8743, socketOpenMilliseconds=1878, reportedStartupTimeMilliseconds=3325]
Mar 9, 2012 3:04:13 PM org.jclouds.compute.BaseComputeServiceLiveTest trackAvailabilityOfProcessOnNode
INFO: << warm start of jboss on node(befe217a-b5a2-4ac0-9f3d-d7cf17c1caf9) [backgroundProcessMilliseconds=4584, socketOpenMilliseconds=1604, reportedStartupTimeMilliseconds=3013]
[TestNG] Test testCreateAndRunAService(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 932225ms
Test suite progress: tests succeeded: 101, failed: 11, skipped: 6.
Starting test testGetAssignableLocations(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
Mar 9, 2012 3:04:34 PM org.jclouds.compute.BaseComputeServiceLiveTest testGetAssignableLocations
WARNING: location [id=cloudsigma-zrh, scope=PROVIDER, description=https://api.zrh.cloudsigma.com, parent=null, iso3166Codes=[CH-ZH], metadata={}]
[TestNG] Test testGetAssignableLocations(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 102, failed: 11, skipped: 6.
Starting test testImagesCache(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
Exception in thread "user thread 5" java.lang.IllegalStateException: interrupted calling get() on [[method=CloudSigmaAsyncClient.getDriveInfo, request=GET https://api.zrh.cloudsigma.com/drives/2e0e94f2-6354-4d6c-9970-fc25563cb288/info HTTP/1.1]], so could not run listeners
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:66)
	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)
Caused by: java.lang.InterruptedException
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:979)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1281)
	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:218)
	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.get(ExecutorServiceModule.java:239)
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:59)
	... 3 more
Caused by: java.util.concurrent.ExecutionException: task submitted from the following trace
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.ensureCauseHasSubmissionTrace(ExecutorServiceModule.java:272)
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.get(ExecutorServiceModule.java:243)
	... 4 more
[TestNG] Test testImagesCache(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 188018ms
Test suite progress: tests succeeded: 103, failed: 11, skipped: 6.
Starting test testListImages(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test testListImages(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 104, failed: 11, skipped: 6.
Starting test testListSizes(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test testListSizes(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 105, failed: 11, skipped: 6.
Starting test testOptionToNotBlock(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test testOptionToNotBlock(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 106, failed: 11, skipped: 6.
Starting test testStartNodeWithSSD(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test testStartNodeWithSSD(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 427690ms
Test suite progress: tests succeeded: 107, failed: 11, skipped: 6.
Starting test testCorrectExceptionRunningNodesNotFound(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test testCorrectExceptionRunningNodesNotFound(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 996ms
Test suite progress: tests succeeded: 108, failed: 11, skipped: 6.
Starting test testAScriptExecutionAfterBootWithBasicTemplate(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test testTemplateBuilderWithImageIdSpecified(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) failed.
Test suite progress: tests succeeded: 108, failed: 12, skipped: 6.
Exception in thread "user thread 7" java.lang.IllegalStateException: interrupted calling get() on [[method=CloudSigmaAsyncClient.getDriveInfo, request=GET https://api.zrh.cloudsigma.com/drives/c9df6b90-420c-4c46-b7f2-8d9e99929a09/info HTTP/1.1]], so could not run listeners
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:66)
	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)
Caused by: java.lang.InterruptedException
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:979)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1281)
	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:218)
	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.get(ExecutorServiceModule.java:239)
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:59)
	... 3 more
Caused by: java.util.concurrent.ExecutionException: task submitted from the following trace
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.ensureCauseHasSubmissionTrace(ExecutorServiceModule.java:272)
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.get(ExecutorServiceModule.java:243)
	... 4 more
Starting test testTemplateBuilderWithLoginUserSpecified(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testAScriptExecutionAfterBootWithBasicTemplate(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) failed.
Test suite progress: tests succeeded: 108, failed: 13, skipped: 6.
Starting test testCreateTwoNodesWithRunScript(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test testCreateTwoNodesWithRunScript(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 405363ms
Test suite progress: tests succeeded: 109, failed: 13, skipped: 6.
Starting test testTemplateMatch(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test testTemplateMatch(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 4ms
Test suite progress: tests succeeded: 110, failed: 13, skipped: 6.
Starting test testCreateAnotherNodeWithANewContextToEnsureSharedMemIsntRequired(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
Exception in thread "user thread 144" Exception in thread "user thread 92" java.lang.IllegalStateException: interrupted calling get() on [[method=CloudSigmaAsyncClient.getDriveInfo, request=GET https://api.zrh.cloudsigma.com/drives/0611be3f-0607-4b3c-8bad-a0af392d928a/info HTTP/1.1]], so could not run listeners
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:66)
	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)
Caused by: java.lang.InterruptedException
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:979)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1281)
	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:218)
	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.get(ExecutorServiceModule.java:239)
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:59)
	... 3 more
Caused by: java.util.concurrent.ExecutionException: task submitted from the following trace
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.ensureCauseHasSubmissionTrace(ExecutorServiceModule.java:272)
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.get(ExecutorServiceModule.java:243)
	... 4 more
java.lang.IllegalStateException: interrupted calling get() on [[method=CloudSigmaAsyncClient.getDriveInfo, request=GET https://api.zrh.cloudsigma.com/drives/2e0e94f2-6354-4d6c-9970-fc25563cb288/info HTTP/1.1]], so could not run listeners
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:66)
	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)
Caused by: java.lang.InterruptedException
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:979)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1281)
	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:218)
	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.get(ExecutorServiceModule.java:239)
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:59)
	... 3 more
Caused by: java.util.concurrent.ExecutionException: task submitted from the following trace
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.ensureCauseHasSubmissionTrace(ExecutorServiceModule.java:272)
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.get(ExecutorServiceModule.java:243)
	... 4 more
Exception in thread "user thread 111" java.lang.IllegalStateException: interrupted calling get() on [[method=CloudSigmaAsyncClient.getDriveInfo, request=GET https://api.zrh.cloudsigma.com/drives/08c7babe-d3dc-408b-b76f-bebae998e9ce/info HTTP/1.1]], so could not run listeners
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:66)
	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)
Caused by: java.lang.InterruptedException
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:979)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1281)
	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:218)
	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.get(ExecutorServiceModule.java:239)
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:59)
	... 3 more
Caused by: java.util.concurrent.ExecutionException: task submitted from the following trace
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.ensureCauseHasSubmissionTrace(ExecutorServiceModule.java:272)
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.get(ExecutorServiceModule.java:243)
	... 4 more
Mar 9, 2012 3:27:56 PM org.jclouds.compute.BaseComputeServiceLiveTest testCreateAnotherNodeWithANewContextToEnsureSharedMemIsntRequired
INFO: creating another node based on existing nodes' location: [id=cloudsigma-zrh, scope=PROVIDER, description=https://api.zrh.cloudsigma.com, parent=null, iso3166Codes=[CH-ZH], metadata={}]
Exception in thread "user thread 7" java.lang.IllegalStateException: interrupted calling get() on [[method=CloudSigmaAsyncClient.getDriveInfo, request=GET https://api.zrh.cloudsigma.com/drives/c9df6b90-420c-4c46-b7f2-8d9e99929a09/info HTTP/1.1]], so could not run listeners
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:66)
	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)
Caused by: java.lang.InterruptedException
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:979)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1281)
	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:218)
	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.get(ExecutorServiceModule.java:239)
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:59)
	... 3 more
Caused by: java.util.concurrent.ExecutionException: task submitted from the following trace
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.ensureCauseHasSubmissionTrace(ExecutorServiceModule.java:272)
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.get(ExecutorServiceModule.java:243)
	... 4 more
[TestNG] Test testTemplateBuilderWithLoginUserSpecified(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1243263ms
Test suite progress: tests succeeded: 111, failed: 13, skipped: 6.
Starting test testDefaultTemplateBuilder(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testDefaultTemplateBuilder(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) failed.
Test suite progress: tests succeeded: 111, failed: 14, skipped: 6.
Exception in thread "user thread 32" Exception in thread "user thread 30" java.lang.IllegalStateException: interrupted calling get() on [[method=CloudSigmaAsyncClient.getDriveInfo, request=GET https://api.zrh.cloudsigma.com/drives/0611be3f-0607-4b3c-8bad-a0af392d928a/info HTTP/1.1]], so could not run listeners
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:66)
	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)
Caused by: java.lang.InterruptedException
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:979)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1281)
	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:218)
	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.get(ExecutorServiceModule.java:239)
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:59)
	... 3 more
Caused by: java.util.concurrent.ExecutionException: task submitted from the following trace
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.ensureCauseHasSubmissionTrace(ExecutorServiceModule.java:272)
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.get(ExecutorServiceModule.java:243)
	... 4 more
java.lang.IllegalStateException: interrupted calling get() on [[method=CloudSigmaAsyncClient.getDriveInfo, request=GET https://api.zrh.cloudsigma.com/drives/2e0e94f2-6354-4d6c-9970-fc25563cb288/info HTTP/1.1]], so could not run listeners
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:66)
	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)
Caused by: java.lang.InterruptedException
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:979)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1281)
	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:218)
	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.get(ExecutorServiceModule.java:239)
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:59)
	... 3 more
Caused by: java.util.concurrent.ExecutionException: task submitted from the following trace
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.ensureCauseHasSubmissionTrace(ExecutorServiceModule.java:272)
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.get(ExecutorServiceModule.java:243)
	... 4 more
Exception in thread "user thread 31" java.lang.IllegalStateException: interrupted calling get() on [[method=CloudSigmaAsyncClient.getDriveInfo, request=GET https://api.zrh.cloudsigma.com/drives/08c7babe-d3dc-408b-b76f-bebae998e9ce/info HTTP/1.1]], so could not run listeners
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:66)
	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)
Caused by: java.lang.InterruptedException
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:979)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1281)
	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:218)
	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.get(ExecutorServiceModule.java:239)
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:59)
	... 3 more
Caused by: java.util.concurrent.ExecutionException: task submitted from the following trace
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.ensureCauseHasSubmissionTrace(ExecutorServiceModule.java:272)
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.get(ExecutorServiceModule.java:243)
	... 4 more
[TestNG] Test testCreateAnotherNodeWithANewContextToEnsureSharedMemIsntRequired(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) failed.
Test suite progress: tests succeeded: 111, failed: 15, skipped: 6.
[TestNG] Test testCredentialsCache(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 111, failed: 15, skipped: 7.
[TestNG] Test testGet(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 111, failed: 15, skipped: 8.
[TestNG] Test testReboot(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 111, failed: 15, skipped: 9.
[TestNG] Test testSuspendResume(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 111, failed: 15, skipped: 10.
[TestNG] Test testGetNodesWithDetails(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 111, failed: 15, skipped: 11.
[TestNG] Test testListNodes(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 111, failed: 15, skipped: 12.
[TestNG] Test testDestroyNodes(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 111, failed: 15, skipped: 13.
Exception in thread "user thread 28" java.lang.IllegalStateException: interrupted calling get() on [[method=CloudSigmaAsyncClient.getDriveInfo, request=GET https://api.zrh.cloudsigma.com/drives/08c7babe-d3dc-408b-b76f-bebae998e9ce/info HTTP/1.1]], so could not run listeners
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:66)
	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)
Caused by: java.lang.InterruptedException
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:979)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1281)
	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:218)
	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.get(ExecutorServiceModule.java:239)
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:59)
	... 3 more
Caused by: java.util.concurrent.ExecutionException: task submitted from the following trace
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.ensureCauseHasSubmissionTrace(ExecutorServiceModule.java:272)
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.get(ExecutorServiceModule.java:243)
	... 4 more
Exception in thread "user thread 29" java.lang.IllegalStateException: interrupted calling get() on [[method=CloudSigmaAsyncClient.getDriveInfo, request=GET https://api.zrh.cloudsigma.com/drives/2e0e94f2-6354-4d6c-9970-fc25563cb288/info HTTP/1.1]], so could not run listeners
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:66)
	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)
Caused by: java.lang.InterruptedException
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:979)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1281)
	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:218)
	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.get(ExecutorServiceModule.java:239)
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:59)
	... 3 more
Caused by: java.util.concurrent.ExecutionException: task submitted from the following trace
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.ensureCauseHasSubmissionTrace(ExecutorServiceModule.java:272)
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.get(ExecutorServiceModule.java:243)
	... 4 more
Exception in thread "user thread 24" java.lang.IllegalStateException: interrupted calling get() on [[method=CloudSigmaAsyncClient.getDriveInfo, request=GET https://api.zrh.cloudsigma.com/drives/0611be3f-0607-4b3c-8bad-a0af392d928a/info HTTP/1.1]], so could not run listeners
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:66)
	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)
Caused by: java.lang.InterruptedException
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:979)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1281)
	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:218)
	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.get(ExecutorServiceModule.java:239)
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:59)
	... 3 more
Caused by: java.util.concurrent.ExecutionException: task submitted from the following trace
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.ensureCauseHasSubmissionTrace(ExecutorServiceModule.java:272)
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.get(ExecutorServiceModule.java:243)
	... 4 more
Tests run: 139, Failures: 15, Errors: 0, Skipped: 13, Time elapsed: 4,098.191 sec <<< FAILURE!

Results :

Failed tests:   testCreateAndDestroyVLAN(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest): errors:system VLAN could not be created as you do not have a current unused VLAN subscription. Please purchase an additional VLAN subscription then try again.
  testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest): no image matched predicate: And(locationEqualsOrChildOf(cloudsigma-zrh),And(osFamily(debian),os64Bit(false)))
  testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest): no image matched predicate: And(locationEqualsOrChildOf(cloudsigma-zrh),And(osFamily(ubuntu),osVersion(^11.04$),os64Bit(true)))
  testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest): no image matched predicate: And(locationEqualsOrChildOf(cloudsigma-zrh),And(osFamily(debian),osVersion(^5.0$),os64Bit(false)))
  testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest): no image matched predicate: And(locationEqualsOrChildOf(cloudsigma-zrh),And(osFamily(centos),os64Bit(false)))
  testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest): no image matched predicate: And(locationEqualsOrChildOf(cloudsigma-zrh),And(osFamily(solaris),os64Bit(true)))
  testGetDrive(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
  testCreateAndDestroyStaticIP(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest): errors:system IP address could not be created as you do not have a current unused static IP address subscription. Please purchase an additional static IP address subscription then try again.
  testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest): 
  testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest): 
  testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest): 
  testTemplateBuilderWithImageIdSpecified(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest): imageId(c9df6b90-420c-4c46-b7f2-8d9e99929a09) not found
  testAScriptExecutionAfterBootWithBasicTemplate(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
  testDefaultTemplateBuilder(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest): expected:<11.04> but was:<>
  testCreateAnotherNodeWithANewContextToEnsureSharedMemIsntRequired(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest): error running 1 node group(cloudsigma-zrh) location(cloudsigma-zrh) image(c9df6b90-420c-4c46-b7f2-8d9e99929a09) size(cpu=1000.000000,ram=512,disk=10.000000) options(CloudSigmaTemplateOptions{diskDriveAffinity=ssd})

Tests run: 139, Failures: 15, Errors: 0, Skipped: 13

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1:09:00.029s
[INFO] Finished at: Fri Mar 09 15:46:52 PST 2012
[INFO] Final Memory: 21M/265M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.10:test (integration) on project cloudsigma-zrh: There are test failures.
[ERROR] 
[ERROR] Please refer to /Users/adriancole/workspace/git/1.4.x/jclouds/providers/cloudsigma-zrh/target/surefire-reports for the individual test results.
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
