[INFO] Scanning for projects...
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for org.jclouds.provider:glesys:bundle:1.6.0-SNAPSHOT
[WARNING] 'parent.relativePath' of POM org.jclouds:jclouds-project:1.6.0-SNAPSHOT (/private/tmp/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.6.0-SNAPSHOT, /private/tmp/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 GleSYS core 1.6.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ glesys ---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.1.1:enforce (enforce-maven) @ glesys ---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.1.1:enforce (enforce-banned-dependencies) @ glesys ---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.1.1:enforce (enforce-java) @ glesys ---
[INFO] 
[INFO] --- maven-remote-resources-plugin:1.4:process (process-remote-resources) @ glesys ---
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ glesys ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /private/tmp/jclouds/providers/glesys/src/main/clojure
[INFO] Copying 1 resource
[INFO] Copying 2 resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ glesys ---
[INFO] Compiling 68 source files to /private/tmp/jclouds/providers/glesys/target/classes
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ glesys ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /private/tmp/jclouds/providers/glesys/src/test/clojure
[INFO] Copying 27 resources
[INFO] Copying 2 resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.5.1:testCompile (default-testCompile) @ glesys ---
[INFO] Compiling 28 source files to /private/tmp/jclouds/providers/glesys/target/test-classes
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ glesys ---
[INFO] Surefire report directory: /private/tmp/jclouds/providers/glesys/target/surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running TestSuite
Configuring TestNG with: org.apache.maven.surefire.testng.conf.TestNG652Configurator@44bd928a
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 9ms
Test suite progress: tests succeeded: 1, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 1ms
Test suite progress: tests succeeded: 2, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 0ms
Test suite progress: tests succeeded: 3, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 1ms
Test suite progress: tests succeeded: 4, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 0ms
Test suite progress: tests succeeded: 5, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 1ms
Test suite progress: tests succeeded: 6, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 0ms
Test suite progress: tests succeeded: 7, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 0ms
Test suite progress: tests succeeded: 8, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 0ms
Test suite progress: tests succeeded: 9, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 0ms
Test suite progress: tests succeeded: 10, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 2ms
Test suite progress: tests succeeded: 11, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 0ms
Test suite progress: tests succeeded: 12, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 0ms
Test suite progress: tests succeeded: 13, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 0ms
Test suite progress: tests succeeded: 14, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 0ms
Test suite progress: tests succeeded: 15, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 0ms
Test suite progress: tests succeeded: 16, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 0ms
Test suite progress: tests succeeded: 17, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 0ms
Test suite progress: tests succeeded: 18, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 0ms
Test suite progress: tests succeeded: 19, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 1ms
Test suite progress: tests succeeded: 20, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 0ms
Test suite progress: tests succeeded: 21, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 1ms
Test suite progress: tests succeeded: 22, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 0ms
Test suite progress: tests succeeded: 23, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 0ms
Test suite progress: tests succeeded: 24, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 0ms
Test suite progress: tests succeeded: 25, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 0ms
Test suite progress: tests succeeded: 26, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 0ms
Test suite progress: tests succeeded: 27, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 0ms
Test suite progress: tests succeeded: 28, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 0ms
Test suite progress: tests succeeded: 29, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 0ms
Test suite progress: tests succeeded: 30, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 1ms
Test suite progress: tests succeeded: 31, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 0ms
Test suite progress: tests succeeded: 32, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest)
[pool-1-thread-1] Test test(org.jclouds.glesys.compute.functions.ParseOsFamilyVersion64BitFromImageNameTest) succeeded: 0ms
Test suite progress: tests succeeded: 33, failed: 0, skipped: 0.
Starting test testServerDetailsRequest(org.jclouds.glesys.compute.functions.ServerDetailsToNodeMetadataTest)
[pool-2-thread-1] Test testServerDetailsRequest(org.jclouds.glesys.compute.functions.ServerDetailsToNodeMetadataTest) succeeded: 889ms
Test suite progress: tests succeeded: 34, failed: 0, skipped: 0.
Starting test test401MakesAuthorizationException(org.jclouds.glesys.GleSYSErrorHandlerTest)
Starting test test400MakesResourceNotFoundExceptionOnCouldNotFind(org.jclouds.glesys.GleSYSErrorHandlerTest)
Starting test test500LockedMakesIllegalStateException(org.jclouds.glesys.GleSYSErrorHandlerTest)
Starting test test(org.jclouds.glesys.parse.ParseFullIpDetailsTest)
Starting test test404MakesResourceNotFoundException(org.jclouds.glesys.GleSYSErrorHandlerTest)
[pool-3-thread-1] Test test(org.jclouds.glesys.parse.ParseFullIpDetailsTest) succeeded: 31ms
Test suite progress: tests succeeded: 35, failed: 0, skipped: 0.
Starting test testHardwareRequest(org.jclouds.glesys.compute.functions.ServerSpecToHardwareTest)
[pool-3-thread-3] Test test401MakesAuthorizationException(org.jclouds.glesys.GleSYSErrorHandlerTest) succeeded: 138ms
Test suite progress: tests succeeded: 36, failed: 0, skipped: 0.
[pool-3-thread-2] Test test400MakesResourceNotFoundExceptionOnCouldNotFind(org.jclouds.glesys.GleSYSErrorHandlerTest) succeeded: 138ms
Test suite progress: tests succeeded: 37, failed: 0, skipped: 0.
[pool-3-thread-4] Test test404MakesResourceNotFoundException(org.jclouds.glesys.GleSYSErrorHandlerTest) succeeded: 134ms
Test suite progress: tests succeeded: 38, failed: 0, skipped: 0.
[pool-3-thread-5] Test test500LockedMakesIllegalStateException(org.jclouds.glesys.GleSYSErrorHandlerTest) succeeded: 138ms
Test suite progress: tests succeeded: 39, failed: 0, skipped: 0.
[pool-3-thread-1] Test testHardwareRequest(org.jclouds.glesys.compute.functions.ServerSpecToHardwareTest) succeeded: 183ms
Test suite progress: tests succeeded: 40, failed: 0, skipped: 0.
Starting test testListImages(org.jclouds.glesys.compute.GleSYSComputeServiceAdapterExpectTest)
[pool-4-thread-1] Test testListImages(org.jclouds.glesys.compute.GleSYSComputeServiceAdapterExpectTest) succeeded: 168ms
Test suite progress: tests succeeded: 41, failed: 0, skipped: 0.
Starting test testAndExperiment(org.jclouds.glesys.compute.GleSYSExperimentExpectTest)
[pool-5-thread-1] Test testAndExperiment(org.jclouds.glesys.compute.GleSYSExperimentExpectTest) succeeded: 127ms
Test suite progress: tests succeeded: 42, failed: 0, skipped: 0.
Starting test testAs(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest)
Starting test testClone(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest)
[pool-6-thread-1] Test testAs(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest) succeeded: 1ms
Starting test testDefaultTranferGB(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest)
Starting test testDefaultRootPassword(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest)
Test suite progress: tests succeeded: 43, failed: 0, skipped: 0.
Starting test testDefaultip(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest)
[pool-6-thread-3] Test testDefaultRootPassword(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest) succeeded: 0ms
Test suite progress: tests succeeded: 44, failed: 0, skipped: 0.
[pool-6-thread-5] Test testDefaultip(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest) succeeded: 0ms
Test suite progress: tests succeeded: 45, failed: 0, skipped: 0.
[pool-6-thread-4] Test testDefaultTranferGB(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest) succeeded: 0ms
Test suite progress: tests succeeded: 46, failed: 0, skipped: 0.
Starting test testNullRootPasswordThrowsNPE(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest)
Starting test testNullIpThrowsNPE(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest)
Starting test testInvalidIpThrowsIllegalArgument(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest)
Starting test testNegativeTransferGBThrowsException(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest)
[pool-6-thread-5] Test testNullIpThrowsNPE(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest) succeeded: 0ms
Test suite progress: tests succeeded: 47, failed: 0, skipped: 0.
[pool-6-thread-4] Test testNullRootPasswordThrowsNPE(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest) succeeded: 0ms
Test suite progress: tests succeeded: 48, failed: 0, skipped: 0.
Starting test testRootPassword(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest)
[pool-6-thread-3] Test testNegativeTransferGBThrowsException(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest) succeeded: 1ms
Test suite progress: tests succeeded: 49, failed: 0, skipped: 0.
[pool-6-thread-1] Test testInvalidIpThrowsIllegalArgument(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest) succeeded: 1ms
Test suite progress: tests succeeded: 50, failed: 0, skipped: 0.
Starting test testRootPasswordStatic(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest)
[pool-6-thread-5] Test testRootPassword(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest) succeeded: 1ms
Starting test testTransferGB(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest)
Test suite progress: tests succeeded: 51, failed: 0, skipped: 0.
Starting test testTransferGBStatic(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest)
[pool-6-thread-3] Test testTransferGB(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest) succeeded: 0ms
Test suite progress: tests succeeded: 52, failed: 0, skipped: 0.
[pool-6-thread-2] Test testClone(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest) succeeded: 3ms
Starting test testip(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest)
Test suite progress: tests succeeded: 53, failed: 0, skipped: 0.
Starting test testipIsInvalidThrowsIllegalArgument(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest)
[pool-6-thread-5] Test testip(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest) succeeded: 1ms
Test suite progress: tests succeeded: 54, failed: 0, skipped: 0.
[pool-6-thread-3] Test testipIsInvalidThrowsIllegalArgument(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest) succeeded: 1ms
Starting test testipStatic(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest)
Test suite progress: tests succeeded: 55, failed: 0, skipped: 0.
[pool-6-thread-1] Test testTransferGBStatic(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest) succeeded: 1ms
Test suite progress: tests succeeded: 56, failed: 0, skipped: 0.
[pool-6-thread-4] Test testRootPasswordStatic(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest) succeeded: 1ms
Test suite progress: tests succeeded: 57, failed: 0, skipped: 0.
[pool-6-thread-2] Test testipStatic(org.jclouds.glesys.compute.options.GleSYSTemplateOptionsTest) succeeded: 0ms
Test suite progress: tests succeeded: 58, failed: 0, skipped: 0.
Starting test testArchiveDetailsWhenResponseIs2xx(org.jclouds.glesys.features.ArchiveApiExpectTest)
Starting test testArchiveDetailsWhenResponseIs4xxReturnsNull(org.jclouds.glesys.features.ArchiveApiExpectTest)
Starting test testChangeArchivePasswordWhenResponseIs2xx(org.jclouds.glesys.features.ArchiveApiExpectTest)
Starting test testChangeArchivePasswordWhenResponseIs4xxThrows(org.jclouds.glesys.features.ArchiveApiExpectTest)
Starting test testCreateArchiveWhenResponseIs2xx(org.jclouds.glesys.features.ArchiveApiExpectTest)
[pool-7-thread-3] Test testChangeArchivePasswordWhenResponseIs2xx(org.jclouds.glesys.features.ArchiveApiExpectTest) succeeded: 265ms
Test suite progress: tests succeeded: 59, failed: 0, skipped: 0.
[pool-7-thread-5] Test testCreateArchiveWhenResponseIs2xx(org.jclouds.glesys.features.ArchiveApiExpectTest) succeeded: 264ms
Test suite progress: tests succeeded: 60, failed: 0, skipped: 0.
Starting test testDeleteArchiveWhenResponseIs2xx(org.jclouds.glesys.features.ArchiveApiExpectTest)
Starting test testDeleteArchiveWhenResponseIs4xxThrows(org.jclouds.glesys.features.ArchiveApiExpectTest)
[pool-7-thread-1] Test testArchiveDetailsWhenResponseIs2xx(org.jclouds.glesys.features.ArchiveApiExpectTest) succeeded: 270ms
Test suite progress: tests succeeded: 61, failed: 0, skipped: 0.
Starting test testGetArchiveAllowedArguments4xxWhenResponseIs2xx(org.jclouds.glesys.features.ArchiveApiExpectTest)
[pool-7-thread-4] Test testChangeArchivePasswordWhenResponseIs4xxThrows(org.jclouds.glesys.features.ArchiveApiExpectTest) succeeded: 321ms
Test suite progress: tests succeeded: 62, failed: 0, skipped: 0.
Starting test testGetArchiveAllowedArgumentsWhenResponseIs2xx(org.jclouds.glesys.features.ArchiveApiExpectTest)
[pool-7-thread-2] Test testArchiveDetailsWhenResponseIs4xxReturnsNull(org.jclouds.glesys.features.ArchiveApiExpectTest) succeeded: 324ms
Test suite progress: tests succeeded: 63, failed: 0, skipped: 0.
Starting test testListArchivesWhenReponseIs2xx(org.jclouds.glesys.features.ArchiveApiExpectTest)
[pool-7-thread-3] Test testDeleteArchiveWhenResponseIs2xx(org.jclouds.glesys.features.ArchiveApiExpectTest) succeeded: 267ms
Test suite progress: tests succeeded: 64, failed: 0, skipped: 0.
Starting test testListArchivesWhenResponseIs4xxReturnsEmpty(org.jclouds.glesys.features.ArchiveApiExpectTest)
[pool-7-thread-4] Test testGetArchiveAllowedArgumentsWhenResponseIs2xx(org.jclouds.glesys.features.ArchiveApiExpectTest) succeeded: 233ms
Test suite progress: tests succeeded: 65, failed: 0, skipped: 0.
Starting test testResizeArchiveWhenResponseIs2xx(org.jclouds.glesys.features.ArchiveApiExpectTest)
[pool-7-thread-2] Test testListArchivesWhenReponseIs2xx(org.jclouds.glesys.features.ArchiveApiExpectTest) succeeded: 249ms
Test suite progress: tests succeeded: 66, failed: 0, skipped: 0.
Starting test testResizeArchiveWhenResponseIs4xxThrows(org.jclouds.glesys.features.ArchiveApiExpectTest)
[pool-7-thread-5] Test testDeleteArchiveWhenResponseIs4xxThrows(org.jclouds.glesys.features.ArchiveApiExpectTest) succeeded: 317ms
Test suite progress: tests succeeded: 67, failed: 0, skipped: 0.
[pool-7-thread-1] Test testGetArchiveAllowedArguments4xxWhenResponseIs2xx(org.jclouds.glesys.features.ArchiveApiExpectTest) succeeded: 330ms
Test suite progress: tests succeeded: 68, failed: 0, skipped: 0.
[pool-7-thread-3] Test testListArchivesWhenResponseIs4xxReturnsEmpty(org.jclouds.glesys.features.ArchiveApiExpectTest) succeeded: 228ms
Test suite progress: tests succeeded: 69, failed: 0, skipped: 0.
[pool-7-thread-4] Test testResizeArchiveWhenResponseIs2xx(org.jclouds.glesys.features.ArchiveApiExpectTest) succeeded: 223ms
Test suite progress: tests succeeded: 70, failed: 0, skipped: 0.
[pool-7-thread-2] Test testResizeArchiveWhenResponseIs4xxThrows(org.jclouds.glesys.features.ArchiveApiExpectTest) succeeded: 257ms
Test suite progress: tests succeeded: 71, failed: 0, skipped: 0.
Starting test testAddDomainRecordsWhenResponseIs2xx(org.jclouds.glesys.features.DomainApiExpectTest)
Starting test testAddDomainRecordsWhenResponseIs4xx(org.jclouds.glesys.features.DomainApiExpectTest)
Starting test testAddDomainWhenResponseIs2xx(org.jclouds.glesys.features.DomainApiExpectTest)
Starting test testAddDomainWithOptsWhenResponseIs2xx(org.jclouds.glesys.features.DomainApiExpectTest)
Starting test testDeleteDomainRecordsWhenResponseIs2xx(org.jclouds.glesys.features.DomainApiExpectTest)
[pool-8-thread-5] Test testDeleteDomainRecordsWhenResponseIs2xx(org.jclouds.glesys.features.DomainApiExpectTest) succeeded: 265ms
Test suite progress: tests succeeded: 72, failed: 0, skipped: 0.
Starting test testDeleteDomainRecordsWhenResponseIs4xx(org.jclouds.glesys.features.DomainApiExpectTest)
[pool-8-thread-1] Test testAddDomainRecordsWhenResponseIs2xx(org.jclouds.glesys.features.DomainApiExpectTest) succeeded: 283ms
Test suite progress: tests succeeded: 73, failed: 0, skipped: 0.
Starting test testDeleteDomainWhenResponseIs2xx(org.jclouds.glesys.features.DomainApiExpectTest)
[pool-8-thread-4] Test testAddDomainWithOptsWhenResponseIs2xx(org.jclouds.glesys.features.DomainApiExpectTest) succeeded: 284ms
Test suite progress: tests succeeded: 74, failed: 0, skipped: 0.
Starting test testDeleteDomainWhenResponseIs4xxThrows(org.jclouds.glesys.features.DomainApiExpectTest)
[pool-8-thread-3] Test testAddDomainWhenResponseIs2xx(org.jclouds.glesys.features.DomainApiExpectTest) succeeded: 287ms
Test suite progress: tests succeeded: 75, failed: 0, skipped: 0.
Starting test testGetDomainWhenResponseIs2xx(org.jclouds.glesys.features.DomainApiExpectTest)
[pool-8-thread-2] Test testAddDomainRecordsWhenResponseIs4xx(org.jclouds.glesys.features.DomainApiExpectTest) succeeded: 337ms
Test suite progress: tests succeeded: 76, failed: 0, skipped: 0.
Starting test testGetDomainWhenResponseIs4xx(org.jclouds.glesys.features.DomainApiExpectTest)
[pool-8-thread-1] Test testDeleteDomainWhenResponseIs2xx(org.jclouds.glesys.features.DomainApiExpectTest) succeeded: 273ms
Test suite progress: tests succeeded: 77, failed: 0, skipped: 0.
Starting test testListDomainRecordsWhenResponseIs2xx(org.jclouds.glesys.features.DomainApiExpectTest)
[pool-8-thread-3] Test testGetDomainWhenResponseIs2xx(org.jclouds.glesys.features.DomainApiExpectTest) succeeded: 306ms
Test suite progress: tests succeeded: 78, failed: 0, skipped: 0.
Starting test testListDomainRecordsWhenResponseIs4xxReturnsEmpty(org.jclouds.glesys.features.DomainApiExpectTest)
[pool-8-thread-4] Test testDeleteDomainWhenResponseIs4xxThrows(org.jclouds.glesys.features.DomainApiExpectTest) succeeded: 319ms
Test suite progress: tests succeeded: 79, failed: 0, skipped: 0.
Starting test testListDomainsWhenResponseIs2xx(org.jclouds.glesys.features.DomainApiExpectTest)
[pool-8-thread-5] Test testDeleteDomainRecordsWhenResponseIs4xx(org.jclouds.glesys.features.DomainApiExpectTest) succeeded: 340ms
Test suite progress: tests succeeded: 80, failed: 0, skipped: 0.
Starting test testListDomainsWhenResponseIs4xxReturnsEmpty(org.jclouds.glesys.features.DomainApiExpectTest)
[pool-8-thread-2] Test testGetDomainWhenResponseIs4xx(org.jclouds.glesys.features.DomainApiExpectTest) succeeded: 310ms
Test suite progress: tests succeeded: 81, failed: 0, skipped: 0.
Starting test testUpdateDomainRecordsWhenResponseIs2xx(org.jclouds.glesys.features.DomainApiExpectTest)
[pool-8-thread-1] Test testListDomainRecordsWhenResponseIs2xx(org.jclouds.glesys.features.DomainApiExpectTest) succeeded: 189ms
Test suite progress: tests succeeded: 82, failed: 0, skipped: 0.
Starting test testUpdateDomainRecordsWhenResponseIs4xx(org.jclouds.glesys.features.DomainApiExpectTest)
[pool-8-thread-4] Test testListDomainsWhenResponseIs2xx(org.jclouds.glesys.features.DomainApiExpectTest) succeeded: 197ms
Test suite progress: tests succeeded: 83, failed: 0, skipped: 0.
Starting test testUpdateDomainWhenResponseIs2xx(org.jclouds.glesys.features.DomainApiExpectTest)
[pool-8-thread-2] Test testUpdateDomainRecordsWhenResponseIs2xx(org.jclouds.glesys.features.DomainApiExpectTest) succeeded: 208ms
Test suite progress: tests succeeded: 84, failed: 0, skipped: 0.
Starting test testUpdateDomainWhenResponseIs4xxThrows(org.jclouds.glesys.features.DomainApiExpectTest)
[pool-8-thread-5] Test testListDomainsWhenResponseIs4xxReturnsEmpty(org.jclouds.glesys.features.DomainApiExpectTest) succeeded: 256ms
Test suite progress: tests succeeded: 85, failed: 0, skipped: 0.
[pool-8-thread-3] Test testListDomainRecordsWhenResponseIs4xxReturnsEmpty(org.jclouds.glesys.features.DomainApiExpectTest) succeeded: 321ms
Test suite progress: tests succeeded: 86, failed: 0, skipped: 0.
[pool-8-thread-4] Test testUpdateDomainWhenResponseIs2xx(org.jclouds.glesys.features.DomainApiExpectTest) succeeded: 193ms
Test suite progress: tests succeeded: 87, failed: 0, skipped: 0.
[pool-8-thread-1] Test testUpdateDomainRecordsWhenResponseIs4xx(org.jclouds.glesys.features.DomainApiExpectTest) succeeded: 263ms
Test suite progress: tests succeeded: 88, failed: 0, skipped: 0.
[pool-8-thread-2] Test testUpdateDomainWhenResponseIs4xxThrows(org.jclouds.glesys.features.DomainApiExpectTest) succeeded: 219ms
Test suite progress: tests succeeded: 89, failed: 0, skipped: 0.
Starting test testCreateAccountWhenResponseIs2xx(org.jclouds.glesys.features.EmailAccountApiExpectTest)
Starting test testCreateAliasWhenResponseIs2xx(org.jclouds.glesys.features.EmailAccountApiExpectTest)
Starting test testCreateAliasWhenResponseIs4xxThrows(org.jclouds.glesys.features.EmailAccountApiExpectTest)
Starting test testCreateAccountWhenResponseIs4xxThrows(org.jclouds.glesys.features.EmailAccountApiExpectTest)
Starting test testDeleteWhenResponseIs2xx(org.jclouds.glesys.features.EmailAccountApiExpectTest)
[pool-9-thread-3] Test testCreateAliasWhenResponseIs2xx(org.jclouds.glesys.features.EmailAccountApiExpectTest) succeeded: 249ms
Test suite progress: tests succeeded: 90, failed: 0, skipped: 0.
Starting test testDeleteWhenResponseIs4xxOk(org.jclouds.glesys.features.EmailAccountApiExpectTest)
[pool-9-thread-5] Test testDeleteWhenResponseIs2xx(org.jclouds.glesys.features.EmailAccountApiExpectTest) succeeded: 264ms
Test suite progress: tests succeeded: 91, failed: 0, skipped: 0.
Starting test testListAliasesWhenResponseIs2xx(org.jclouds.glesys.features.EmailAccountApiExpectTest)
[pool-9-thread-2] Test testCreateAccountWhenResponseIs4xxThrows(org.jclouds.glesys.features.EmailAccountApiExpectTest) succeeded: 284ms
Test suite progress: tests succeeded: 92, failed: 0, skipped: 0.
Starting test testListAliasesWhenResponseIs404IsEmpty(org.jclouds.glesys.features.EmailAccountApiExpectTest)
[pool-9-thread-4] Test testCreateAliasWhenResponseIs4xxThrows(org.jclouds.glesys.features.EmailAccountApiExpectTest) succeeded: 335ms
Test suite progress: tests succeeded: 93, failed: 0, skipped: 0.
Starting test testListWhenResponseIs2xx(org.jclouds.glesys.features.EmailAccountApiExpectTest)
[pool-9-thread-1] Test testCreateAccountWhenResponseIs2xx(org.jclouds.glesys.features.EmailAccountApiExpectTest) succeeded: 396ms
Test suite progress: tests succeeded: 94, failed: 0, skipped: 0.
Starting test testListWhenResponseIs404IsEmpty(org.jclouds.glesys.features.EmailAccountApiExpectTest)
[pool-9-thread-5] Test testListAliasesWhenResponseIs2xx(org.jclouds.glesys.features.EmailAccountApiExpectTest) succeeded: 354ms
Test suite progress: tests succeeded: 95, failed: 0, skipped: 0.
Starting test testOverviewWhenResponseIs2xx(org.jclouds.glesys.features.EmailAccountApiExpectTest)
[pool-9-thread-4] Test testListWhenResponseIs2xx(org.jclouds.glesys.features.EmailAccountApiExpectTest) succeeded: 307ms
Test suite progress: tests succeeded: 96, failed: 0, skipped: 0.
Starting test testOverviewWhenResponseIs404ReturnsNull(org.jclouds.glesys.features.EmailAccountApiExpectTest)
[pool-9-thread-3] Test testDeleteWhenResponseIs4xxOk(org.jclouds.glesys.features.EmailAccountApiExpectTest) succeeded: 422ms
Test suite progress: tests succeeded: 97, failed: 0, skipped: 0.
Starting test testUpdateAccountWhenResponseIs2xx(org.jclouds.glesys.features.EmailAccountApiExpectTest)
[pool-9-thread-2] Test testListAliasesWhenResponseIs404IsEmpty(org.jclouds.glesys.features.EmailAccountApiExpectTest) succeeded: 404ms
Test suite progress: tests succeeded: 98, failed: 0, skipped: 0.
Starting test testUpdateAccountWhenResponseIs4xx(org.jclouds.glesys.features.EmailAccountApiExpectTest)
[pool-9-thread-1] Test testListWhenResponseIs404IsEmpty(org.jclouds.glesys.features.EmailAccountApiExpectTest) succeeded: 301ms
Test suite progress: tests succeeded: 99, failed: 0, skipped: 0.
Starting test testUpdateAliasWhenResponseIs2xx(org.jclouds.glesys.features.EmailAccountApiExpectTest)
[pool-9-thread-5] Test testOverviewWhenResponseIs2xx(org.jclouds.glesys.features.EmailAccountApiExpectTest) succeeded: 219ms
Test suite progress: tests succeeded: 100, failed: 0, skipped: 0.
Starting test testUpdateAliasWhenResponseIs4xxThrows(org.jclouds.glesys.features.EmailAccountApiExpectTest)
[pool-9-thread-3] Test testUpdateAccountWhenResponseIs2xx(org.jclouds.glesys.features.EmailAccountApiExpectTest) succeeded: 188ms
Test suite progress: tests succeeded: 101, failed: 0, skipped: 0.
[pool-9-thread-1] Test testUpdateAliasWhenResponseIs2xx(org.jclouds.glesys.features.EmailAccountApiExpectTest) succeeded: 185ms
Test suite progress: tests succeeded: 102, failed: 0, skipped: 0.
[pool-9-thread-4] Test testOverviewWhenResponseIs404ReturnsNull(org.jclouds.glesys.features.EmailAccountApiExpectTest) succeeded: 263ms
Test suite progress: tests succeeded: 103, failed: 0, skipped: 0.
[pool-9-thread-2] Test testUpdateAccountWhenResponseIs4xx(org.jclouds.glesys.features.EmailAccountApiExpectTest) succeeded: 243ms
Test suite progress: tests succeeded: 104, failed: 0, skipped: 0.
[pool-9-thread-5] Test testUpdateAliasWhenResponseIs4xxThrows(org.jclouds.glesys.features.EmailAccountApiExpectTest) succeeded: 151ms
Test suite progress: tests succeeded: 105, failed: 0, skipped: 0.
Starting test testAddWhenResponseIs2xx(org.jclouds.glesys.features.IpApiExpectTest)
Starting test testAddWhenResponseIs4xxThrowsHttpException(org.jclouds.glesys.features.IpApiExpectTest)
Starting test testGetIpDetailsWhenResponseIs4xxReturnsNull(org.jclouds.glesys.features.IpApiExpectTest)
Starting test testGetIpDetailsWhenResponseIs2xx(org.jclouds.glesys.features.IpApiExpectTest)
Starting test testListFreeWhenResponseIs2xx(org.jclouds.glesys.features.IpApiExpectTest)
[pool-10-thread-5] Test testListFreeWhenResponseIs2xx(org.jclouds.glesys.features.IpApiExpectTest) succeeded: 153ms
Test suite progress: tests succeeded: 106, failed: 0, skipped: 0.
Starting test testListFreeWhenResponseIs404ReturnsEmptySet(org.jclouds.glesys.features.IpApiExpectTest)
[pool-10-thread-3] Test testGetIpDetailsWhenResponseIs2xx(org.jclouds.glesys.features.IpApiExpectTest) succeeded: 180ms
Test suite progress: tests succeeded: 107, failed: 0, skipped: 0.
[pool-10-thread-1] Test testAddWhenResponseIs2xx(org.jclouds.glesys.features.IpApiExpectTest) succeeded: 186ms
Starting test testListIpsWhenResponseIs2xx(org.jclouds.glesys.features.IpApiExpectTest)
Test suite progress: tests succeeded: 108, failed: 0, skipped: 0.
Starting test testListIpsWhenResponseIs4xxReturnsEmpty(org.jclouds.glesys.features.IpApiExpectTest)
[pool-10-thread-2] Test testAddWhenResponseIs4xxThrowsHttpException(org.jclouds.glesys.features.IpApiExpectTest) succeeded: 243ms
Test suite progress: tests succeeded: 109, failed: 0, skipped: 0.
Starting test testReleaseWhenResponseIs2xx(org.jclouds.glesys.features.IpApiExpectTest)
[pool-10-thread-4] Test testGetIpDetailsWhenResponseIs4xxReturnsNull(org.jclouds.glesys.features.IpApiExpectTest) succeeded: 243ms
Test suite progress: tests succeeded: 110, failed: 0, skipped: 0.
Starting test testReleaseWhenResponseIs4xxThrowsResponseException(org.jclouds.glesys.features.IpApiExpectTest)
[pool-10-thread-3] Test testListIpsWhenResponseIs2xx(org.jclouds.glesys.features.IpApiExpectTest) succeeded: 116ms
Test suite progress: tests succeeded: 111, failed: 0, skipped: 0.
Starting test testRemoveAndReleaseWhenResponseIs2xx(org.jclouds.glesys.features.IpApiExpectTest)
[pool-10-thread-5] Test testListFreeWhenResponseIs404ReturnsEmptySet(org.jclouds.glesys.features.IpApiExpectTest) succeeded: 172ms
Test suite progress: tests succeeded: 112, failed: 0, skipped: 0.
Starting test testRemoveAndReleaseWhenResponseIs4xxThrowsHttpException(org.jclouds.glesys.features.IpApiExpectTest)
[pool-10-thread-2] Test testReleaseWhenResponseIs2xx(org.jclouds.glesys.features.IpApiExpectTest) succeeded: 111ms
Test suite progress: tests succeeded: 113, failed: 0, skipped: 0.
Starting test testRemoveWhenResponseIs2xx(org.jclouds.glesys.features.IpApiExpectTest)
[pool-10-thread-1] Test testListIpsWhenResponseIs4xxReturnsEmpty(org.jclouds.glesys.features.IpApiExpectTest) succeeded: 192ms
Test suite progress: tests succeeded: 114, failed: 0, skipped: 0.
Starting test testRemoveWhenResponseIs4xxThrowsHttpException(org.jclouds.glesys.features.IpApiExpectTest)
[pool-10-thread-4] Test testReleaseWhenResponseIs4xxThrowsResponseException(org.jclouds.glesys.features.IpApiExpectTest) succeeded: 163ms
Test suite progress: tests succeeded: 115, failed: 0, skipped: 0.
Starting test testResetPrtWhenResponseIs2xx(org.jclouds.glesys.features.IpApiExpectTest)
[pool-10-thread-3] Test testRemoveAndReleaseWhenResponseIs2xx(org.jclouds.glesys.features.IpApiExpectTest) succeeded: 127ms
Test suite progress: tests succeeded: 116, failed: 0, skipped: 0.
Starting test testResetPtrWhenResponseIs4xxThrowsHttpException(org.jclouds.glesys.features.IpApiExpectTest)
[pool-10-thread-2] Test testRemoveWhenResponseIs2xx(org.jclouds.glesys.features.IpApiExpectTest) succeeded: 140ms
Test suite progress: tests succeeded: 117, failed: 0, skipped: 0.
Starting test testSetPrtWhenResponseIs2xx(org.jclouds.glesys.features.IpApiExpectTest)
[pool-10-thread-4] Test testResetPrtWhenResponseIs2xx(org.jclouds.glesys.features.IpApiExpectTest) succeeded: 104ms
Test suite progress: tests succeeded: 118, failed: 0, skipped: 0.
Starting test testSetPtrWhenResponseIs4xxThrowsHttpException(org.jclouds.glesys.features.IpApiExpectTest)
[pool-10-thread-5] Test testRemoveAndReleaseWhenResponseIs4xxThrowsHttpException(org.jclouds.glesys.features.IpApiExpectTest) succeeded: 188ms
Test suite progress: tests succeeded: 119, failed: 0, skipped: 0.
Starting test testTakeWhenResponseIs2xx(org.jclouds.glesys.features.IpApiExpectTest)
[pool-10-thread-1] Test testRemoveWhenResponseIs4xxThrowsHttpException(org.jclouds.glesys.features.IpApiExpectTest) succeeded: 159ms
Test suite progress: tests succeeded: 120, failed: 0, skipped: 0.
Starting test testTakeWhenResponseIs4xxThrowsResponseException(org.jclouds.glesys.features.IpApiExpectTest)
[pool-10-thread-3] Test testResetPtrWhenResponseIs4xxThrowsHttpException(org.jclouds.glesys.features.IpApiExpectTest) succeeded: 166ms
Test suite progress: tests succeeded: 121, failed: 0, skipped: 0.
[pool-10-thread-2] Test testSetPrtWhenResponseIs2xx(org.jclouds.glesys.features.IpApiExpectTest) succeeded: 129ms
Test suite progress: tests succeeded: 122, failed: 0, skipped: 0.
[pool-10-thread-5] Test testTakeWhenResponseIs2xx(org.jclouds.glesys.features.IpApiExpectTest) succeeded: 121ms
Test suite progress: tests succeeded: 123, failed: 0, skipped: 0.
[pool-10-thread-4] Test testSetPtrWhenResponseIs4xxThrowsHttpException(org.jclouds.glesys.features.IpApiExpectTest) succeeded: 182ms
Test suite progress: tests succeeded: 124, failed: 0, skipped: 0.
[pool-10-thread-1] Test testTakeWhenResponseIs4xxThrowsResponseException(org.jclouds.glesys.features.IpApiExpectTest) succeeded: 171ms
Test suite progress: tests succeeded: 125, failed: 0, skipped: 0.
Starting test testCloneServerWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest)
Starting test testCloneServerWithOptsWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest)
Starting test testCreateServerWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest)
Starting test testCloneServerWhenResponseIs4xx(org.jclouds.glesys.features.ServerApiExpectTest)
Starting test testCreateServerWithOptsWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest)
[pool-11-thread-5] Test testCreateServerWithOptsWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest) succeeded: 148ms
Test suite progress: tests succeeded: 126, failed: 0, skipped: 0.
[pool-11-thread-3] Test testCloneServerWithOptsWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest) succeeded: 154ms
Test suite progress: tests succeeded: 127, failed: 0, skipped: 0.
Starting test testDestroyServerWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest)
Starting test testDestroyServerWhenResponseIs4xx(org.jclouds.glesys.features.ServerApiExpectTest)
[pool-11-thread-1] Test testCloneServerWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest) succeeded: 159ms
Test suite progress: tests succeeded: 128, failed: 0, skipped: 0.
[pool-11-thread-4] Test testCreateServerWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest) succeeded: 155ms
Test suite progress: tests succeeded: 129, failed: 0, skipped: 0.
Starting test testGetAllowedArgumentsWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest)
Starting test testGetConsoleWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest)
[pool-11-thread-2] Test testCloneServerWhenResponseIs4xx(org.jclouds.glesys.features.ServerApiExpectTest) succeeded: 169ms
Test suite progress: tests succeeded: 130, failed: 0, skipped: 0.
Starting test testGetConsoleWhenResponseIs4xx(org.jclouds.glesys.features.ServerApiExpectTest)
[pool-11-thread-5] Test testDestroyServerWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest) succeeded: 126ms
Test suite progress: tests succeeded: 131, failed: 0, skipped: 0.
Starting test testGetServerDetailsWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest)
[pool-11-thread-1] Test testGetAllowedArgumentsWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest) succeeded: 125ms
Test suite progress: tests succeeded: 132, failed: 0, skipped: 0.
Starting test testGetServerLimitsWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest)
[pool-11-thread-4] Test testGetConsoleWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest) succeeded: 126ms
Test suite progress: tests succeeded: 133, failed: 0, skipped: 0.
Starting test testGetServerStatusWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest)
[pool-11-thread-3] Test testDestroyServerWhenResponseIs4xx(org.jclouds.glesys.features.ServerApiExpectTest) succeeded: 175ms
Test suite progress: tests succeeded: 134, failed: 0, skipped: 0.
Starting test testGetServerStatusWhenResponseIs4xx(org.jclouds.glesys.features.ServerApiExpectTest)
[pool-11-thread-2] Test testGetConsoleWhenResponseIs4xx(org.jclouds.glesys.features.ServerApiExpectTest) succeeded: 159ms
Test suite progress: tests succeeded: 135, failed: 0, skipped: 0.
Starting test testGetServerStatusWithOptsWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest)
[pool-11-thread-1] Test testGetServerLimitsWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest) succeeded: 104ms
Test suite progress: tests succeeded: 136, failed: 0, skipped: 0.
Starting test testGetTemplatesWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest)
[pool-11-thread-5] Test testGetServerDetailsWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest) succeeded: 108ms
Test suite progress: tests succeeded: 137, failed: 0, skipped: 0.
Starting test testHardStopServerWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest)
[pool-11-thread-4] Test testGetServerStatusWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest) succeeded: 117ms
Test suite progress: tests succeeded: 138, failed: 0, skipped: 0.
Starting test testListServersWhenReponseIs404IsEmpty(org.jclouds.glesys.features.ServerApiExpectTest)
[pool-11-thread-2] Test testGetServerStatusWithOptsWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest) succeeded: 107ms
Test suite progress: tests succeeded: 139, failed: 0, skipped: 0.
Starting test testListServersWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest)
[pool-11-thread-3] Test testGetServerStatusWhenResponseIs4xx(org.jclouds.glesys.features.ServerApiExpectTest) succeeded: 135ms
Test suite progress: tests succeeded: 140, failed: 0, skipped: 0.
Starting test testRebootServerWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest)
[pool-11-thread-5] Test testHardStopServerWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest) succeeded: 86ms
Test suite progress: tests succeeded: 141, failed: 0, skipped: 0.
Starting test testRebootServerWhenResponseIs4xx(org.jclouds.glesys.features.ServerApiExpectTest)
[pool-11-thread-1] Test testGetTemplatesWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest) succeeded: 132ms
Test suite progress: tests succeeded: 142, failed: 0, skipped: 0.
Starting test testResouceUsageWhenResponseIs4xx(org.jclouds.glesys.features.ServerApiExpectTest)
[pool-11-thread-2] Test testListServersWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest) succeeded: 95ms
Test suite progress: tests succeeded: 143, failed: 0, skipped: 0.
Starting test testResourceUsageWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest)
[pool-11-thread-4] Test testListServersWhenReponseIs404IsEmpty(org.jclouds.glesys.features.ServerApiExpectTest) succeeded: 151ms
Test suite progress: tests succeeded: 144, failed: 0, skipped: 0.
Starting test testServerDetailsWhenResponseIs4xxReturnsNull(org.jclouds.glesys.features.ServerApiExpectTest)
[pool-11-thread-3] Test testRebootServerWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest) succeeded: 110ms
Test suite progress: tests succeeded: 145, failed: 0, skipped: 0.
Starting test testStartServerWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest)
[pool-11-thread-5] Test testRebootServerWhenResponseIs4xx(org.jclouds.glesys.features.ServerApiExpectTest) succeeded: 172ms
Test suite progress: tests succeeded: 146, failed: 0, skipped: 0.
Starting test testStartServerWhenResponseIs4xx(org.jclouds.glesys.features.ServerApiExpectTest)
[pool-11-thread-3] Test testStartServerWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest) succeeded: 104ms
Test suite progress: tests succeeded: 147, failed: 0, skipped: 0.
Starting test testStopServerWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest)
[pool-11-thread-2] Test testResourceUsageWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest) succeeded: 151ms
Test suite progress: tests succeeded: 148, failed: 0, skipped: 0.
Starting test testStopServerWhenResponseIs4xx(org.jclouds.glesys.features.ServerApiExpectTest)
[pool-11-thread-1] Test testResouceUsageWhenResponseIs4xx(org.jclouds.glesys.features.ServerApiExpectTest) succeeded: 178ms
Test suite progress: tests succeeded: 149, failed: 0, skipped: 0.
Starting test testUpdateServerWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest)
[pool-11-thread-4] Test testServerDetailsWhenResponseIs4xxReturnsNull(org.jclouds.glesys.features.ServerApiExpectTest) succeeded: 191ms
Test suite progress: tests succeeded: 150, failed: 0, skipped: 0.
Starting test testUpdateServerWithOptsWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest)
[pool-11-thread-3] Test testStopServerWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest) succeeded: 121ms
Test suite progress: tests succeeded: 151, failed: 0, skipped: 0.
[pool-11-thread-1] Test testUpdateServerWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest) succeeded: 113ms
Test suite progress: tests succeeded: 152, failed: 0, skipped: 0.
[pool-11-thread-5] Test testStartServerWhenResponseIs4xx(org.jclouds.glesys.features.ServerApiExpectTest) succeeded: 174ms
Test suite progress: tests succeeded: 153, failed: 0, skipped: 0.
[pool-11-thread-4] Test testUpdateServerWithOptsWhenResponseIs2xx(org.jclouds.glesys.features.ServerApiExpectTest) succeeded: 87ms
Test suite progress: tests succeeded: 154, failed: 0, skipped: 0.
[pool-11-thread-2] Test testStopServerWhenResponseIs4xx(org.jclouds.glesys.features.ServerApiExpectTest) succeeded: 156ms
Test suite progress: tests succeeded: 155, failed: 0, skipped: 0.
Starting test testAsync(org.jclouds.glesys.GleSYSAsyncApiTest)
Starting test testSync(org.jclouds.glesys.GleSYSAsyncApiTest)
[pool-12-thread-2] Test testSync(org.jclouds.glesys.GleSYSAsyncApiTest) succeeded: 1ms
Test suite progress: tests succeeded: 156, failed: 0, skipped: 0.
[pool-12-thread-1] Test testAsync(org.jclouds.glesys.GleSYSAsyncApiTest) succeeded: 11ms
Test suite progress: tests succeeded: 157, failed: 0, skipped: 0.
Starting test testAllContains(org.jclouds.glesys.GleSYSProviderTest)
Starting test testTransformableToContains(org.jclouds.glesys.GleSYSProviderTest)
Starting test testWithId(org.jclouds.glesys.GleSYSProviderTest)
Starting test testOfApiContains(org.jclouds.glesys.GleSYSProviderTest)
[pool-13-thread-1] Test testAllContains(org.jclouds.glesys.GleSYSProviderTest) succeeded: 2ms
Test suite progress: tests succeeded: 158, failed: 0, skipped: 0.
[pool-13-thread-4] Test testWithId(org.jclouds.glesys.GleSYSProviderTest) succeeded: 2ms
Test suite progress: tests succeeded: 159, failed: 0, skipped: 0.
[pool-13-thread-2] Test testOfApiContains(org.jclouds.glesys.GleSYSProviderTest) succeeded: 3ms
Test suite progress: tests succeeded: 160, failed: 0, skipped: 0.
[pool-13-thread-3] Test testTransformableToContains(org.jclouds.glesys.GleSYSProviderTest) succeeded: 5ms
Test suite progress: tests succeeded: 161, failed: 0, skipped: 0.
Starting test test(org.jclouds.glesys.parse.ParseIpAddressFromResponseTest)
[pool-14-thread-1] Test test(org.jclouds.glesys.parse.ParseIpAddressFromResponseTest) succeeded: 9ms
Test suite progress: tests succeeded: 162, failed: 0, skipped: 0.
Tests run: 162, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.004 sec

Results :

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

[INFO] 
[INFO] --- maven-bundle-plugin:2.3.7:bundle (default-bundle) @ glesys ---
[INFO] 
[INFO] --- maven-jar-plugin:2.4:test-jar (default) @ glesys ---
[INFO] Building jar: /private/tmp/jclouds/providers/glesys/target/glesys-1.6.0-SNAPSHOT-tests.jar
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (integration) @ glesys ---
[INFO] Surefire report directory: /private/tmp/jclouds/providers/glesys/target/surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running TestSuite
Configuring TestNG with: org.apache.maven.surefire.testng.conf.TestNG652Configurator@6b4da8f4
Starting test testAllowedArguments(org.jclouds.glesys.features.ArchiveApiLiveTest)
Starting test testAndExperiment(org.jclouds.glesys.compute.GleSYSExperimentLiveTest)
Starting test testCompareSizes(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
Starting test setServiceDefaults(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest)
[TestNG] Test setServiceDefaults(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 1, failed: 0, skipped: 0.
Starting test testCompareSizes(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest)
[TestNG] Test testAllowedArguments(org.jclouds.glesys.features.ArchiveApiLiveTest) succeeded: 2159ms
Test suite progress: tests succeeded: 2, failed: 0, skipped: 0.
Starting test testCreateArchive(org.jclouds.glesys.features.ArchiveApiLiveTest)
[TestNG] Test testAndExperiment(org.jclouds.glesys.compute.GleSYSExperimentLiveTest) succeeded: 2171ms
Test suite progress: tests succeeded: 3, failed: 0, skipped: 0.
Starting test testCreateRecord(org.jclouds.glesys.features.DomainApiLiveTest)
[TestNG] Test testCreateRecord(org.jclouds.glesys.features.DomainApiLiveTest) skipped.
Test suite progress: tests succeeded: 3, failed: 0, skipped: 1.
Starting test testDeleteRecord(org.jclouds.glesys.features.DomainApiLiveTest)
[TestNG] Test testDeleteRecord(org.jclouds.glesys.features.DomainApiLiveTest) skipped.
Test suite progress: tests succeeded: 3, failed: 0, skipped: 2.
Starting test testGetDomain(org.jclouds.glesys.features.DomainApiLiveTest)
[TestNG] Test testGetDomain(org.jclouds.glesys.features.DomainApiLiveTest) skipped.
Test suite progress: tests succeeded: 3, failed: 0, skipped: 3.
Starting test testUpdateDomain(org.jclouds.glesys.features.DomainApiLiveTest)
[TestNG] Test testUpdateDomain(org.jclouds.glesys.features.DomainApiLiveTest) skipped.
Test suite progress: tests succeeded: 3, failed: 0, skipped: 4.
Starting test testUpdateRecord(org.jclouds.glesys.features.DomainApiLiveTest)
[TestNG] Test testUpdateRecord(org.jclouds.glesys.features.DomainApiLiveTest) skipped.
Test suite progress: tests succeeded: 3, failed: 0, skipped: 5.
smallest {id=datacenter(Falkenberg)platform(Xen)cpuCores(1)memorySizeMB(768)diskSizeGB(5), providerId=datacenter(Falkenberg)platform(Xen)cpuCores(1)memorySizeMB(768)diskSizeGB(5), location={scope=ZONE, id=Falkenberg, description=Falkenberg, parent=glesys}, processors=[{cores=1.0, speed=1.0}], ram=768, volumes=[{type=LOCAL, size=5.0, bootDevice=true, durable=true}], hypervisor=Xen, supportsImage=idIn([FreeBSD 8.2, OpenSUSE 11.4 64-bit, CentOS 5.5 x86, Ubuntu 10.10 x64, Centos 6 x64, Ubuntu 11.04 x64, CentOS 5.5 x64, Ubuntu 12.04 x64, Ubuntu 12.04 x86, Centos 6 x86, FreeBSD 9.0, Debian-6 x64])}
fastest {id=datacenter(Falkenberg)platform(OpenVZ)cpuCores(8)memorySizeMB(128)diskSizeGB(5), providerId=datacenter(Falkenberg)platform(OpenVZ)cpuCores(8)memorySizeMB(128)diskSizeGB(5), location={scope=ZONE, id=Falkenberg, description=Falkenberg, parent=glesys}, processors=[{cores=8.0, speed=1.0}], ram=128, volumes=[{type=LOCAL, size=5.0, bootDevice=true, durable=true}], hypervisor=OpenVZ, supportsImage=idIn([Debian 6.0 32-bit, Centos 5, Centos 6 32-bit, Debian 6.0 64-bit, Scientific Linux 6 64-bit, Ubuntu 11.04 64-bit, Ubuntu 12.04 LTS 32-bit, Scientific Linux 6, Ubuntu 12.04 LTS 64-bit, Gentoo 64-bit, Centos 6 64-bit, Centos 5 64-bit])}
biggest {id=datacenter(Falkenberg)platform(Xen)cpuCores(8)memorySizeMB(16384)diskSizeGB(300), providerId=datacenter(Falkenberg)platform(Xen)cpuCores(8)memorySizeMB(16384)diskSizeGB(300), location={scope=ZONE, id=Falkenberg, description=Falkenberg, parent=glesys}, processors=[{cores=8.0, speed=1.0}], ram=16384, volumes=[{type=LOCAL, size=300.0, bootDevice=true, durable=true}], hypervisor=Xen, supportsImage=idIn([FreeBSD 8.2, OpenSUSE 11.4 64-bit, CentOS 5.5 x86, Ubuntu 10.10 x64, Centos 6 x64, Ubuntu 11.04 x64, CentOS 5.5 x64, Windows Server 2008 R2 x64 std, Ubuntu 12.04 x64, Ubuntu 12.04 x86, Windows Server 2008 R2 x64 web, Centos 6 x86, FreeBSD 9.0, Debian-6 x64])}
[TestNG] Test testCompareSizes(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 6934ms
Test suite progress: tests succeeded: 4, failed: 0, skipped: 5.
Starting test testFromTemplate(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testCompareSizes(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest) succeeded: 6742ms
Test suite progress: tests succeeded: 5, failed: 0, skipped: 5.
Starting test testCorrectExceptionRunningNodesNotFound(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest)
[TestNG] Test testFromTemplate(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) failed.
Test suite progress: tests succeeded: 5, failed: 1, skipped: 5.
Starting test testGetAssignableLocations(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testGetAssignableLocations(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 6, failed: 1, skipped: 5.
Starting test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 89ms
Test suite progress: tests succeeded: 7, failed: 1, skipped: 5.
Starting test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 123ms
Test suite progress: tests succeeded: 8, failed: 1, skipped: 5.
Starting test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 28ms
Test suite progress: tests succeeded: 9, failed: 1, skipped: 5.
Starting test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 60ms
Test suite progress: tests succeeded: 10, failed: 1, skipped: 5.
Starting test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 69ms
Test suite progress: tests succeeded: 11, failed: 1, skipped: 5.
Starting test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 37ms
Test suite progress: tests succeeded: 12, failed: 1, skipped: 5.
Starting test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 69ms
Test suite progress: tests succeeded: 13, failed: 1, skipped: 5.
Starting test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) failed.
Test suite progress: tests succeeded: 13, failed: 2, skipped: 5.
Starting test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) failed.
Test suite progress: tests succeeded: 13, failed: 3, skipped: 5.
Starting test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) failed.
Test suite progress: tests succeeded: 13, failed: 4, skipped: 5.
Starting test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 120ms
Test suite progress: tests succeeded: 14, failed: 4, skipped: 5.
Starting test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 47ms
Test suite progress: tests succeeded: 15, failed: 4, skipped: 5.
Starting test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 46ms
Test suite progress: tests succeeded: 16, failed: 4, skipped: 5.
Starting test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) failed.
Test suite progress: tests succeeded: 16, failed: 5, skipped: 5.
Starting test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 27ms
Test suite progress: tests succeeded: 17, failed: 5, skipped: 5.
Starting test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 117ms
Test suite progress: tests succeeded: 18, failed: 5, skipped: 5.
Starting test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 53ms
Test suite progress: tests succeeded: 19, failed: 5, skipped: 5.
Starting test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) failed.
Test suite progress: tests succeeded: 19, failed: 6, skipped: 5.
Starting test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 93ms
Test suite progress: tests succeeded: 20, failed: 6, skipped: 5.
Starting test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 37ms
Test suite progress: tests succeeded: 21, failed: 6, skipped: 5.
Starting test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testCorrectExceptionRunningNodesNotFound(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest) succeeded: 1116ms
Test suite progress: tests succeeded: 22, failed: 6, skipped: 5.
Starting test testGetAssignableLocations(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest)
[TestNG] Test testGetAssignableLocations(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 23, failed: 6, skipped: 5.
Starting test testImageById(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 34ms
Test suite progress: tests succeeded: 24, failed: 6, skipped: 5.
Starting test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) failed.
Test suite progress: tests succeeded: 24, failed: 7, skipped: 5.
Starting test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 56ms
Test suite progress: tests succeeded: 25, failed: 7, skipped: 5.
Starting test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 60ms
Test suite progress: tests succeeded: 26, failed: 7, skipped: 5.
Starting test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 62ms
Test suite progress: tests succeeded: 27, failed: 7, skipped: 5.
Starting test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 76ms
Test suite progress: tests succeeded: 28, failed: 7, skipped: 5.
Starting test testTemplateBuilderCanUseImageId(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testImageById(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest) succeeded: 1477ms
Test suite progress: tests succeeded: 29, failed: 7, skipped: 5.
Starting test testImagesCache(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest)
[TestNG] Test testImagesCache(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 30, failed: 7, skipped: 5.
Starting test testListImages(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest)
[TestNG] Test testListImages(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 31, failed: 7, skipped: 5.
Starting test testListSizes(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest)
[TestNG] Test testListSizes(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest) succeeded: 9ms
Test suite progress: tests succeeded: 32, failed: 7, skipped: 5.
Starting test testOptionToNotBlock(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest)
[TestNG] Test testOptionToNotBlock(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest) failed.
Test suite progress: tests succeeded: 32, failed: 8, skipped: 5.
Starting test testCreateAndRunAService(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest)
[TestNG] Test testTemplateBuilderCanUseImageId(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 5349ms
Test suite progress: tests succeeded: 33, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 34, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 35, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 36, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 37, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 38, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 39, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 40, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 41, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 42, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 43, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 44, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 45, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 46, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 47, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 48, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 49, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 50, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 51, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 52, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 53, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 54, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 55, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 56, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 57, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 58, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 59, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 60, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 61, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 62, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 63, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 64, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 65, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 66, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 67, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 68, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 69, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 70, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 71, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 72, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 73, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 74, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 75, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 76, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 77, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 78, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 79, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 80, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 81, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 82, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 83, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 84, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 85, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 86, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 87, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 88, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 89, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 90, failed: 8, skipped: 5.
Starting test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 91, failed: 8, skipped: 5.
Starting test testTemplateBuilderWithImageIdSpecified(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
Starting test reserveIp(org.jclouds.glesys.features.IpApiLiveTest)
[TestNG] Test reserveIp(org.jclouds.glesys.features.IpApiLiveTest) skipped.
Test suite progress: tests succeeded: 91, failed: 8, skipped: 6.
Starting test testGetXenDetails(org.jclouds.glesys.features.IpApiLiveTest)
[TestNG] Test testGetXenDetails(org.jclouds.glesys.features.IpApiLiveTest) skipped.
Test suite progress: tests succeeded: 91, failed: 8, skipped: 7.
Starting test testListFree(org.jclouds.glesys.features.IpApiLiveTest)
[TestNG] Test testListFree(org.jclouds.glesys.features.IpApiLiveTest) skipped.
Test suite progress: tests succeeded: 91, failed: 8, skipped: 8.
Starting test testGetOpenVZDetails(org.jclouds.glesys.features.IpApiLiveTest)
[TestNG] Test testGetOpenVZDetails(org.jclouds.glesys.features.IpApiLiveTest) skipped.
Test suite progress: tests succeeded: 91, failed: 8, skipped: 9.
[TestNG] Test reserveAndReleaseIp(org.jclouds.glesys.features.IpApiLiveTest) skipped.
Test suite progress: tests succeeded: 91, failed: 8, skipped: 10.
[TestNG] Test testAddRemove(org.jclouds.glesys.features.IpApiLiveTest) skipped.
Test suite progress: tests succeeded: 91, failed: 8, skipped: 11.
[TestNG] Test testList(org.jclouds.glesys.features.IpApiLiveTest) skipped.
Test suite progress: tests succeeded: 91, failed: 8, skipped: 12.
[TestNG] Test testPtrSetReset(org.jclouds.glesys.features.IpApiLiveTest) skipped.
Test suite progress: tests succeeded: 91, failed: 8, skipped: 13.
Starting test testCreateEmail(org.jclouds.glesys.features.EmailAccountApiLiveTest)
[TestNG] Test testCreateEmail(org.jclouds.glesys.features.EmailAccountApiLiveTest) skipped.
Test suite progress: tests succeeded: 91, failed: 8, skipped: 14.
[TestNG] Test testAliases(org.jclouds.glesys.features.EmailAccountApiLiveTest) skipped.
Test suite progress: tests succeeded: 91, failed: 8, skipped: 15.
[TestNG] Test testListAccounts(org.jclouds.glesys.features.EmailAccountApiLiveTest) skipped.
Test suite progress: tests succeeded: 91, failed: 8, skipped: 16.
[TestNG] Test testOverview(org.jclouds.glesys.features.EmailAccountApiLiveTest) skipped.
Test suite progress: tests succeeded: 91, failed: 8, skipped: 17.
[TestNG] Test testUpdateAccount(org.jclouds.glesys.features.EmailAccountApiLiveTest) skipped.
Test suite progress: tests succeeded: 91, failed: 8, skipped: 18.
[TestNG] Test testCreateArchive(org.jclouds.glesys.features.ArchiveApiLiveTest) succeeded: 19982ms
Test suite progress: tests succeeded: 92, failed: 8, skipped: 18.
Starting test testArchiveDetails(org.jclouds.glesys.features.ArchiveApiLiveTest)
Starting test testAllowedArguments(org.jclouds.glesys.features.ServerApiLiveTest)
[TestNG] Test testAllowedArguments(org.jclouds.glesys.features.ServerApiLiveTest) skipped.
Test suite progress: tests succeeded: 92, failed: 8, skipped: 19.
Starting test testConsole(org.jclouds.glesys.features.ServerApiLiveTest)
[TestNG] Test testConsole(org.jclouds.glesys.features.ServerApiLiveTest) skipped.
Test suite progress: tests succeeded: 92, failed: 8, skipped: 20.
Starting test testListServers(org.jclouds.glesys.features.ServerApiLiveTest)
[TestNG] Test testListServers(org.jclouds.glesys.features.ServerApiLiveTest) skipped.
Test suite progress: tests succeeded: 92, failed: 8, skipped: 21.
Starting test testListTemplates(org.jclouds.glesys.features.ServerApiLiveTest)
[TestNG] Test testListTemplates(org.jclouds.glesys.features.ServerApiLiveTest) skipped.
Test suite progress: tests succeeded: 92, failed: 8, skipped: 22.
Starting test testRebootServer(org.jclouds.glesys.features.ServerApiLiveTest)
[TestNG] Test testRebootServer(org.jclouds.glesys.features.ServerApiLiveTest) skipped.
Test suite progress: tests succeeded: 92, failed: 8, skipped: 23.
Starting test testResourceUsage(org.jclouds.glesys.features.ServerApiLiveTest)
[TestNG] Test testResourceUsage(org.jclouds.glesys.features.ServerApiLiveTest) skipped.
Test suite progress: tests succeeded: 92, failed: 8, skipped: 24.
Starting test testServerDetails(org.jclouds.glesys.features.ServerApiLiveTest)
[TestNG] Test testServerDetails(org.jclouds.glesys.features.ServerApiLiveTest) skipped.
Test suite progress: tests succeeded: 92, failed: 8, skipped: 25.
Starting test testServerLimits(org.jclouds.glesys.features.ServerApiLiveTest)
[TestNG] Test testServerLimits(org.jclouds.glesys.features.ServerApiLiveTest) skipped.
Test suite progress: tests succeeded: 92, failed: 8, skipped: 26.
Starting test testServerStatus(org.jclouds.glesys.features.ServerApiLiveTest)
[TestNG] Test testServerStatus(org.jclouds.glesys.features.ServerApiLiveTest) skipped.
Test suite progress: tests succeeded: 92, failed: 8, skipped: 27.
Starting test testStopAndStartServer(org.jclouds.glesys.features.ServerApiLiveTest)
[TestNG] Test testStopAndStartServer(org.jclouds.glesys.features.ServerApiLiveTest) skipped.
Test suite progress: tests succeeded: 92, failed: 8, skipped: 28.
Starting test testUpdateServer(org.jclouds.glesys.features.ServerApiLiveTest)
[TestNG] Test testUpdateServer(org.jclouds.glesys.features.ServerApiLiveTest) skipped.
Test suite progress: tests succeeded: 92, failed: 8, skipped: 29.
[TestNG] Test testArchiveDetails(org.jclouds.glesys.features.ArchiveApiLiveTest) succeeded: 1106ms
Test suite progress: tests succeeded: 93, failed: 8, skipped: 29.
Starting test testChangePassword(org.jclouds.glesys.features.ArchiveApiLiveTest)
[TestNG] Test testTemplateBuilderWithImageIdSpecified(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 10524ms
Test suite progress: tests succeeded: 94, failed: 8, skipped: 29.
Starting test testTemplateBuilderWithLoginUserSpecified(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testChangePassword(org.jclouds.glesys.features.ArchiveApiLiveTest) succeeded: 1765ms
Test suite progress: tests succeeded: 95, failed: 8, skipped: 29.
Starting test testResizeArchive(org.jclouds.glesys.features.ArchiveApiLiveTest)
[TestNG] Test testResizeArchive(org.jclouds.glesys.features.ArchiveApiLiveTest) succeeded: 8654ms
Test suite progress: tests succeeded: 96, failed: 8, skipped: 29.
[TestNG] Test testTemplateBuilderWithLoginUserSpecified(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 10955ms
Test suite progress: tests succeeded: 97, failed: 8, skipped: 29.
Starting test testDefaultTemplateBuilder(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)
[TestNG] Test testDefaultTemplateBuilder(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest) succeeded: 70ms
Test suite progress: tests succeeded: 98, failed: 8, skipped: 29.
[TestNG] Test testCreateAndRunAService(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest) succeeded: 262061ms
Test suite progress: tests succeeded: 99, failed: 8, skipped: 29.
Starting test testCorrectAuthException(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest)
[TestNG] Test testCorrectAuthException(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest) succeeded: 8309ms
Test suite progress: tests succeeded: 100, failed: 8, skipped: 29.
Starting test testAScriptExecutionAfterBootWithBasicTemplate(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest)
[TestNG] Test testAScriptExecutionAfterBootWithBasicTemplate(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest) failed.
Test suite progress: tests succeeded: 100, failed: 9, skipped: 29.
Starting test testConcurrentUseOfComputeServiceToCreateNodes(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest)
[TestNG] Test testConcurrentUseOfComputeServiceToCreateNodes(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest) failed.
Test suite progress: tests succeeded: 100, failed: 10, skipped: 29.
Starting test testTemplateMatch(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest)
[TestNG] Test testTemplateMatch(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest) succeeded: 2591ms
Test suite progress: tests succeeded: 101, failed: 10, skipped: 29.
[TestNG] Test testCreateTwoNodesWithRunScript(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 101, failed: 10, skipped: 30.
[TestNG] Test testCreateAnotherNodeWithANewContextToEnsureSharedMemIsntRequired(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 101, failed: 10, skipped: 31.
[TestNG] Test testCredentialsCache(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 101, failed: 10, skipped: 32.
[TestNG] Test testGet(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 101, failed: 10, skipped: 33.
[TestNG] Test testReboot(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 101, failed: 10, skipped: 34.
[TestNG] Test testSuspendResume(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 101, failed: 10, skipped: 35.
[TestNG] Test testGetNodesWithDetails(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 101, failed: 10, skipped: 36.
[TestNG] Test testListNodes(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 101, failed: 10, skipped: 37.
[TestNG] Test testListNodesByIds(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 101, failed: 10, skipped: 38.
[TestNG] Test testDestroyNodes(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 101, failed: 10, skipped: 39.
Tests run: 169, Failures: 14, Errors: 0, Skipped: 54, Time elapsed: 479.961 sec <<< FAILURE!
setup(org.jclouds.glesys.features.DomainApiLiveTest)  Time elapsed: 3.852 sec  <<< FAILURE!
java.lang.NullPointerException: useGlesysNameServer
	at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:208)
	at org.jclouds.glesys.domain.Domain.<init>(Domain.java:197)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at com.google.common.reflect.Invokable$ConstructorInvokable.invokeInternal(Invokable.java:243)
	at com.google.common.reflect.Invokable.invoke(Invokable.java:102)
	at org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$DeserializeIntoParameterizedConstructor.newInstance(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:217)
	at org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$DeserializeIntoParameterizedConstructor.read(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:197)
	at org.jclouds.json.internal.NullFilteringTypeAdapterFactories$IterableTypeAdapter.readAndBuild(NullFilteringTypeAdapterFactories.java:94)
	at org.jclouds.json.internal.NullFilteringTypeAdapterFactories$IterableTypeAdapter.read(NullFilteringTypeAdapterFactories.java:86)
	at org.jclouds.json.internal.NullFilteringTypeAdapterFactories$FluentIterableTypeAdapter.read(NullFilteringTypeAdapterFactories.java:243)
	at org.jclouds.json.internal.NullFilteringTypeAdapterFactories$FluentIterableTypeAdapter.read(NullFilteringTypeAdapterFactories.java:229)
	at com.google.gson.Gson.fromJson(Gson.java:795)
	at org.jclouds.http.functions.ParseFirstJsonValueNamed.apply(ParseFirstJsonValueNamed.java:85)
	at org.jclouds.http.functions.ParseFirstJsonValueNamed.apply(ParseFirstJsonValueNamed.java:49)
	at org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.invoke(InvokeSyncToAsyncHttpMethod.java:133)
	at org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.apply(InvokeSyncToAsyncHttpMethod.java:99)
	at org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.apply(InvokeSyncToAsyncHttpMethod.java:60)
	at org.jclouds.reflect.FunctionalReflection$FunctionalInvocationHandler.handleInvocation(FunctionalReflection.java:119)
	at com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:70)
	at com.sun.proxy.$Proxy62.list(Unknown Source)
	at org.jclouds.glesys.internal.BaseGleSYSApiLiveTest$1.apply(BaseGleSYSApiLiveTest.java:52)
	at org.jclouds.glesys.internal.BaseGleSYSApiLiveTest$1.apply(BaseGleSYSApiLiveTest.java:50)
	at org.jclouds.util.Predicates2$RetryablePredicate.apply(Predicates2.java:113)
	at org.jclouds.glesys.internal.BaseGleSYSApiLiveTest.createDomain(BaseGleSYSApiLiveTest.java:56)
	at org.jclouds.glesys.features.DomainApiLiveTest.setup(DomainApiLiveTest.java:70)

testFromTemplate(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)  Time elapsed: 0.07 sec  <<< FAILURE!
java.lang.NullPointerException: root password cannot be null
	at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:208)
	at org.jclouds.glesys.compute.options.GleSYSTemplateOptions.rootPassword(GleSYSTemplateOptions.java:117)
	at org.jclouds.glesys.compute.options.GleSYSTemplateOptions.copyTo(GleSYSTemplateOptions.java:83)
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.options(TemplateBuilderImpl.java:1043)
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.fromTemplate(TemplateBuilderImpl.java:510)
	at org.jclouds.compute.internal.BaseTemplateBuilderLiveTest.testFromTemplate(BaseTemplateBuilderLiveTest.java:93)
	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:714)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
	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:767)
	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:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)

testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)  Time elapsed: 0.003 sec  <<< FAILURE!
java.util.NoSuchElementException: no image matched predicate: And(nullEqualToIsParentOrIsGrandparentOfCurrentLocation(),And(osFamily(ubuntu),osVersion(^8.04$),os64Bit(true)))
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.throwNoSuchElementExceptionAfterLoggingImageIds(TemplateBuilderImpl.java:723)
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.findSupportedImages(TemplateBuilderImpl.java:697)
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.build(TemplateBuilderImpl.java:679)
	at org.jclouds.compute.internal.BaseTemplateBuilderLiveTest.testTemplateBuilderCanFind(BaseTemplateBuilderLiveTest.java:141)
	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:714)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
	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:767)
	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:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)

testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)  Time elapsed: 0.001 sec  <<< FAILURE!
java.util.NoSuchElementException: no image matched predicate: And(nullEqualToIsParentOrIsGrandparentOfCurrentLocation(),And(osFamily(ubuntu),osVersion(^10.04$),os64Bit(true)))
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.throwNoSuchElementExceptionAfterLoggingImageIds(TemplateBuilderImpl.java:723)
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.findSupportedImages(TemplateBuilderImpl.java:697)
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.build(TemplateBuilderImpl.java:679)
	at org.jclouds.compute.internal.BaseTemplateBuilderLiveTest.testTemplateBuilderCanFind(BaseTemplateBuilderLiveTest.java:141)
	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:714)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
	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:767)
	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:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)

testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)  Time elapsed: 0.001 sec  <<< FAILURE!
java.util.NoSuchElementException: no image matched predicate: And(nullEqualToIsParentOrIsGrandparentOfCurrentLocation(),And(osFamily(debian),osVersion(^5.0$),os64Bit(true)))
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.throwNoSuchElementExceptionAfterLoggingImageIds(TemplateBuilderImpl.java:723)
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.findSupportedImages(TemplateBuilderImpl.java:697)
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.build(TemplateBuilderImpl.java:679)
	at org.jclouds.compute.internal.BaseTemplateBuilderLiveTest.testTemplateBuilderCanFind(BaseTemplateBuilderLiveTest.java:141)
	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:714)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
	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:767)
	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:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)

testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)  Time elapsed: 0.001 sec  <<< FAILURE!
java.util.NoSuchElementException: no image matched predicate: And(nullEqualToIsParentOrIsGrandparentOfCurrentLocation(),And(osFamily(ubuntu),osVersion(^10.04$),os64Bit(false)))
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.throwNoSuchElementExceptionAfterLoggingImageIds(TemplateBuilderImpl.java:723)
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.findSupportedImages(TemplateBuilderImpl.java:697)
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.build(TemplateBuilderImpl.java:679)
	at org.jclouds.compute.internal.BaseTemplateBuilderLiveTest.testTemplateBuilderCanFind(BaseTemplateBuilderLiveTest.java:141)
	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:714)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
	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:767)
	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:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)

testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)  Time elapsed: 0.001 sec  <<< FAILURE!
java.util.NoSuchElementException: no image matched predicate: And(nullEqualToIsParentOrIsGrandparentOfCurrentLocation(),And(osFamily(debian),osVersion(^5.0$),os64Bit(false)))
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.throwNoSuchElementExceptionAfterLoggingImageIds(TemplateBuilderImpl.java:723)
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.findSupportedImages(TemplateBuilderImpl.java:697)
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.build(TemplateBuilderImpl.java:679)
	at org.jclouds.compute.internal.BaseTemplateBuilderLiveTest.testTemplateBuilderCanFind(BaseTemplateBuilderLiveTest.java:141)
	at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
	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:714)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
	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:767)
	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:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)

testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest)  Time elapsed: 0.001 sec  <<< FAILURE!
java.util.NoSuchElementException: no image matched predicate: And(nullEqualToIsParentOrIsGrandparentOfCurrentLocation(),And(osFamily(windows),osVersion(^2008$),os64Bit(true)))
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.throwNoSuchElementExceptionAfterLoggingImageIds(TemplateBuilderImpl.java:723)
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.findSupportedImages(TemplateBuilderImpl.java:697)
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.build(TemplateBuilderImpl.java:679)
	at org.jclouds.compute.internal.BaseTemplateBuilderLiveTest.testTemplateBuilderCanFind(BaseTemplateBuilderLiveTest.java:141)
	at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
	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:714)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
	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:767)
	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:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)

testOptionToNotBlock(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest)  Time elapsed: 2.216 sec  <<< FAILURE!
java.lang.NullPointerException: root password cannot be null
	at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:208)
	at org.jclouds.glesys.compute.options.GleSYSTemplateOptions.rootPassword(GleSYSTemplateOptions.java:117)
	at org.jclouds.glesys.compute.options.GleSYSTemplateOptions.copyTo(GleSYSTemplateOptions.java:83)
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.options(TemplateBuilderImpl.java:1043)
	at org.jclouds.compute.internal.BaseComputeService.createNodesInGroup(BaseComputeService.java:234)
	at org.jclouds.compute.internal.BaseComputeServiceLiveTest.testOptionToNotBlock(BaseComputeServiceLiveTest.java:775)
	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:714)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
	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:767)
	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:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)

setup(org.jclouds.glesys.features.IpApiLiveTest)  Time elapsed: 0.877 sec  <<< FAILURE!
org.jclouds.http.HttpResponseException: command: POST https://api.glesys.com/server/create/format/json HTTP/1.1 failed with response: HTTP/1.1 400 Bad Request; content: [{"response":{"status":{"code":400,"timestamp":"2013-04-28T01:32:56+02:00","text":"The templatename is not a template. Allowed: Centos 5, Centos 5 64-bit, Centos 6 32-bit, Centos 6 64-bit, Debian 6.0 32-bit, Debian 6.0 64-bit, Gentoo 64-bit, Scientific Linux 6, Scientific Linux 6 64-bit, Ubuntu 11.04 64-bit, Ubuntu 12.04 LTS 32-bit, Ubuntu 12.04 LTS 64-bit\n"},"debug":{"input":{"hostname":"adrianc-ip","rootpassword":"547cce20e2d44444bec1bcc0d04dc542","datacenter":"Falkenberg","platform":"OpenVZ","templatename":"Ubuntu 10.04 LTS 32-bit","disksize":"5","memorysize":"512","cpucores":"1","transfer":"50"}}}}]
	at org.jclouds.glesys.handlers.GleSYSErrorHandler.handleError(GleSYSErrorHandler.java:48)
	at org.jclouds.http.handlers.DelegatingErrorHandler.handleError(DelegatingErrorHandler.java:69)
	at org.jclouds.http.internal.BaseHttpCommandExecutorService.shouldContinue(BaseHttpCommandExecutorService.java:182)
	at org.jclouds.http.internal.BaseHttpCommandExecutorService.invoke(BaseHttpCommandExecutorService.java:152)
	at org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.invoke(InvokeSyncToAsyncHttpMethod.java:133)
	at org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.apply(InvokeSyncToAsyncHttpMethod.java:99)
	at org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.apply(InvokeSyncToAsyncHttpMethod.java:60)
	at org.jclouds.reflect.FunctionalReflection$FunctionalInvocationHandler.handleInvocation(FunctionalReflection.java:119)
	at com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:70)
	at com.sun.proxy.$Proxy73.createWithHostnameAndRootPassword(Unknown Source)
	at org.jclouds.glesys.internal.BaseGleSYSApiWithAServerLiveTest.createServer(BaseGleSYSApiWithAServerLiveTest.java:91)
	at org.jclouds.glesys.internal.BaseGleSYSApiWithAServerLiveTest.setup(BaseGleSYSApiWithAServerLiveTest.java:66)
	at org.jclouds.glesys.features.IpApiLiveTest.setup(IpApiLiveTest.java:54)

setup(org.jclouds.glesys.features.EmailAccountApiLiveTest)  Time elapsed: 6.151 sec  <<< FAILURE!
java.lang.NullPointerException: useGlesysNameServer
	at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:208)
	at org.jclouds.glesys.domain.Domain.<init>(Domain.java:197)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at com.google.common.reflect.Invokable$ConstructorInvokable.invokeInternal(Invokable.java:243)
	at com.google.common.reflect.Invokable.invoke(Invokable.java:102)
	at org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$DeserializeIntoParameterizedConstructor.newInstance(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:217)
	at org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$DeserializeIntoParameterizedConstructor.read(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:197)
	at org.jclouds.json.internal.NullFilteringTypeAdapterFactories$IterableTypeAdapter.readAndBuild(NullFilteringTypeAdapterFactories.java:94)
	at org.jclouds.json.internal.NullFilteringTypeAdapterFactories$IterableTypeAdapter.read(NullFilteringTypeAdapterFactories.java:86)
	at org.jclouds.json.internal.NullFilteringTypeAdapterFactories$FluentIterableTypeAdapter.read(NullFilteringTypeAdapterFactories.java:243)
	at org.jclouds.json.internal.NullFilteringTypeAdapterFactories$FluentIterableTypeAdapter.read(NullFilteringTypeAdapterFactories.java:229)
	at com.google.gson.Gson.fromJson(Gson.java:795)
	at org.jclouds.http.functions.ParseFirstJsonValueNamed.apply(ParseFirstJsonValueNamed.java:85)
	at org.jclouds.http.functions.ParseFirstJsonValueNamed.apply(ParseFirstJsonValueNamed.java:49)
	at org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.invoke(InvokeSyncToAsyncHttpMethod.java:133)
	at org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.apply(InvokeSyncToAsyncHttpMethod.java:99)
	at org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.apply(InvokeSyncToAsyncHttpMethod.java:60)
	at org.jclouds.reflect.FunctionalReflection$FunctionalInvocationHandler.handleInvocation(FunctionalReflection.java:119)
	at com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:70)
	at com.sun.proxy.$Proxy62.list(Unknown Source)
	at org.jclouds.glesys.internal.BaseGleSYSApiLiveTest.createDomain(BaseGleSYSApiLiveTest.java:47)
	at org.jclouds.glesys.features.EmailAccountApiLiveTest.setup(EmailAccountApiLiveTest.java:62)

setup(org.jclouds.glesys.features.ServerApiLiveTest)  Time elapsed: 1.072 sec  <<< FAILURE!
org.jclouds.http.HttpResponseException: command: POST https://api.glesys.com/server/create/format/json HTTP/1.1 failed with response: HTTP/1.1 400 Bad Request; content: [{"response":{"status":{"code":400,"timestamp":"2013-04-28T01:33:05+02:00","text":"The templatename is not a template. Allowed: Centos 5, Centos 5 64-bit, Centos 6 32-bit, Centos 6 64-bit, Debian 6.0 32-bit, Debian 6.0 64-bit, Gentoo 64-bit, Scientific Linux 6, Scientific Linux 6 64-bit, Ubuntu 11.04 64-bit, Ubuntu 12.04 LTS 32-bit, Ubuntu 12.04 LTS 64-bit\n"},"debug":{"input":{"hostname":"adrianc-server","rootpassword":"0fb6fa2eab244b7682643658b826f02d","datacenter":"Falkenberg","platform":"OpenVZ","templatename":"Ubuntu 10.04 LTS 32-bit","disksize":"5","memorysize":"512","cpucores":"1","transfer":"50"}}}}]
	at org.jclouds.glesys.handlers.GleSYSErrorHandler.handleError(GleSYSErrorHandler.java:48)
	at org.jclouds.http.handlers.DelegatingErrorHandler.handleError(DelegatingErrorHandler.java:69)
	at org.jclouds.http.internal.BaseHttpCommandExecutorService.shouldContinue(BaseHttpCommandExecutorService.java:182)
	at org.jclouds.http.internal.BaseHttpCommandExecutorService.invoke(BaseHttpCommandExecutorService.java:152)
	at org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.invoke(InvokeSyncToAsyncHttpMethod.java:133)
	at org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.apply(InvokeSyncToAsyncHttpMethod.java:99)
	at org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.apply(InvokeSyncToAsyncHttpMethod.java:60)
	at org.jclouds.reflect.FunctionalReflection$FunctionalInvocationHandler.handleInvocation(FunctionalReflection.java:119)
	at com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:70)
	at com.sun.proxy.$Proxy73.createWithHostnameAndRootPassword(Unknown Source)
	at org.jclouds.glesys.internal.BaseGleSYSApiWithAServerLiveTest.createServer(BaseGleSYSApiWithAServerLiveTest.java:91)
	at org.jclouds.glesys.internal.BaseGleSYSApiWithAServerLiveTest.setup(BaseGleSYSApiWithAServerLiveTest.java:66)
	at org.jclouds.glesys.features.ServerApiLiveTest.setup(ServerApiLiveTest.java:66)

testAScriptExecutionAfterBootWithBasicTemplate(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest)  Time elapsed: 2.202 sec  <<< FAILURE!
java.lang.NullPointerException: root password cannot be null
	at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:208)
	at org.jclouds.glesys.compute.options.GleSYSTemplateOptions.rootPassword(GleSYSTemplateOptions.java:117)
	at org.jclouds.glesys.compute.options.GleSYSTemplateOptions.copyTo(GleSYSTemplateOptions.java:83)
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.options(TemplateBuilderImpl.java:1043)
	at org.jclouds.compute.internal.BaseComputeService.createNodesInGroup(BaseComputeService.java:234)
	at org.jclouds.compute.internal.BaseComputeServiceLiveTest.testAScriptExecutionAfterBootWithBasicTemplate(BaseComputeServiceLiveTest.java:224)
	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:714)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
	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:767)
	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:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)

testConcurrentUseOfComputeServiceToCreateNodes(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest)  Time elapsed: 190.768 sec  <<< FAILURE!
java.util.concurrent.ExecutionException: org.jclouds.compute.RunNodesException: error running 1 node group(twin0) location(Falkenberg) image(Ubuntu 12.04 x64) size(datacenter(Falkenberg)platform(Xen)cpuCores(1)memorySizeMB(768)diskSizeGB(5)) options({blockOnPort:seconds=22:300, inboundPorts=[22, 8080], transferGB=50, ip=any})
Execution failures:
0 error[s]
Node failures:
1) IllegalStateException on node xm3787483:
java.lang.IllegalStateException: node does not have IP addresses configured: {id=xm3787483, providerId=xm3787483, name=twin0-74b, group=twin0, imageId=Ubuntu 12.04 x64, os={family=ubuntu, name=Ubuntu 12.04 x64, version=12.04, description=Ubuntu 12.04 x64, is64Bit=true}, status=RUNNING, loginPort=22, hostname=twin0-74b, hardware={id=xm3787483, providerId=xm3787483, processors=[{cores=1.0, speed=1.0}], ram=768, volumes=[{type=LOCAL, size=5.0, bootDevice=true, durable=true}], hypervisor=Xen, supportsImage=ALWAYS_TRUE}, loginUser=root}
	at com.google.common.base.Preconditions.checkState(Preconditions.java:149)
	at org.jclouds.compute.util.ConcurrentOpenSocketFinder.checkNodeHasIps(ConcurrentOpenSocketFinder.java:182)
	at org.jclouds.compute.util.ConcurrentOpenSocketFinder.findOpenSocketOnNode(ConcurrentOpenSocketFinder.java:81)
	at org.jclouds.compute.strategy.CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.call(CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.java:132)
	at org.jclouds.compute.strategy.CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.apply(CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.java:148)
	at org.jclouds.compute.strategy.CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.apply(CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.java:55)
	at com.google.common.util.concurrent.Futures$1.apply(Futures.java:720)
	at com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:859)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)
1 error[s]
	at com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:306)
	at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:279)
	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:96)
	at org.jclouds.compute.internal.BaseComputeServiceLiveTest.testConcurrentUseOfComputeServiceToCreateNodes(BaseComputeServiceLiveTest.java:448)
	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:714)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
	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:767)
	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:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)
Caused by: org.jclouds.compute.RunNodesException: error running 1 node group(twin0) location(Falkenberg) image(Ubuntu 12.04 x64) size(datacenter(Falkenberg)platform(Xen)cpuCores(1)memorySizeMB(768)diskSizeGB(5)) options({blockOnPort:seconds=22:300, inboundPorts=[22, 8080], transferGB=50, ip=any})
Execution failures:
0 error[s]
Node failures:
1) IllegalStateException on node xm3787483:
java.lang.IllegalStateException: node does not have IP addresses configured: {id=xm3787483, providerId=xm3787483, name=twin0-74b, group=twin0, imageId=Ubuntu 12.04 x64, os={family=ubuntu, name=Ubuntu 12.04 x64, version=12.04, description=Ubuntu 12.04 x64, is64Bit=true}, status=RUNNING, loginPort=22, hostname=twin0-74b, hardware={id=xm3787483, providerId=xm3787483, processors=[{cores=1.0, speed=1.0}], ram=768, volumes=[{type=LOCAL, size=5.0, bootDevice=true, durable=true}], hypervisor=Xen, supportsImage=ALWAYS_TRUE}, loginUser=root}
	at com.google.common.base.Preconditions.checkState(Preconditions.java:149)
	at org.jclouds.compute.util.ConcurrentOpenSocketFinder.checkNodeHasIps(ConcurrentOpenSocketFinder.java:182)
	at org.jclouds.compute.util.ConcurrentOpenSocketFinder.findOpenSocketOnNode(ConcurrentOpenSocketFinder.java:81)
	at org.jclouds.compute.strategy.CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.call(CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.java:132)
	at org.jclouds.compute.strategy.CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.apply(CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.java:148)
	at org.jclouds.compute.strategy.CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.apply(CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.java:55)
	at com.google.common.util.concurrent.Futures$1.apply(Futures.java:720)
	at com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:859)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)
1 error[s]
	at org.jclouds.compute.internal.BaseComputeService.createNodesInGroup(BaseComputeService.java:226)
	at org.jclouds.compute.internal.BaseComputeService.createNodesInGroup(BaseComputeService.java:234)
	at org.jclouds.compute.internal.BaseComputeServiceLiveTest$1.call(BaseComputeServiceLiveTest.java:438)
	at org.jclouds.compute.internal.BaseComputeServiceLiveTest$1.call(BaseComputeServiceLiveTest.java:436)
	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:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)
	at java.lang.Thread.getStackTrace(Thread.java:1503)
	at org.jclouds.compute.internal.BaseComputeServiceLiveTest.testConcurrentUseOfComputeServiceToCreateNodes(BaseComputeServiceLiveTest.java:436)
	... 21 more
Caused by: org.jclouds.compute.RunNodesException: error running 1 node group(twin0) location(Falkenberg) image(Ubuntu 12.04 x64) size(datacenter(Falkenberg)platform(Xen)cpuCores(1)memorySizeMB(768)diskSizeGB(5)) options({blockOnPort:seconds=22:300, inboundPorts=[22, 8080], transferGB=50, ip=any})
Execution failures:
0 error[s]
Node failures:
1) IllegalStateException on node xm3787483:
java.lang.IllegalStateException: node does not have IP addresses configured: {id=xm3787483, providerId=xm3787483, name=twin0-74b, group=twin0, imageId=Ubuntu 12.04 x64, os={family=ubuntu, name=Ubuntu 12.04 x64, version=12.04, description=Ubuntu 12.04 x64, is64Bit=true}, status=RUNNING, loginPort=22, hostname=twin0-74b, hardware={id=xm3787483, providerId=xm3787483, processors=[{cores=1.0, speed=1.0}], ram=768, volumes=[{type=LOCAL, size=5.0, bootDevice=true, durable=true}], hypervisor=Xen, supportsImage=ALWAYS_TRUE}, loginUser=root}
	at com.google.common.base.Preconditions.checkState(Preconditions.java:149)
	at org.jclouds.compute.util.ConcurrentOpenSocketFinder.checkNodeHasIps(ConcurrentOpenSocketFinder.java:182)
	at org.jclouds.compute.util.ConcurrentOpenSocketFinder.findOpenSocketOnNode(ConcurrentOpenSocketFinder.java:81)
	at org.jclouds.compute.strategy.CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.call(CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.java:132)
	at org.jclouds.compute.strategy.CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.apply(CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.java:148)
	at org.jclouds.compute.strategy.CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.apply(CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.java:55)
	at com.google.common.util.concurrent.Futures$1.apply(Futures.java:720)
	at com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:859)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)
1 error[s]
	at org.jclouds.compute.internal.BaseComputeService.createNodesInGroup(BaseComputeService.java:226)
	at org.jclouds.compute.internal.BaseComputeService.createNodesInGroup(BaseComputeService.java:234)
	at org.jclouds.compute.internal.BaseComputeServiceLiveTest$1.call(BaseComputeServiceLiveTest.java:438)
	at org.jclouds.compute.internal.BaseComputeServiceLiveTest$1.call(BaseComputeServiceLiveTest.java:436)
	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:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)
	at java.lang.Thread.getStackTrace(Thread.java:1503)
	at org.jclouds.compute.internal.BaseComputeServiceLiveTest.testConcurrentUseOfComputeServiceToCreateNodes(BaseComputeServiceLiveTest.java:436)
	... 21 more


Results :

Failed tests:   setup(org.jclouds.glesys.features.DomainApiLiveTest): useGlesysNameServer
  testFromTemplate(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest): root password cannot be null
  testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest): no image matched predicate: And(nullEqualToIsParentOrIsGrandparentOfCurrentLocation(),And(osFamily(ubuntu),osVersion(^8.04$),os64Bit(true)))
  testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest): no image matched predicate: And(nullEqualToIsParentOrIsGrandparentOfCurrentLocation(),And(osFamily(ubuntu),osVersion(^10.04$),os64Bit(true)))
  testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest): no image matched predicate: And(nullEqualToIsParentOrIsGrandparentOfCurrentLocation(),And(osFamily(debian),osVersion(^5.0$),os64Bit(true)))
  testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest): no image matched predicate: And(nullEqualToIsParentOrIsGrandparentOfCurrentLocation(),And(osFamily(ubuntu),osVersion(^10.04$),os64Bit(false)))
  testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest): no image matched predicate: And(nullEqualToIsParentOrIsGrandparentOfCurrentLocation(),And(osFamily(debian),osVersion(^5.0$),os64Bit(false)))
  testTemplateBuilderCanFind(org.jclouds.glesys.compute.GleSYSTemplateBuilderLiveTest): no image matched predicate: And(nullEqualToIsParentOrIsGrandparentOfCurrentLocation(),And(osFamily(windows),osVersion(^2008$),os64Bit(true)))
  testOptionToNotBlock(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest): root password cannot be null
  setup(org.jclouds.glesys.features.IpApiLiveTest): command: POST https://api.glesys.com/server/create/format/json HTTP/1.1 failed with response: HTTP/1.1 400 Bad Request; content: [{"response":{"status":{"code":400,"timestamp":"2013-04-28T01:32:56+02:00","text":"The templatename is not a template. Allowed: Centos 5, Centos 5 64-bit, Centos 6 32-bit, Centos 6 64-bit, Debian 6.0 32-bit, Debian 6.0 64-bit, Gentoo 64-bit, Scientific Linux 6, Scientific Linux 6 64-bit, Ubuntu 11.04 64-bit, Ubuntu 12.04 LTS 32-bit, Ubuntu 12.04 LTS 64-bit\n"},"debug":{"input":{"hostname":"adrianc-ip","rootpassword":"547cce20e2d44444bec1bcc0d04dc542","datacenter":"Falkenberg","platform":"OpenVZ","templatename":"Ubuntu 10.04 LTS 32-bit","disksize":"5","memorysize":"512","cpucores":"1","transfer":"50"}}}}]
  setup(org.jclouds.glesys.features.EmailAccountApiLiveTest): useGlesysNameServer
  setup(org.jclouds.glesys.features.ServerApiLiveTest): command: POST https://api.glesys.com/server/create/format/json HTTP/1.1 failed with response: HTTP/1.1 400 Bad Request; content: [{"response":{"status":{"code":400,"timestamp":"2013-04-28T01:33:05+02:00","text":"The templatename is not a template. Allowed: Centos 5, Centos 5 64-bit, Centos 6 32-bit, Centos 6 64-bit, Debian 6.0 32-bit, Debian 6.0 64-bit, Gentoo 64-bit, Scientific Linux 6, Scientific Linux 6 64-bit, Ubuntu 11.04 64-bit, Ubuntu 12.04 LTS 32-bit, Ubuntu 12.04 LTS 64-bit\n"},"debug":{"input":{"hostname":"adrianc-server","rootpassword":"0fb6fa2eab244b7682643658b826f02d","datacenter":"Falkenberg","platform":"OpenVZ","templatename":"Ubuntu 10.04 LTS 32-bit","disksize":"5","memorysize":"512","cpucores":"1","transfer":"50"}}}}]
  testAScriptExecutionAfterBootWithBasicTemplate(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest): root password cannot be null
  testConcurrentUseOfComputeServiceToCreateNodes(org.jclouds.glesys.compute.GleSYSComputeServiceLiveTest): org.jclouds.compute.RunNodesException: error running 1 node group(twin0) location(Falkenberg) image(Ubuntu 12.04 x64) size(datacenter(Falkenberg)platform(Xen)cpuCores(1)memorySizeMB(768)diskSizeGB(5)) options({blockOnPort:seconds=22:300, inboundPorts=[22, 8080], transferGB=50, ip=any})(..)

Tests run: 169, Failures: 14, Errors: 0, Skipped: 54

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8:16.603s
[INFO] Finished at: Sat Apr 27 16:40:40 PDT 2013
[INFO] Final Memory: 19M/125M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test (integration) on project glesys: There are test failures.
[ERROR] 
[ERROR] Please refer to /private/tmp/jclouds/providers/glesys/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
