[INFO] Scanning for projects...
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for org.jclouds.provider:stratogen-vcloud-mycloud:bundle:1.5.0-SNAPSHOT
[WARNING] 'parent.relativePath' of POM org.jclouds:jclouds-project:1.5.0-SNAPSHOT (/Users/adriancole/workspace/git/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.5.0-SNAPSHOT, /Users/adriancole/workspace/git/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 StratoGen vCloud MyCloud provider 1.5.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ stratogen-vcloud-mycloud ---
[INFO] Deleting /Users/adriancole/workspace/git/jclouds/providers/stratogen-vcloud-mycloud/target
[INFO] 
[INFO] --- maven-enforcer-plugin:1.0.1:enforce (enforce-maven) @ stratogen-vcloud-mycloud ---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.0.1:enforce (enforce-banned-dependencies) @ stratogen-vcloud-mycloud ---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.0.1:enforce (enforce-java) @ stratogen-vcloud-mycloud ---
[INFO] 
[INFO] --- maven-remote-resources-plugin:1.2.1:process (process-remote-resources) @ stratogen-vcloud-mycloud ---
[INFO] 
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ stratogen-vcloud-mycloud ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/adriancole/workspace/git/jclouds/providers/stratogen-vcloud-mycloud/src/main/clojure
[INFO] Copying 1 resource
[INFO] Copying 2 resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ stratogen-vcloud-mycloud ---
[INFO] Compiling 2 source files to /Users/adriancole/workspace/git/jclouds/providers/stratogen-vcloud-mycloud/target/classes
[INFO] 
[INFO] --- maven-resources-plugin:2.5:testResources (default-testResources) @ stratogen-vcloud-mycloud ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/adriancole/workspace/git/jclouds/providers/stratogen-vcloud-mycloud/src/test/clojure
[INFO] Copying 1 resource
[INFO] Copying 2 resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ stratogen-vcloud-mycloud ---
[INFO] Compiling 11 source files to /Users/adriancole/workspace/git/jclouds/providers/stratogen-vcloud-mycloud/target/test-classes
[INFO] 
[INFO] --- maven-surefire-plugin:2.12:test (default-test) @ stratogen-vcloud-mycloud ---
[INFO] Surefire report directory: /Users/adriancole/workspace/git/jclouds/providers/stratogen-vcloud-mycloud/target/surefire-reports
[INFO] Using configured provider org.apache.maven.surefire.testng.TestNGProvider

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.jclouds.stratogen.vcloud.mycloud.StratoGenVCloudMyCloudProviderTest
Configuring TestNG with: org.apache.maven.surefire.testng.conf.TestNGMapConfigurator@6686fe26
Starting test testAllContains(org.jclouds.stratogen.vcloud.mycloud.StratoGenVCloudMyCloudProviderTest)
Starting test testOfApiContains(org.jclouds.stratogen.vcloud.mycloud.StratoGenVCloudMyCloudProviderTest)
Starting test testTransformableToContains(org.jclouds.stratogen.vcloud.mycloud.StratoGenVCloudMyCloudProviderTest)
Starting test testWithId(org.jclouds.stratogen.vcloud.mycloud.StratoGenVCloudMyCloudProviderTest)
[pool-2-thread-1] Test testAllContains(org.jclouds.stratogen.vcloud.mycloud.StratoGenVCloudMyCloudProviderTest) succeeded: 13ms
Test suite progress: tests succeeded: 1, failed: 0, skipped: 0.
[pool-2-thread-3] Test testTransformableToContains(org.jclouds.stratogen.vcloud.mycloud.StratoGenVCloudMyCloudProviderTest) succeeded: 17ms
Test suite progress: tests succeeded: 2, failed: 0, skipped: 0.
[pool-2-thread-4] Test testWithId(org.jclouds.stratogen.vcloud.mycloud.StratoGenVCloudMyCloudProviderTest) succeeded: 14ms
Test suite progress: tests succeeded: 3, failed: 0, skipped: 0.
[pool-2-thread-2] Test testOfApiContains(org.jclouds.stratogen.vcloud.mycloud.StratoGenVCloudMyCloudProviderTest) succeeded: 24ms
Test suite progress: tests succeeded: 4, failed: 0, skipped: 0.
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.978 sec

Results :

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

[INFO] 
[INFO] --- clojure-maven-plugin:1.3.9:test (test-clojure) @ stratogen-vcloud-mycloud ---

Testing com.theoryinpractise.clojure.testrunner

Ran 0 tests containing 0 assertions.
0 failures, 0 errors.
[INFO] 
[INFO] --- maven-bundle-plugin:2.3.7:bundle (default-bundle) @ stratogen-vcloud-mycloud ---
[INFO] 
[INFO] --- maven-source-plugin:2.1.2:jar-no-fork (attach-sources) @ stratogen-vcloud-mycloud ---
[INFO] META-INF already added, skipping
[INFO] META-INF already added, skipping
[INFO] META-INF/LICENSE.txt already added, skipping
[INFO] META-INF/NOTICE.txt already added, skipping
[INFO] Building jar: /Users/adriancole/workspace/git/jclouds/providers/stratogen-vcloud-mycloud/target/stratogen-vcloud-mycloud-1.5.0-SNAPSHOT-sources.jar
[INFO] META-INF already added, skipping
[INFO] META-INF already added, skipping
[INFO] META-INF/LICENSE.txt already added, skipping
[INFO] META-INF/NOTICE.txt already added, skipping
[INFO] 
[INFO] --- maven-javadoc-plugin:2.8.1:jar (javadoc) @ stratogen-vcloud-mycloud ---
[INFO] Skipping javadoc generation
[INFO] 
[INFO] --- maven-jar-plugin:2.4:test-jar (default) @ stratogen-vcloud-mycloud ---
[INFO] Building jar: /Users/adriancole/workspace/git/jclouds/providers/stratogen-vcloud-mycloud/target/stratogen-vcloud-mycloud-1.5.0-SNAPSHOT-tests.jar
[INFO] 
[INFO] --- maven-surefire-plugin:2.12:test (integration) @ stratogen-vcloud-mycloud ---
[INFO] Surefire report directory: /Users/adriancole/workspace/git/jclouds/providers/stratogen-vcloud-mycloud/target/surefire-reports
[INFO] Using configured provider org.apache.maven.surefire.testng.TestNGProvider

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running TestSuite
Configuring TestNG with: org.apache.maven.surefire.testng.conf.TestNGMapConfigurator@19968e23
Starting test testCompareSizes(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
Starting test testFindCatalogIsWriteableIfNotVersion1_5(org.jclouds.stratogen.vcloud.mycloud.features.StratoGenVCloudMyCloudCatalogClientLiveTest)
Starting test testGetVApp(org.jclouds.stratogen.vcloud.mycloud.features.StratoGenVCloudMyCloudVAppClientLiveTest)
Starting test testListOrgs(org.jclouds.stratogen.vcloud.mycloud.features.StratoGenVCloudMyCloudOrgClientLiveTest)
Starting test testCompareSizes(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest)
[TestNG] Test testGetVApp(org.jclouds.stratogen.vcloud.mycloud.features.StratoGenVCloudMyCloudVAppClientLiveTest) succeeded: 6519ms
Test suite progress: tests succeeded: 1, failed: 0, skipped: 0.
Starting test testCaptureVApp(org.jclouds.stratogen.vcloud.mycloud.features.StratoGenVCloudMyCloudVAppTemplateClientLiveTest)
[TestNG] Test testListOrgs(org.jclouds.stratogen.vcloud.mycloud.features.StratoGenVCloudMyCloudOrgClientLiveTest) succeeded: 7205ms
Test suite progress: tests succeeded: 2, failed: 0, skipped: 0.
[TestNG] Test testFindCatalogIsWriteableIfNotVersion1_5(org.jclouds.stratogen.vcloud.mycloud.features.StratoGenVCloudMyCloudCatalogClientLiveTest) failed.
Test suite progress: tests succeeded: 2, failed: 1, skipped: 0.
Starting test testGetCatalog(org.jclouds.stratogen.vcloud.mycloud.features.StratoGenVCloudMyCloudCatalogClientLiveTest)
Starting test testExtendedOptionsWithCustomizationScript(org.jclouds.stratogen.vcloud.mycloud.features.StratoGenVCloudMyCloudVmClientLiveTest)
[TestNG] Test testGetCatalog(org.jclouds.stratogen.vcloud.mycloud.features.StratoGenVCloudMyCloudCatalogClientLiveTest) succeeded: 3533ms
Test suite progress: tests succeeded: 3, failed: 1, skipped: 0.
smallest [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-134af01d-5684-4c26-85e0-3945c1df94d4, providerId=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-134af01d-5684-4c26-85e0-3945c1df94d4, name=Ubuntu server 11.04 64bit no GUI (base), processors=[[cores=1.0, speed=1.0]], ram=1024, volumes=[[id=0, type=LOCAL, size=50.0, device=null, durable=true, isBootDevice=true]], hypervisor=VMware, supportsImage=idEquals(https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-134af01d-5684-4c26-85e0-3945c1df94d4), tags=[]]
fastest [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-3a906c43-9d46-4c53-9cd4-32d242d6b941, providerId=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-3a906c43-9d46-4c53-9cd4-32d242d6b941, name=Vyatta 6.2 Firewall Appliance, processors=[[cores=1.0, speed=1.0]], ram=512, volumes=[[id=0, type=LOCAL, size=4.0, device=null, durable=true, isBootDevice=true]], hypervisor=VMware, supportsImage=idEquals(https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-3a906c43-9d46-4c53-9cd4-32d242d6b941), tags=[]]
biggest [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-3835131f-7675-4478-b466-ae955d704997, providerId=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-3835131f-7675-4478-b466-ae955d704997, name=CentOS 6.0 GUI (lamp), processors=[[cores=1.0, speed=1.0]], ram=2048, volumes=[[id=0, type=LOCAL, size=50.0, device=null, durable=true, isBootDevice=true]], hypervisor=VMware, supportsImage=idEquals(https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-3835131f-7675-4478-b466-ae955d704997), tags=[]]
[TestNG] Test testCompareSizes(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 46501ms
Test suite progress: tests succeeded: 4, failed: 1, skipped: 0.
Starting test testFromTemplate(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testFromTemplate(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) failed.
Test suite progress: tests succeeded: 4, failed: 2, skipped: 0.
Starting test testGetAssignableLocations(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
location [id=https://mycloud.stratogen.net/api/v1.0/vdc/712149e0-a241-4dbc-8d06-d4a9d6f5af75, scope=ZONE, description=jClouds, parent=https://mycloud.stratogen.net/api/v1.0/org/4fc44942-ba30-4222-9977-a61fc6d5824c, iso3166Codes=[], metadata={}]
[TestNG] Test testGetAssignableLocations(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 5, failed: 2, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 5ms
Test suite progress: tests succeeded: 6, failed: 2, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 4ms
Test suite progress: tests succeeded: 7, failed: 2, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 6ms
Test suite progress: tests succeeded: 8, failed: 2, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 20ms
Test suite progress: tests succeeded: 9, failed: 2, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 3ms
Test suite progress: tests succeeded: 10, failed: 2, skipped: 0.
Starting test testTemplateBuilderCanUseImageId(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
Apr 24, 2012 3:23:13 AM org.jclouds.compute.internal.BaseComputeServiceLiveTest testCompareSizes
INFO: smallest [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-134af01d-5684-4c26-85e0-3945c1df94d4, providerId=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-134af01d-5684-4c26-85e0-3945c1df94d4, name=Ubuntu server 11.04 64bit no GUI (base), processors=[[cores=1.0, speed=1.0]], ram=1024, volumes=[[id=0, type=LOCAL, size=50.0, device=null, durable=true, isBootDevice=true]], hypervisor=VMware, supportsImage=idEquals(https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-134af01d-5684-4c26-85e0-3945c1df94d4), tags=[]]
Apr 24, 2012 3:23:13 AM org.jclouds.compute.internal.BaseComputeServiceLiveTest testCompareSizes
INFO: fastest [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-3a906c43-9d46-4c53-9cd4-32d242d6b941, providerId=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-3a906c43-9d46-4c53-9cd4-32d242d6b941, name=Vyatta 6.2 Firewall Appliance, processors=[[cores=1.0, speed=1.0]], ram=512, volumes=[[id=0, type=LOCAL, size=4.0, device=null, durable=true, isBootDevice=true]], hypervisor=VMware, supportsImage=idEquals(https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-3a906c43-9d46-4c53-9cd4-32d242d6b941), tags=[]]
Apr 24, 2012 3:23:13 AM org.jclouds.compute.internal.BaseComputeServiceLiveTest testCompareSizes
INFO: biggest [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-3835131f-7675-4478-b466-ae955d704997, providerId=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-3835131f-7675-4478-b466-ae955d704997, name=CentOS 6.0 GUI (lamp), processors=[[cores=1.0, speed=1.0]], ram=2048, volumes=[[id=0, type=LOCAL, size=50.0, device=null, durable=true, isBootDevice=true]], hypervisor=VMware, supportsImage=idEquals(https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-3835131f-7675-4478-b466-ae955d704997), tags=[]]
[TestNG] Test testCompareSizes(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest) succeeded: 46336ms
Test suite progress: tests succeeded: 11, failed: 2, skipped: 0.
Starting test testCorrectAuthException(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest)
[TestNG] Test testCorrectAuthException(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest) failed.
Test suite progress: tests succeeded: 11, failed: 3, skipped: 0.
Starting test testCreateAndRunAService(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest)
[TestNG] Test testTemplateBuilderCanUseImageId(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) failed.
Test suite progress: tests succeeded: 11, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 12, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 13, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 14, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 15, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 16, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 17, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 18, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 19, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 20, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 21, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 22, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 23, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 24, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 25, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 26, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 27, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 5ms
Test suite progress: tests succeeded: 28, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 29, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 30, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 31, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 4ms
Test suite progress: tests succeeded: 32, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 33, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 34, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 35, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 36, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 37, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 38, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 39, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 40, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 41, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 42, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 43, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 44, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 45, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 46, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 47, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 48, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 49, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 50, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 51, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 52, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 53, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 54, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 4ms
Test suite progress: tests succeeded: 55, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 56, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 57, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 58, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 59, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 60, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 61, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 62, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 63, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 64, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 65, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 66, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 67, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 68, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 69, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 70, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 71, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 72, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 73, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 74, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 75, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 76, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 11ms
Test suite progress: tests succeeded: 77, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 78, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 79, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 80, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 81, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 82, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 83, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 84, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 85, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 86, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 87, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 88, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 89, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 90, failed: 4, skipped: 0.
Starting test testTemplateBuilderWithImageIdSpecified(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderWithImageIdSpecified(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) failed.
Test suite progress: tests succeeded: 90, failed: 5, skipped: 0.
Starting test testTemplateBuilderWithLoginUserSpecified(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
Apr 24, 2012 3:23:52 AM org.jclouds.logging.jdk.JDKLogger logError
SEVERE: catalogItems in https://mycloud.stratogen.net/api/v1.0/catalog/46f2e02e-a54a-4a7d-9f4b-b877dae67156, completed: 5/34, errors: 1, rate: 21ms/op
java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/30d600a4-015d-42f2-94a6-80e998903d62 HTTP/1.1; response: HTTP/1.1 200 OK; cause: java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/30d600a4-015d-42f2-94a6-80e998903d62 HTTP/1.1; cause: java.lang.NullPointerException
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:174)
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:146)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:88)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:54)
	at com.google.common.util.concurrent.Futures$3.apply(Futures.java:380)
	at com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:522)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/30d600a4-015d-42f2-94a6-80e998903d62 HTTP/1.1; cause: java.lang.NullPointerException
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:174)
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:146)
	at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:132)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:86)
	... 6 more
Caused by: java.lang.NullPointerException
	at org.jclouds.vcloud.xml.CatalogItemHandler.getResult(CatalogItemHandler.java:50)
	at org.jclouds.vcloud.xml.CatalogItemHandler.getResult(CatalogItemHandler.java:39)
	at org.jclouds.http.functions.ParseSax.doParse(ParseSax.java:142)
	at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:130)
	... 7 more
Apr 24, 2012 3:23:52 AM org.jclouds.logging.jdk.JDKLogger logError
SEVERE: catalogItems in https://mycloud.stratogen.net/api/v1.0/catalog/46f2e02e-a54a-4a7d-9f4b-b877dae67156, completed: 7/34, errors: 2, rate: 22ms/op
java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/d0f32203-bdc3-4618-9f21-8b5966dac67d HTTP/1.1; response: HTTP/1.1 200 OK; cause: java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/d0f32203-bdc3-4618-9f21-8b5966dac67d HTTP/1.1; cause: java.lang.NullPointerException
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:174)
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:146)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:88)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:54)
	at com.google.common.util.concurrent.Futures$3.apply(Futures.java:380)
	at com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:522)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/d0f32203-bdc3-4618-9f21-8b5966dac67d HTTP/1.1; cause: java.lang.NullPointerException
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:174)
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:146)
	at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:132)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:86)
	... 6 more
Caused by: java.lang.NullPointerException
	at org.jclouds.vcloud.xml.CatalogItemHandler.getResult(CatalogItemHandler.java:50)
	at org.jclouds.vcloud.xml.CatalogItemHandler.getResult(CatalogItemHandler.java:39)
	at org.jclouds.http.functions.ParseSax.doParse(ParseSax.java:142)
	at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:130)
	... 7 more
Apr 24, 2012 3:23:52 AM org.jclouds.logging.jdk.JDKLogger logError
SEVERE: catalogItems in https://mycloud.stratogen.net/api/v1.0/catalog/46f2e02e-a54a-4a7d-9f4b-b877dae67156, completed: 8/34, errors: 3, rate: 22ms/op
java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/26877f61-e66a-4bd7-adeb-9f6670cb3ffd HTTP/1.1; response: HTTP/1.1 200 OK; cause: java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/26877f61-e66a-4bd7-adeb-9f6670cb3ffd HTTP/1.1; cause: java.lang.NullPointerException
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:174)
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:146)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:88)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:54)
	at com.google.common.util.concurrent.Futures$3.apply(Futures.java:380)
	at com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:522)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/26877f61-e66a-4bd7-adeb-9f6670cb3ffd HTTP/1.1; cause: java.lang.NullPointerException
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:174)
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:146)
	at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:132)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:86)
	... 6 more
Caused by: java.lang.NullPointerException
	at org.jclouds.vcloud.xml.CatalogItemHandler.getResult(CatalogItemHandler.java:50)
	at org.jclouds.vcloud.xml.CatalogItemHandler.getResult(CatalogItemHandler.java:39)
	at org.jclouds.http.functions.ParseSax.doParse(ParseSax.java:142)
	at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:130)
	... 7 more
Apr 24, 2012 3:23:53 AM org.jclouds.logging.jdk.JDKLogger logError
SEVERE: catalogItems in https://mycloud.stratogen.net/api/v1.0/catalog/46f2e02e-a54a-4a7d-9f4b-b877dae67156, completed: 27/34, errors: 4, rate: 45ms/op
java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/60029b08-f7b8-401a-b838-c2c8c7627284 HTTP/1.1; response: HTTP/1.1 200 OK; cause: java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/60029b08-f7b8-401a-b838-c2c8c7627284 HTTP/1.1; cause: java.lang.NullPointerException
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:174)
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:146)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:88)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:54)
	at com.google.common.util.concurrent.Futures$3.apply(Futures.java:380)
	at com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:522)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/60029b08-f7b8-401a-b838-c2c8c7627284 HTTP/1.1; cause: java.lang.NullPointerException
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:174)
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:146)
	at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:132)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:86)
	... 6 more
Caused by: java.lang.NullPointerException
	at org.jclouds.vcloud.xml.CatalogItemHandler.getResult(CatalogItemHandler.java:50)
	at org.jclouds.vcloud.xml.CatalogItemHandler.getResult(CatalogItemHandler.java:39)
	at org.jclouds.http.functions.ParseSax.doParse(ParseSax.java:142)
	at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:130)
	... 7 more
Apr 24, 2012 3:23:53 AM org.jclouds.logging.jdk.JDKLogger logError
SEVERE: catalogItems in https://mycloud.stratogen.net/api/v1.0/catalog/46f2e02e-a54a-4a7d-9f4b-b877dae67156, completed: 29/34, errors: 5, rate: 45ms/op
java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/3b9fce49-b433-4034-a386-4c5010d6d0b6 HTTP/1.1; response: HTTP/1.1 200 OK; cause: java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/3b9fce49-b433-4034-a386-4c5010d6d0b6 HTTP/1.1; cause: java.lang.NullPointerException
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:174)
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:146)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:88)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:54)
	at com.google.common.util.concurrent.Futures$3.apply(Futures.java:380)
	at com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:522)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/3b9fce49-b433-4034-a386-4c5010d6d0b6 HTTP/1.1; cause: java.lang.NullPointerException
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:174)
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:146)
	at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:132)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:86)
	... 6 more
Caused by: java.lang.NullPointerException
	at org.jclouds.vcloud.xml.CatalogItemHandler.getResult(CatalogItemHandler.java:50)
	at org.jclouds.vcloud.xml.CatalogItemHandler.getResult(CatalogItemHandler.java:39)
	at org.jclouds.http.functions.ParseSax.doParse(ParseSax.java:142)
	at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:130)
	... 7 more
Apr 24, 2012 3:23:53 AM org.jclouds.logging.jdk.JDKLogger logError
SEVERE: catalogItems in https://mycloud.stratogen.net/api/v1.0/catalog/46f2e02e-a54a-4a7d-9f4b-b877dae67156, completed: 29/34, errors: 5, rate: 45ms/op
java.lang.RuntimeException: catalogItems in https://mycloud.stratogen.net/api/v1.0/catalog/46f2e02e-a54a-4a7d-9f4b-b877dae67156, completed: 29/34, errors: 5, rate: 45ms/op
	at org.jclouds.concurrent.FutureIterables.awaitCompletion(FutureIterables.java:157)
	at org.jclouds.concurrent.FutureIterables.transformParallel(FutureIterables.java:101)
	at org.jclouds.concurrent.FutureIterables.transformParallel(FutureIterables.java:86)
	at org.jclouds.vcloud.functions.AllCatalogItemsInCatalog.apply(AllCatalogItemsInCatalog.java:64)
	at org.jclouds.vcloud.functions.AllCatalogItemsInCatalog.apply(AllCatalogItemsInCatalog.java:47)
	at org.jclouds.vcloud.functions.AllCatalogItemsInOrg$1.apply(AllCatalogItemsInOrg.java:54)
	at org.jclouds.vcloud.functions.AllCatalogItemsInOrg$1.apply(AllCatalogItemsInOrg.java:51)
	at com.google.common.collect.Iterators$9.transform(Iterators.java:845)
	at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
	at com.google.common.collect.Iterables$3.next(Iterables.java:512)
	at com.google.common.collect.Iterables$3.next(Iterables.java:505)
	at com.google.common.collect.Iterators$6.hasNext(Iterators.java:583)
	at com.google.common.collect.Iterators$8.computeNext(Iterators.java:686)
	at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
	at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
	at org.jclouds.concurrent.FutureIterables.transformParallel(FutureIterables.java:97)
	at org.jclouds.concurrent.FutureIterables.transformParallel(FutureIterables.java:86)
	at org.jclouds.vcloud.functions.VAppTemplatesForCatalogItems.apply(VAppTemplatesForCatalogItems.java:82)
	at org.jclouds.vcloud.functions.VAppTemplatesForCatalogItems.apply(VAppTemplatesForCatalogItems.java:51)
	at org.jclouds.vcloud.functions.VAppTemplatesInOrg.apply(VAppTemplatesInOrg.java:57)
	at org.jclouds.vcloud.functions.VAppTemplatesInOrg.apply(VAppTemplatesInOrg.java:41)
	at org.jclouds.vcloud.suppliers.VAppTemplatesSupplier$1$1.call(VAppTemplatesSupplier.java:82)
	at org.jclouds.vcloud.suppliers.VAppTemplatesSupplier$1$1.call(VAppTemplatesSupplier.java:78)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
Apr 24, 2012 3:23:57 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple vms are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-076476fd-fc76-40a6-aa1f-3dd1d86bfa0d, name=Windows Server 2008 R2, vdc=null, description=null, status=OFF]
Apr 24, 2012 3:23:57 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple network connections are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-09dad59a-58d6-45b7-8985-ffcc980aacd3, name=RHEL 5.5, vdc=null, description=null, status=OFF]
Apr 24, 2012 3:23:57 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple network connections are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-11320d13-6972-4525-bba8-7e0364502a03, name=CentOS 5.5 LAMP, vdc=null, description=null, status=OFF]
Apr 24, 2012 3:23:58 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple vms are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-35232b61-6ded-471d-9cd9-05e830b96c42, name=Debian 601a 64bit no GUI (base), vdc=null, description=null, status=OFF]
Apr 24, 2012 3:24:00 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple vms are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-39e97315-5d6a-4f07-bca5-0e384a20c5cb, name=CentOS 6.0 GUI (base), vdc=null, description=null, status=OFF]
Apr 24, 2012 3:24:05 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple vms are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-4c17213b-a498-402d-98b8-815b47d8659a, name=Windows 2008 R2 Standard (SQL Express) with SP1, vdc=null, description=null, status=OFF]
Apr 24, 2012 3:24:07 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple network connections are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-8eaea48f-8404-496e-aeb0-c2a2571a2689, name=Windows 2008 R2 Standard (base) no service pack, vdc=null, description=null, status=OFF]
Apr 24, 2012 3:24:08 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple network connections are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-9f41b30a-52c3-40d5-9092-a2672e8a90c1, name=Vyatta 6.3 Firewall appliance, vdc=null, description=This is a special place-holder used for disconnected network interfaces., status=OFF]
Apr 24, 2012 3:24:10 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple network connections are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-c891c574-df3c-4a3d-bf38-9ec5269feaf3, name=CentOS 5.5 , vdc=null, description=null, status=OFF]
Apr 24, 2012 3:24:14 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple network connections are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-ea9cbdf9-f0a9-43c0-94b1-4b76118a634d, name=CentOS 5.5 No GUI, vdc=null, description=null, status=OFF]
Apr 24, 2012 3:24:18 AM org.jclouds.logging.jdk.JDKLogger logError
SEVERE: catalogItems in https://mycloud.stratogen.net/api/v1.0/catalog/46f2e02e-a54a-4a7d-9f4b-b877dae67156, completed: 10/34, errors: 1, rate: 23ms/op
java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/e28243fd-a2a5-4d2d-a9a6-c898449a0730 HTTP/1.1; response: HTTP/1.1 200 OK; cause: java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/e28243fd-a2a5-4d2d-a9a6-c898449a0730 HTTP/1.1; cause: java.lang.NullPointerException
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:174)
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:146)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:88)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:54)
	at com.google.common.util.concurrent.Futures$3.apply(Futures.java:380)
	at com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:522)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/e28243fd-a2a5-4d2d-a9a6-c898449a0730 HTTP/1.1; cause: java.lang.NullPointerException
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:174)
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:146)
	at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:132)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:86)
	... 6 more
Caused by: java.lang.NullPointerException
	at org.jclouds.vcloud.xml.CatalogItemHandler.getResult(CatalogItemHandler.java:50)
	at org.jclouds.vcloud.xml.CatalogItemHandler.getResult(CatalogItemHandler.java:39)
	at org.jclouds.http.functions.ParseSax.doParse(ParseSax.java:142)
	at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:130)
	... 7 more
Apr 24, 2012 3:24:19 AM org.jclouds.logging.jdk.JDKLogger logError
SEVERE: catalogItems in https://mycloud.stratogen.net/api/v1.0/catalog/46f2e02e-a54a-4a7d-9f4b-b877dae67156, completed: 27/34, errors: 2, rate: 45ms/op
java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/8fc49ad3-69dd-4e99-ad06-da2071a32fa5 HTTP/1.1; response: HTTP/1.1 200 OK; cause: java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/8fc49ad3-69dd-4e99-ad06-da2071a32fa5 HTTP/1.1; cause: java.lang.NullPointerException
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:174)
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:146)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:88)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:54)
	at com.google.common.util.concurrent.Futures$3.apply(Futures.java:380)
	at com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:522)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/8fc49ad3-69dd-4e99-ad06-da2071a32fa5 HTTP/1.1; cause: java.lang.NullPointerException
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:174)
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:146)
	at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:132)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:86)
	... 6 more
Caused by: java.lang.NullPointerException
	at org.jclouds.vcloud.xml.CatalogItemHandler.getResult(CatalogItemHandler.java:50)
	at org.jclouds.vcloud.xml.CatalogItemHandler.getResult(CatalogItemHandler.java:39)
	at org.jclouds.http.functions.ParseSax.doParse(ParseSax.java:142)
	at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:130)
	... 7 more
Apr 24, 2012 3:24:19 AM org.jclouds.logging.jdk.JDKLogger logError
SEVERE: catalogItems in https://mycloud.stratogen.net/api/v1.0/catalog/46f2e02e-a54a-4a7d-9f4b-b877dae67156, completed: 30/34, errors: 3, rate: 46ms/op
java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/60029b08-f7b8-401a-b838-c2c8c7627284 HTTP/1.1; response: HTTP/1.1 200 OK; cause: java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/60029b08-f7b8-401a-b838-c2c8c7627284 HTTP/1.1; cause: java.lang.NullPointerException
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:174)
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:146)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:88)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:54)
	at com.google.common.util.concurrent.Futures$3.apply(Futures.java:380)
	at com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:522)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/60029b08-f7b8-401a-b838-c2c8c7627284 HTTP/1.1; cause: java.lang.NullPointerException
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:174)
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:146)
	at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:132)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:86)
	... 6 more
Caused by: java.lang.NullPointerException
	at org.jclouds.vcloud.xml.CatalogItemHandler.getResult(CatalogItemHandler.java:50)
	at org.jclouds.vcloud.xml.CatalogItemHandler.getResult(CatalogItemHandler.java:39)
	at org.jclouds.http.functions.ParseSax.doParse(ParseSax.java:142)
	at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:130)
	... 7 more
Apr 24, 2012 3:24:19 AM org.jclouds.logging.jdk.JDKLogger logError
SEVERE: catalogItems in https://mycloud.stratogen.net/api/v1.0/catalog/46f2e02e-a54a-4a7d-9f4b-b877dae67156, completed: 31/34, errors: 3, rate: 46ms/op
java.lang.RuntimeException: catalogItems in https://mycloud.stratogen.net/api/v1.0/catalog/46f2e02e-a54a-4a7d-9f4b-b877dae67156, completed: 31/34, errors: 3, rate: 46ms/op
	at org.jclouds.concurrent.FutureIterables.awaitCompletion(FutureIterables.java:157)
	at org.jclouds.concurrent.FutureIterables.transformParallel(FutureIterables.java:101)
	at org.jclouds.concurrent.FutureIterables.transformParallel(FutureIterables.java:86)
	at org.jclouds.vcloud.functions.AllCatalogItemsInCatalog.apply(AllCatalogItemsInCatalog.java:64)
	at org.jclouds.vcloud.functions.AllCatalogItemsInCatalog.apply(AllCatalogItemsInCatalog.java:47)
	at org.jclouds.vcloud.functions.AllCatalogItemsInOrg$1.apply(AllCatalogItemsInOrg.java:54)
	at org.jclouds.vcloud.functions.AllCatalogItemsInOrg$1.apply(AllCatalogItemsInOrg.java:51)
	at com.google.common.collect.Iterators$9.transform(Iterators.java:845)
	at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
	at com.google.common.collect.Iterables$3.next(Iterables.java:512)
	at com.google.common.collect.Iterables$3.next(Iterables.java:505)
	at com.google.common.collect.Iterators$6.hasNext(Iterators.java:583)
	at com.google.common.collect.Iterators$8.computeNext(Iterators.java:686)
	at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
	at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
	at org.jclouds.concurrent.FutureIterables.transformParallel(FutureIterables.java:97)
	at org.jclouds.concurrent.FutureIterables.transformParallel(FutureIterables.java:86)
	at org.jclouds.vcloud.functions.VAppTemplatesForCatalogItems.apply(VAppTemplatesForCatalogItems.java:82)
	at org.jclouds.vcloud.functions.VAppTemplatesForCatalogItems.apply(VAppTemplatesForCatalogItems.java:51)
	at org.jclouds.vcloud.functions.VAppTemplatesInOrg.apply(VAppTemplatesInOrg.java:57)
	at org.jclouds.vcloud.functions.VAppTemplatesInOrg.apply(VAppTemplatesInOrg.java:41)
	at org.jclouds.vcloud.suppliers.VAppTemplatesSupplier$1$1.call(VAppTemplatesSupplier.java:82)
	at org.jclouds.vcloud.suppliers.VAppTemplatesSupplier$1$1.call(VAppTemplatesSupplier.java:78)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
Apr 24, 2012 3:24:23 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple vms are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-076476fd-fc76-40a6-aa1f-3dd1d86bfa0d, name=Windows Server 2008 R2, vdc=null, description=null, status=OFF]
Apr 24, 2012 3:24:23 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple network connections are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-09dad59a-58d6-45b7-8985-ffcc980aacd3, name=RHEL 5.5, vdc=null, description=null, status=OFF]
Apr 24, 2012 3:24:23 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple network connections are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-11320d13-6972-4525-bba8-7e0364502a03, name=CentOS 5.5 LAMP, vdc=null, description=null, status=OFF]
Apr 24, 2012 3:24:23 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple vms are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-388d747d-c63e-46b7-a499-b60f6156b004, name=CentOS 5.6 No GUI (base), vdc=null, description=null, status=OFF]
Apr 24, 2012 3:24:25 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple network connections are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-8eaea48f-8404-496e-aeb0-c2a2571a2689, name=Windows 2008 R2 Standard (base) no service pack, vdc=null, description=null, status=OFF]
Apr 24, 2012 3:24:25 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple network connections are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-9f41b30a-52c3-40d5-9092-a2672e8a90c1, name=Vyatta 6.3 Firewall appliance, vdc=null, description=This is a special place-holder used for disconnected network interfaces., status=OFF]
Apr 24, 2012 3:24:25 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple network connections are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-c891c574-df3c-4a3d-bf38-9ec5269feaf3, name=CentOS 5.5 , vdc=null, description=null, status=OFF]
Apr 24, 2012 3:24:25 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple vms are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-d0ebb6ed-3312-4a84-aec0-a305f8dbba11, name=CentOS 5.6 No GUI (LAMP), vdc=null, description=null, status=OFF]
Apr 24, 2012 3:24:25 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple vms are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-df2b92cc-aa57-4c15-958e-73c8e985ea70, name=Debian 601a 32bit GUI (base), vdc=null, description=null, status=OFF]
Apr 24, 2012 3:24:25 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple network connections are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-ea9cbdf9-f0a9-43c0-94b1-4b76118a634d, name=CentOS 5.5 No GUI, vdc=null, description=null, status=OFF]
[TestNG] Test testExtendedOptionsWithCustomizationScript(org.jclouds.stratogen.vcloud.mycloud.features.StratoGenVCloudMyCloudVmClientLiveTest) failed.
Test suite progress: tests succeeded: 90, failed: 6, skipped: 0.
Starting test testGetThumbnailOfVm(org.jclouds.stratogen.vcloud.mycloud.features.StratoGenVCloudMyCloudVmClientLiveTest)
[TestNG] Test testGetThumbnailOfVm(org.jclouds.stratogen.vcloud.mycloud.features.StratoGenVCloudMyCloudVmClientLiveTest) succeeded: 3928ms
Test suite progress: tests succeeded: 91, failed: 6, skipped: 0.
Starting test testGetVm(org.jclouds.stratogen.vcloud.mycloud.features.StratoGenVCloudMyCloudVmClientLiveTest)
Apr 24, 2012 3:24:31 AM org.jclouds.logging.jdk.JDKLogger logError
SEVERE: catalogItems in https://mycloud.stratogen.net/api/v1.0/catalog/46f2e02e-a54a-4a7d-9f4b-b877dae67156, completed: 3/34, errors: 1, rate: 21ms/op
java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/d0f32203-bdc3-4618-9f21-8b5966dac67d HTTP/1.1; response: HTTP/1.1 200 OK; cause: java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/d0f32203-bdc3-4618-9f21-8b5966dac67d HTTP/1.1; cause: java.lang.NullPointerException
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:174)
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:146)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:88)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:54)
	at com.google.common.util.concurrent.Futures$3.apply(Futures.java:380)
	at com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:522)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/d0f32203-bdc3-4618-9f21-8b5966dac67d HTTP/1.1; cause: java.lang.NullPointerException
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:174)
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:146)
	at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:132)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:86)
	... 6 more
Caused by: java.lang.NullPointerException
	at org.jclouds.vcloud.xml.CatalogItemHandler.getResult(CatalogItemHandler.java:50)
	at org.jclouds.vcloud.xml.CatalogItemHandler.getResult(CatalogItemHandler.java:39)
	at org.jclouds.http.functions.ParseSax.doParse(ParseSax.java:142)
	at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:130)
	... 7 more
Apr 24, 2012 3:24:32 AM org.jclouds.logging.jdk.JDKLogger logError
SEVERE: catalogItems in https://mycloud.stratogen.net/api/v1.0/catalog/46f2e02e-a54a-4a7d-9f4b-b877dae67156, completed: 33/34, errors: 1, rate: 46ms/op
java.lang.RuntimeException: catalogItems in https://mycloud.stratogen.net/api/v1.0/catalog/46f2e02e-a54a-4a7d-9f4b-b877dae67156, completed: 33/34, errors: 1, rate: 46ms/op
	at org.jclouds.concurrent.FutureIterables.awaitCompletion(FutureIterables.java:157)
	at org.jclouds.concurrent.FutureIterables.transformParallel(FutureIterables.java:101)
	at org.jclouds.concurrent.FutureIterables.transformParallel(FutureIterables.java:86)
	at org.jclouds.vcloud.functions.AllCatalogItemsInCatalog.apply(AllCatalogItemsInCatalog.java:64)
	at org.jclouds.vcloud.functions.AllCatalogItemsInCatalog.apply(AllCatalogItemsInCatalog.java:47)
	at org.jclouds.vcloud.functions.AllCatalogItemsInOrg$1.apply(AllCatalogItemsInOrg.java:54)
	at org.jclouds.vcloud.functions.AllCatalogItemsInOrg$1.apply(AllCatalogItemsInOrg.java:51)
	at com.google.common.collect.Iterators$9.transform(Iterators.java:845)
	at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
	at com.google.common.collect.Iterables$3.next(Iterables.java:512)
	at com.google.common.collect.Iterables$3.next(Iterables.java:505)
	at com.google.common.collect.Iterators$6.hasNext(Iterators.java:583)
	at com.google.common.collect.Iterators$8.computeNext(Iterators.java:686)
	at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
	at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
	at org.jclouds.concurrent.FutureIterables.transformParallel(FutureIterables.java:97)
	at org.jclouds.concurrent.FutureIterables.transformParallel(FutureIterables.java:86)
	at org.jclouds.vcloud.functions.VAppTemplatesForCatalogItems.apply(VAppTemplatesForCatalogItems.java:82)
	at org.jclouds.vcloud.functions.VAppTemplatesForCatalogItems.apply(VAppTemplatesForCatalogItems.java:51)
	at org.jclouds.vcloud.functions.VAppTemplatesInOrg.apply(VAppTemplatesInOrg.java:57)
	at org.jclouds.vcloud.functions.VAppTemplatesInOrg.apply(VAppTemplatesInOrg.java:41)
	at org.jclouds.vcloud.suppliers.VAppTemplatesSupplier$1$1.call(VAppTemplatesSupplier.java:82)
	at org.jclouds.vcloud.suppliers.VAppTemplatesSupplier$1$1.call(VAppTemplatesSupplier.java:78)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
[TestNG] Test testGetVm(org.jclouds.stratogen.vcloud.mycloud.features.StratoGenVCloudMyCloudVmClientLiveTest) succeeded: 5277ms
Test suite progress: tests succeeded: 92, failed: 6, skipped: 0.
Apr 24, 2012 3:24:36 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple network connections are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-076476fd-fc76-40a6-aa1f-3dd1d86bfa0d, name=Windows Server 2008 R2, vdc=null, description=null, status=OFF]
Apr 24, 2012 3:24:36 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple network connections are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-09dad59a-58d6-45b7-8985-ffcc980aacd3, name=RHEL 5.5, vdc=null, description=null, status=OFF]
Apr 24, 2012 3:24:36 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple network connections are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-11320d13-6972-4525-bba8-7e0364502a03, name=CentOS 5.5 LAMP, vdc=null, description=null, status=OFF]
Apr 24, 2012 3:24:49 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple network connections are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-8eaea48f-8404-496e-aeb0-c2a2571a2689, name=Windows 2008 R2 Standard (base) no service pack, vdc=null, description=null, status=OFF]
Apr 24, 2012 3:24:50 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple network connections are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-9f41b30a-52c3-40d5-9092-a2672e8a90c1, name=Vyatta 6.3 Firewall appliance, vdc=null, description=This is a special place-holder used for disconnected network interfaces., status=OFF]
Apr 24, 2012 3:24:50 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple vms are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-a92be6c9-faff-4483-b445-1a43bc723c87, name=Debian 601a 32bit no GUI (base), vdc=null, description=null, status=OFF]
Apr 24, 2012 3:24:51 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple vms are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-c891c574-df3c-4a3d-bf38-9ec5269feaf3, name=CentOS 5.5 , vdc=null, description=null, status=OFF]
Apr 24, 2012 3:24:55 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple network connections are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-ea9cbdf9-f0a9-43c0-94b1-4b76118a634d, name=CentOS 5.5 No GUI, vdc=null, description=null, status=OFF]
Apr 24, 2012 3:25:00 AM org.jclouds.logging.jdk.JDKLogger logError
SEVERE: catalogItems in https://mycloud.stratogen.net/api/v1.0/catalog/46f2e02e-a54a-4a7d-9f4b-b877dae67156, completed: 4/34, errors: 1, rate: 22ms/op
java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/42543fde-d640-4f86-9c94-427648061d08 HTTP/1.1; response: HTTP/1.1 200 OK; cause: java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/42543fde-d640-4f86-9c94-427648061d08 HTTP/1.1; cause: java.lang.NullPointerException
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:174)
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:146)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:88)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:54)
	at com.google.common.util.concurrent.Futures$3.apply(Futures.java:380)
	at com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:522)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/42543fde-d640-4f86-9c94-427648061d08 HTTP/1.1; cause: java.lang.NullPointerException
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:174)
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:146)
	at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:132)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:86)
	... 6 more
Caused by: java.lang.NullPointerException
	at org.jclouds.vcloud.xml.CatalogItemHandler.getResult(CatalogItemHandler.java:50)
	at org.jclouds.vcloud.xml.CatalogItemHandler.getResult(CatalogItemHandler.java:39)
	at org.jclouds.http.functions.ParseSax.doParse(ParseSax.java:142)
	at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:130)
	... 7 more
Apr 24, 2012 3:25:00 AM org.jclouds.logging.jdk.JDKLogger logError
SEVERE: catalogItems in https://mycloud.stratogen.net/api/v1.0/catalog/46f2e02e-a54a-4a7d-9f4b-b877dae67156, completed: 14/34, errors: 2, rate: 23ms/op
java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/6cd9fb63-4923-4c3e-b29a-aa03fb700382 HTTP/1.1; response: HTTP/1.1 200 OK; cause: java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/6cd9fb63-4923-4c3e-b29a-aa03fb700382 HTTP/1.1; cause: java.lang.NullPointerException
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:174)
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:146)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:88)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:54)
	at com.google.common.util.concurrent.Futures$3.apply(Futures.java:380)
	at com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:522)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/6cd9fb63-4923-4c3e-b29a-aa03fb700382 HTTP/1.1; cause: java.lang.NullPointerException
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:174)
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:146)
	at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:132)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:86)
	... 6 more
Caused by: java.lang.NullPointerException
	at org.jclouds.vcloud.xml.CatalogItemHandler.getResult(CatalogItemHandler.java:50)
	at org.jclouds.vcloud.xml.CatalogItemHandler.getResult(CatalogItemHandler.java:39)
	at org.jclouds.http.functions.ParseSax.doParse(ParseSax.java:142)
	at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:130)
	... 7 more
Apr 24, 2012 3:25:00 AM org.jclouds.logging.jdk.JDKLogger logError
SEVERE: catalogItems in https://mycloud.stratogen.net/api/v1.0/catalog/46f2e02e-a54a-4a7d-9f4b-b877dae67156, completed: 19/34, errors: 3, rate: 44ms/op
java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/77cba0bc-6f1c-4022-b996-7f5155e8818a HTTP/1.1; response: HTTP/1.1 200 OK; cause: java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/77cba0bc-6f1c-4022-b996-7f5155e8818a HTTP/1.1; cause: java.lang.NullPointerException
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:174)
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:146)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:88)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:54)
	at com.google.common.util.concurrent.Futures$3.apply(Futures.java:380)
	at com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:522)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/77cba0bc-6f1c-4022-b996-7f5155e8818a HTTP/1.1; cause: java.lang.NullPointerException
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:174)
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:146)
	at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:132)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:86)
	... 6 more
Caused by: java.lang.NullPointerException
	at org.jclouds.vcloud.xml.CatalogItemHandler.getResult(CatalogItemHandler.java:50)
	at org.jclouds.vcloud.xml.CatalogItemHandler.getResult(CatalogItemHandler.java:39)
	at org.jclouds.http.functions.ParseSax.doParse(ParseSax.java:142)
	at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:130)
	... 7 more
Apr 24, 2012 3:25:00 AM org.jclouds.logging.jdk.JDKLogger logError
SEVERE: catalogItems in https://mycloud.stratogen.net/api/v1.0/catalog/46f2e02e-a54a-4a7d-9f4b-b877dae67156, completed: 23/34, errors: 4, rate: 45ms/op
java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/55b1ca67-811e-4632-9b39-ee272c21949f HTTP/1.1; response: HTTP/1.1 200 OK; cause: java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/55b1ca67-811e-4632-9b39-ee272c21949f HTTP/1.1; cause: java.lang.NullPointerException
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:174)
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:146)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:88)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:54)
	at com.google.common.util.concurrent.Futures$3.apply(Futures.java:380)
	at com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:522)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/55b1ca67-811e-4632-9b39-ee272c21949f HTTP/1.1; cause: java.lang.NullPointerException
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:174)
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:146)
	at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:132)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:86)
	... 6 more
Caused by: java.lang.NullPointerException
	at org.jclouds.vcloud.xml.CatalogItemHandler.getResult(CatalogItemHandler.java:50)
	at org.jclouds.vcloud.xml.CatalogItemHandler.getResult(CatalogItemHandler.java:39)
	at org.jclouds.http.functions.ParseSax.doParse(ParseSax.java:142)
	at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:130)
	... 7 more
Apr 24, 2012 3:25:00 AM org.jclouds.logging.jdk.JDKLogger logError
SEVERE: catalogItems in https://mycloud.stratogen.net/api/v1.0/catalog/46f2e02e-a54a-4a7d-9f4b-b877dae67156, completed: 28/34, errors: 5, rate: 45ms/op
java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/8fc49ad3-69dd-4e99-ad06-da2071a32fa5 HTTP/1.1; response: HTTP/1.1 200 OK; cause: java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/8fc49ad3-69dd-4e99-ad06-da2071a32fa5 HTTP/1.1; cause: java.lang.NullPointerException
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:174)
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:146)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:88)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:54)
	at com.google.common.util.concurrent.Futures$3.apply(Futures.java:380)
	at com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:522)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.RuntimeException: request: GET https://mycloud.stratogen.net/api/v1.0/catalogItem/8fc49ad3-69dd-4e99-ad06-da2071a32fa5 HTTP/1.1; cause: java.lang.NullPointerException
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:174)
	at org.jclouds.http.functions.ParseSax.addDetailsAndPropagate(ParseSax.java:146)
	at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:132)
	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:86)
	... 6 more
Caused by: java.lang.NullPointerException
	at org.jclouds.vcloud.xml.CatalogItemHandler.getResult(CatalogItemHandler.java:50)
	at org.jclouds.vcloud.xml.CatalogItemHandler.getResult(CatalogItemHandler.java:39)
	at org.jclouds.http.functions.ParseSax.doParse(ParseSax.java:142)
	at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:130)
	... 7 more
Apr 24, 2012 3:25:00 AM org.jclouds.logging.jdk.JDKLogger logError
SEVERE: catalogItems in https://mycloud.stratogen.net/api/v1.0/catalog/46f2e02e-a54a-4a7d-9f4b-b877dae67156, completed: 29/34, errors: 5, rate: 45ms/op
java.lang.RuntimeException: catalogItems in https://mycloud.stratogen.net/api/v1.0/catalog/46f2e02e-a54a-4a7d-9f4b-b877dae67156, completed: 29/34, errors: 5, rate: 45ms/op
	at org.jclouds.concurrent.FutureIterables.awaitCompletion(FutureIterables.java:157)
	at org.jclouds.concurrent.FutureIterables.transformParallel(FutureIterables.java:101)
	at org.jclouds.concurrent.FutureIterables.transformParallel(FutureIterables.java:86)
	at org.jclouds.vcloud.functions.AllCatalogItemsInCatalog.apply(AllCatalogItemsInCatalog.java:64)
	at org.jclouds.vcloud.functions.AllCatalogItemsInCatalog.apply(AllCatalogItemsInCatalog.java:47)
	at org.jclouds.vcloud.functions.AllCatalogItemsInOrg$1.apply(AllCatalogItemsInOrg.java:54)
	at org.jclouds.vcloud.functions.AllCatalogItemsInOrg$1.apply(AllCatalogItemsInOrg.java:51)
	at com.google.common.collect.Iterators$9.transform(Iterators.java:845)
	at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
	at com.google.common.collect.Iterables$3.next(Iterables.java:512)
	at com.google.common.collect.Iterables$3.next(Iterables.java:505)
	at com.google.common.collect.Iterators$6.hasNext(Iterators.java:583)
	at com.google.common.collect.Iterators$8.computeNext(Iterators.java:686)
	at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
	at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
	at org.jclouds.concurrent.FutureIterables.transformParallel(FutureIterables.java:97)
	at org.jclouds.concurrent.FutureIterables.transformParallel(FutureIterables.java:86)
	at org.jclouds.vcloud.functions.VAppTemplatesForCatalogItems.apply(VAppTemplatesForCatalogItems.java:82)
	at org.jclouds.vcloud.functions.VAppTemplatesForCatalogItems.apply(VAppTemplatesForCatalogItems.java:51)
	at org.jclouds.vcloud.functions.VAppTemplatesInOrg.apply(VAppTemplatesInOrg.java:57)
	at org.jclouds.vcloud.functions.VAppTemplatesInOrg.apply(VAppTemplatesInOrg.java:41)
	at org.jclouds.vcloud.suppliers.VAppTemplatesSupplier$1$1.call(VAppTemplatesSupplier.java:82)
	at org.jclouds.vcloud.suppliers.VAppTemplatesSupplier$1$1.call(VAppTemplatesSupplier.java:78)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
Apr 24, 2012 3:25:04 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple network connections are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-076476fd-fc76-40a6-aa1f-3dd1d86bfa0d, name=Windows Server 2008 R2, vdc=null, description=null, status=OFF]
Apr 24, 2012 3:25:04 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple network connections are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-09dad59a-58d6-45b7-8985-ffcc980aacd3, name=RHEL 5.5, vdc=null, description=null, status=OFF]
Apr 24, 2012 3:25:04 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple network connections are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-11320d13-6972-4525-bba8-7e0364502a03, name=CentOS 5.5 LAMP, vdc=null, description=null, status=OFF]
Apr 24, 2012 3:25:04 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple vms are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-35232b61-6ded-471d-9cd9-05e830b96c42, name=Debian 601a 64bit no GUI (base), vdc=null, description=null, status=OFF]
Apr 24, 2012 3:25:04 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple vms are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-3af04ede-d6b9-467c-9630-405792d2dc1d, name=CentOS 6.0 No GUI (lamp), vdc=null, description=null, status=OFF]
Apr 24, 2012 3:25:04 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple network connections are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-8eaea48f-8404-496e-aeb0-c2a2571a2689, name=Windows 2008 R2 Standard (base) no service pack, vdc=null, description=null, status=OFF]
Apr 24, 2012 3:25:04 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple network connections are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-9f41b30a-52c3-40d5-9092-a2672e8a90c1, name=Vyatta 6.3 Firewall appliance, vdc=null, description=This is a special place-holder used for disconnected network interfaces., status=OFF]
Apr 24, 2012 3:25:04 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple vms are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-a92be6c9-faff-4483-b445-1a43bc723c87, name=Debian 601a 32bit no GUI (base), vdc=null, description=null, status=OFF]
Apr 24, 2012 3:25:04 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple vms are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-c891c574-df3c-4a3d-bf38-9ec5269feaf3, name=CentOS 5.5 , vdc=null, description=null, status=OFF]
Apr 24, 2012 3:25:04 AM org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: Unsupported: multiple network connections are not supported: [id=https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-ea9cbdf9-f0a9-43c0-94b1-4b76118a634d, name=CentOS 5.5 No GUI, vdc=null, description=null, status=OFF]
[TestNG] Test testTemplateBuilderWithLoginUserSpecified(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) succeeded: 77658ms
Test suite progress: tests succeeded: 93, failed: 6, skipped: 0.
Starting test testDefaultTemplateBuilder(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest)
[TestNG] Test testDefaultTemplateBuilder(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest) failed.
Test suite progress: tests succeeded: 93, failed: 7, skipped: 0.
Apr 24, 2012 3:28:13 AM org.jclouds.compute.internal.BaseComputeServiceLiveTest testCreateAndRunAService
INFO: << available node(https://mycloud.stratogen.net/api/v1.0/vApp/vapp-48268160-ce7f-486c-beff-430bacad89dc) os([name=Ubuntu 64-Bit, family=ubuntu, version=, arch=null, is64Bit=true, description=Ubuntu Linux (64-bit), osType=UBUNTU_64]) in 292s
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[TestNG] Test testCaptureVApp(org.jclouds.stratogen.vcloud.mycloud.features.StratoGenVCloudMyCloudVAppTemplateClientLiveTest) succeeded: 414393ms
Test suite progress: tests succeeded: 94, failed: 7, skipped: 0.
Starting test testFindVAppTemplate(org.jclouds.stratogen.vcloud.mycloud.features.StratoGenVCloudMyCloudVAppTemplateClientLiveTest)
Apr 24, 2012 3:32:25 AM org.jclouds.compute.internal.BaseComputeServiceLiveTest testCreateAndRunAService
INFO: << configured node(https://mycloud.stratogen.net/api/v1.0/vApp/vapp-48268160-ce7f-486c-beff-430bacad89dc) with java full version "1.6.0_22-b22" and JBoss 7.0.2.Final in 245s
[TestNG] Test testFindVAppTemplate(org.jclouds.stratogen.vcloud.mycloud.features.StratoGenVCloudMyCloudVAppTemplateClientLiveTest) succeeded: 177878ms
Test suite progress: tests succeeded: 95, failed: 7, skipped: 0.
Starting test testGetOvfEnvelopeForVAppTemplate(org.jclouds.stratogen.vcloud.mycloud.features.StratoGenVCloudMyCloudVAppTemplateClientLiveTest)
Apr 24, 2012 3:32:36 AM org.jclouds.compute.internal.BaseComputeServiceLiveTest trackAvailabilityOfProcessOnNode
INFO: << initial start of jboss on node(https://mycloud.stratogen.net/api/v1.0/vApp/vapp-48268160-ce7f-486c-beff-430bacad89dc) [backgroundProcessMilliseconds=7870, socketOpenMilliseconds=830, reportedStartupTimeMilliseconds=2140]
Apr 24, 2012 3:32:47 AM org.jclouds.compute.internal.BaseComputeServiceLiveTest trackAvailabilityOfProcessOnNode
INFO: << warm start of jboss on node(https://mycloud.stratogen.net/api/v1.0/vApp/vapp-48268160-ce7f-486c-beff-430bacad89dc) [backgroundProcessMilliseconds=4139, socketOpenMilliseconds=618, reportedStartupTimeMilliseconds=2099]
[TestNG] Test testGetOvfEnvelopeForVAppTemplate(org.jclouds.stratogen.vcloud.mycloud.features.StratoGenVCloudMyCloudVAppTemplateClientLiveTest) failed.
Test suite progress: tests succeeded: 95, failed: 8, skipped: 0.
Starting test testGetVAppTemplate(org.jclouds.stratogen.vcloud.mycloud.features.StratoGenVCloudMyCloudVAppTemplateClientLiveTest)
[TestNG] Test testCreateAndRunAService(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest) succeeded: 601792ms
Test suite progress: tests succeeded: 96, failed: 8, skipped: 0.
Starting test testGetAssignableLocations(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest)
Apr 24, 2012 3:33:22 AM org.jclouds.compute.internal.BaseComputeServiceLiveTest testGetAssignableLocations
WARNING: location [id=https://mycloud.stratogen.net/api/v1.0/vdc/712149e0-a241-4dbc-8d06-d4a9d6f5af75, scope=ZONE, description=jClouds, parent=https://mycloud.stratogen.net/api/v1.0/org/4fc44942-ba30-4222-9977-a61fc6d5824c, iso3166Codes=[], metadata={}]
[TestNG] Test testGetAssignableLocations(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest) succeeded: 812ms
Test suite progress: tests succeeded: 97, failed: 8, skipped: 0.
Starting test testImagesCache(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest)
[TestNG] Test testImagesCache(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest) succeeded: 7013ms
Test suite progress: tests succeeded: 98, failed: 8, skipped: 0.
Starting test testListImages(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest)
[TestNG] Test testListImages(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 99, failed: 8, skipped: 0.
Starting test testListSizes(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest)
[TestNG] Test testListSizes(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest) succeeded: 6562ms
Test suite progress: tests succeeded: 100, failed: 8, skipped: 0.
Starting test setServiceDefaults(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest)
[TestNG] Test setServiceDefaults(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 101, failed: 8, skipped: 0.
Starting test testOptionToNotBlock(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest)
[TestNG] Test testOptionToNotBlock(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 102, failed: 8, skipped: 0.
Starting test testCorrectExceptionRunningNodesNotFound(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest)
[TestNG] Test testCorrectExceptionRunningNodesNotFound(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest) succeeded: 1582ms
Test suite progress: tests succeeded: 103, failed: 8, skipped: 0.
Starting test testAScriptExecutionAfterBootWithBasicTemplate(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest)
[TestNG] Test testGetVAppTemplate(org.jclouds.stratogen.vcloud.mycloud.features.StratoGenVCloudMyCloudVAppTemplateClientLiveTest) succeeded: 60393ms
Test suite progress: tests succeeded: 104, failed: 8, skipped: 0.
[TestNG] Test testAScriptExecutionAfterBootWithBasicTemplate(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest) failed.
Test suite progress: tests succeeded: 104, failed: 9, skipped: 0.
Starting test testCreateTwoNodesWithRunScript(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest)
[TestNG] Test testCreateTwoNodesWithRunScript(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest) succeeded: 449013ms
Test suite progress: tests succeeded: 105, failed: 9, skipped: 0.
Starting test testTemplateMatch(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest)
[TestNG] Test testTemplateMatch(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest) succeeded: 15413ms
Test suite progress: tests succeeded: 106, failed: 9, skipped: 0.
Starting test testCreateAnotherNodeWithANewContextToEnsureSharedMemIsntRequired(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest)
Apr 24, 2012 3:46:19 AM org.jclouds.compute.internal.BaseComputeServiceLiveTest testCreateAnotherNodeWithANewContextToEnsureSharedMemIsntRequired
INFO: creating another node based on existing nodes' location: [id=https://mycloud.stratogen.net/api/v1.0/vdc/712149e0-a241-4dbc-8d06-d4a9d6f5af75, scope=ZONE, description=jClouds, parent=https://mycloud.stratogen.net/api/v1.0/org/4fc44942-ba30-4222-9977-a61fc6d5824c, iso3166Codes=[], metadata={}]
[TestNG] Test testCreateAnotherNodeWithANewContextToEnsureSharedMemIsntRequired(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest) failed.
Test suite progress: tests succeeded: 106, failed: 10, skipped: 0.
[TestNG] Test testCredentialsCache(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 106, failed: 10, skipped: 1.
[TestNG] Test testGet(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 106, failed: 10, skipped: 2.
[TestNG] Test testReboot(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 106, failed: 10, skipped: 3.
[TestNG] Test testSuspendResume(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 106, failed: 10, skipped: 4.
[TestNG] Test testGetNodesWithDetails(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 106, failed: 10, skipped: 5.
[TestNG] Test testListNodes(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 106, failed: 10, skipped: 6.
[TestNG] Test testDestroyNodes(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 106, failed: 10, skipped: 7.
Tests run: 123, Failures: 10, Errors: 0, Skipped: 7, Time elapsed: 1,587.189 sec <<< FAILURE!

Results :

Failed tests:   testFindCatalogIsWriteableIfNotVersion1_5(org.jclouds.stratogen.vcloud.mycloud.features.StratoGenVCloudMyCloudCatalogClientLiveTest): expected:<true> but was:<false>
  testFromTemplate(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest): no image matched predicate: And(nullEqualToIsParentOrIsGrandparentOfCurrentLocation(),And(osFamily(ubuntu),osName(Ubuntu 64-Bit),osDescription(Ubuntu Linux (64-bit)),osVersion(),os64Bit(true)),imageName(Ubuntu server 11.04 64bit no GUI (base)),imageDescription(^Ubuntu server 11.04 64bit no GUI (base)$))
  testCorrectAuthException(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest): (..)
  testTemplateBuilderCanUseImageId(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest): imageId(https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-134af01d-5684-4c26-85e0-3945c1df94d4) not found
  testTemplateBuilderWithImageIdSpecified(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest): no image matched predicate: And(nullEqualToIsParentOrIsGrandparentOfCurrentLocation(),imageName(Ubuntu server 11.04 64bit no GUI (base)))
  testExtendedOptionsWithCustomizationScript(org.jclouds.stratogen.vcloud.mycloud.features.StratoGenVCloudMyCloudVmClientLiveTest): error running 1 node group(vcdcus) location(https://mycloud.stratogen.net/api/v1.0/vdc/712149e0-a241-4dbc-8d06-d4a9d6f5af75) image(https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-134af01d-5684-4c26-85e0-3945c1df94d4) size(https://mycloud.stratogen.net/api/v1.0/vAppTemplate/vappTemplate-134af01d-5684-4c26-85e0-3945c1df94d4) options([customizationScript=true, description=vcdcus, ipAddressAllocationMode=POOL, inboundPorts=[22], privateKey=false, publicKey=false, runScript=false, port:seconds=22:180, userMetadata: {}])(..)
  testDefaultTemplateBuilder(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudTemplateBuilderLiveTest): no image matched predicate: And(nullEqualToIsParentOrIsGrandparentOfCurrentLocation(),imageName(Ubuntu server 11.04 64bit no GUI (base)))
  testGetOvfEnvelopeForVAppTemplate(org.jclouds.stratogen.vcloud.mycloud.features.StratoGenVCloudMyCloudVAppTemplateClientLiveTest): this handler cannot currently create envelopes with multiple virtual systems
  testAScriptExecutionAfterBootWithBasicTemplate(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest)
  testCreateAnotherNodeWithANewContextToEnsureSharedMemIsntRequired(org.jclouds.stratogen.vcloud.mycloud.compute.StratoGenVCloudMyCloudComputeServiceLiveTest): no image matched predicate: And(nullEqualToIsParentOrIsGrandparentOfCurrentLocation(),And(osFamily(ubuntu),osName(Ubuntu 64-Bit),osDescription(Ubuntu Linux (64-bit)),osVersion(),os64Bit(true)),imageName(Ubuntu server 11.04 64bit no GUI (base)),imageDescription(^Ubuntu server 11.04 64bit no GUI (base)$))

Tests run: 123, Failures: 10, Errors: 0, Skipped: 7

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 26:41.043s
[INFO] Finished at: Tue Apr 24 03:48:51 PDT 2012
[INFO] Final Memory: 23M/265M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12:test (integration) on project stratogen-vcloud-mycloud: There are test failures.
[ERROR] 
[ERROR] Please refer to /Users/adriancole/workspace/git/jclouds/providers/stratogen-vcloud-mycloud/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
