diff --git a/README.txt b/README.txt index a5311e4791..96ac14d007 100644 --- a/README.txt +++ b/README.txt @@ -32,7 +32,8 @@ our dev version is 1.0-SNAPSHOT our compute api supports: aws-ec2, gogrid, cloudservers-us, stub (in-memory), deltacloud, cloudservers-uk, vcloud (generic), ec2 (generic), byon, nova, trmk-ecloud, trmk-vcloudexpress, eucalyptus (generic), - cloudsigma-zrh, elasticstack(generic), bluelock-vclouddirector, + cloudsigma-zrh, elasticstack(generic), bluelock-vcloud-vcenterprise, + bluelock-vcloud-zone01, slicehost, eucalyptus-partnercloud-ec2, elastichosts-lon-p (Peer 1), elastichosts-sat-p (Peer 1), elastichosts-lon-b (BlueSquare), openhosting-east1, serverlove-z1-man, skalicloud-sdg-my diff --git a/allcompute/pom.xml b/allcompute/pom.xml index 406dc89efe..465001759a 100644 --- a/allcompute/pom.xml +++ b/allcompute/pom.xml @@ -104,6 +104,16 @@ bluelock-vcdirector ${project.version} + + org.jclouds.provider + bluelock-vcloud-vcenterprise + ${project.version} + + + org.jclouds.provider + bluelock-vcloud-zone01 + ${project.version} + org.jclouds.provider gogrid diff --git a/compute/src/main/clojure/org/jclouds/compute2.clj b/compute/src/main/clojure/org/jclouds/compute2.clj index 00d3ef2ed3..88afc74f13 100644 --- a/compute/src/main/clojure/org/jclouds/compute2.clj +++ b/compute/src/main/clojure/org/jclouds/compute2.clj @@ -20,19 +20,22 @@ (ns org.jclouds.compute2 "A clojure binding to the jclouds ComputeService. - Current supported providers are: - [aws-ec2, eucualyptus-partnercloud-ec2, elastichosts-lon-b, - cloudservers-uk, cloudservers-us, byon, cloudsigma-zrh, stub, - trmk-ecloud, trmk-vcloudexpress, vcloud, bluelock, eucalyptus, - slicehost, elastichosts-lon-p, elastichosts-sat-p, elastichosts, - openhosting-east1, serverlove-z1-man, skalicloud-sdg-my, deltacloud] + jclouds supports many compute providers including Amazon EC2 (aws-ec2), + Rackspace Cloud Servers (cloudservers-us), GoGrid (gogrid), and BlueLock + vCloud (bluelock-vcloud-zone01). There are over a dozen to choose from. + + Current supported providers are available via the following dependency: + org.jclouds/jclouds-allcompute + + You can inquire about which providers are loaded via the following: + (seq (org.jclouds.providers.Providers/allCompute)) Here's an example of getting some compute configuration from rackspace: (use 'org.jclouds.compute2) (use 'clojure.pprint) - (def provider \"cloudservers\") + (def provider \"cloudservers-us\") (def provider-identity \"username\") (def provider-credential \"password\") diff --git a/core/src/main/resources/rest.properties b/core/src/main/resources/rest.properties index af8b0e75e3..910dcf59cc 100644 --- a/core/src/main/resources/rest.properties +++ b/core/src/main/resources/rest.properties @@ -95,6 +95,15 @@ cloudservers-us.propertiesbuilder=org.jclouds.rackspace.cloudservers.CloudServer bluelock-vcdirector.contextbuilder=org.jclouds.vcloud.bluelock.BluelockVCloudDirectorContextBuilder bluelock-vcdirector.propertiesbuilder=org.jclouds.vcloud.bluelock.BluelockVCloudDirectorPropertiesBuilder +bluelock-vcdirector.contextbuilder=org.jclouds.vcloud.bluelock.BluelockVCloudDirectorContextBuilder +bluelock-vcdirector.propertiesbuilder=org.jclouds.vcloud.bluelock.BluelockVCloudDirectorPropertiesBuilder + +bluelock-vcloud-vcenterprise.contextbuilder=org.jclouds.bluelock.vcloud.vcenterprise.BluelockVCloudEnterpriseContextBuilder +bluelock-vcloud-vcenterprise.propertiesbuilder=org.jclouds.bluelock.vcloud.vcenterprise.BluelockVCloudEnterprisePropertiesBuilder + +bluelock-vcloud-zone01.contextbuilder=org.jclouds.bluelock.vcloud.zone01.BluelockVCloudZone01ContextBuilder +bluelock-vcloud-zone01.propertiesbuilder=org.jclouds.bluelock.vcloud.zone01.BluelockVCloudZone01PropertiesBuilder + gogrid.propertiesbuilder=org.jclouds.gogrid.GoGridPropertiesBuilder gogrid.contextbuilder=org.jclouds.gogrid.GoGridContextBuilder diff --git a/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/BluelockVCloudDirectorContextBuilder.java b/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/BluelockVCloudDirectorContextBuilder.java index 8df5951a8e..c479c0d1ee 100644 --- a/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/BluelockVCloudDirectorContextBuilder.java +++ b/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/BluelockVCloudDirectorContextBuilder.java @@ -42,6 +42,7 @@ import com.google.inject.Module; * * @author Adrian Cole */ +@Deprecated public class BluelockVCloudDirectorContextBuilder extends VCloudContextBuilder { public BluelockVCloudDirectorContextBuilder(Properties props) { diff --git a/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/BluelockVCloudDirectorPropertiesBuilder.java b/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/BluelockVCloudDirectorPropertiesBuilder.java index 899a3912ee..d16116f559 100644 --- a/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/BluelockVCloudDirectorPropertiesBuilder.java +++ b/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/BluelockVCloudDirectorPropertiesBuilder.java @@ -23,6 +23,7 @@ import static org.jclouds.Constants.PROPERTY_ISO3166_CODES; import static org.jclouds.vcloud.reference.VCloudConstants.PROPERTY_VCLOUD_DEFAULT_NETWORK; import java.util.Properties; +import java.util.logging.Logger; import org.jclouds.vcloud.VCloudPropertiesBuilder; @@ -31,9 +32,11 @@ import org.jclouds.vcloud.VCloudPropertiesBuilder; * * @author Adrian Cole */ +@Deprecated public class BluelockVCloudDirectorPropertiesBuilder extends VCloudPropertiesBuilder { @Override protected Properties defaultProperties() { + Logger.getAnonymousLogger().warning("this provider is deprecated: please use \"bluelock-vcloud-vcenterprise\""); Properties properties = super.defaultProperties(); properties.setProperty(PROPERTY_ISO3166_CODES, "US-IN"); properties.setProperty(PROPERTY_ENDPOINT, "https://vcenterprise.bluelock.com/api"); diff --git a/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/BluelockVCloudDirectorProviderMetadata.java b/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/BluelockVCloudDirectorProviderMetadata.java index 17c285f082..418f57a83f 100644 --- a/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/BluelockVCloudDirectorProviderMetadata.java +++ b/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/BluelockVCloudDirectorProviderMetadata.java @@ -27,10 +27,11 @@ import org.jclouds.providers.BaseProviderMetadata; import org.jclouds.providers.ProviderMetadata; /** - * Implementation of {@link org.jclouds.types.ProviderMetadata} for Bluelock vCloud Director. + * Implementation of {@link org.jclouds.types.ProviderMetadata} for Bluelock vCloud Enterprise. * * @author Adrian Cole */ +@Deprecated public class BluelockVCloudDirectorProviderMetadata extends BaseProviderMetadata { /** @@ -54,7 +55,7 @@ public class BluelockVCloudDirectorProviderMetadata extends BaseProviderMetadata */ @Override public String getName() { - return "Bluelock vCloud Director"; + return "Bluelock vCloud Enterprise"; } /** diff --git a/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/config/BluelockVCloudDirectorRestClientModule.java b/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/config/BluelockVCloudDirectorRestClientModule.java index 656876228e..3847087c83 100644 --- a/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/config/BluelockVCloudDirectorRestClientModule.java +++ b/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/config/BluelockVCloudDirectorRestClientModule.java @@ -27,6 +27,7 @@ import org.jclouds.vcloud.config.VCloudRestClientModule; * * @author Adrian Cole */ +@Deprecated @RequiresHttp @ConfiguresRestClient public class BluelockVCloudDirectorRestClientModule extends VCloudRestClientModule { diff --git a/providers/bluelock-vcloud-vcenterprise/pom.xml b/providers/bluelock-vcloud-vcenterprise/pom.xml new file mode 100644 index 0000000000..ef0a7d2ca7 --- /dev/null +++ b/providers/bluelock-vcloud-vcenterprise/pom.xml @@ -0,0 +1,164 @@ + + + + + 4.0.0 + + org.jclouds + jclouds-project + 1.0-SNAPSHOT + ../../project/pom.xml + + org.jclouds.provider + bluelock-vcloud-vcenterprise + jclouds Bluelock vCloud Enterprise provider + vCloud implementation targeted to Bluelock vCloud Enterprise + bundle + + + https://vcenterprise.bluelock.com/api + 1.0 + FIXME_IDENTITY + FIXME_CREDENTIAL + + + + + org.jclouds.api + vcloud + ${project.version} + + + org.jclouds.common + vcloud-common + ${project.version} + test-jar + test + + + org.jclouds.api + vcloud + ${project.version} + test-jar + test + + + org.jclouds + jclouds-core + ${project.version} + test-jar + test + + + org.jclouds + jclouds-compute + ${project.version} + test-jar + test + + + org.jclouds.driver + jclouds-log4j + ${project.version} + test + + + org.jclouds.driver + jclouds-jsch + ${project.version} + test + + + com.jcraft + jsch + test + + + log4j + log4j + 1.2.16 + test + + + + + + live + + + + org.apache.maven.plugins + maven-surefire-plugin + + + integration + integration-test + + test + + + + + test.bluelock-vcloud-vcenterprise.endpoint + ${test.bluelock-vcloud-vcenterprise.endpoint} + + + test.bluelock-vcloud-vcenterprise.apiversion + ${test.bluelock-vcloud-vcenterprise.apiversion} + + + test.bluelock-vcloud-vcenterprise.identity + ${test.bluelock-vcloud-vcenterprise.identity} + + + test.bluelock-vcloud-vcenterprise.credential + ${test.bluelock-vcloud-vcenterprise.credential} + + + + + + + + + + + + + + + org.apache.felix + maven-bundle-plugin + + + ${project.artifactId} + org.jclouds.bluelock.vcloud.vcenterprise.*;version="${project.version}" + org.jclouds.*;version="${project.version}",* + + + + + + + + diff --git a/providers/bluelock-vcloud-vcenterprise/src/main/java/org/jclouds/bluelock/vcloud/vcenterprise/BluelockVCloudEnterpriseContextBuilder.java b/providers/bluelock-vcloud-vcenterprise/src/main/java/org/jclouds/bluelock/vcloud/vcenterprise/BluelockVCloudEnterpriseContextBuilder.java new file mode 100644 index 0000000000..a5772afdfc --- /dev/null +++ b/providers/bluelock-vcloud-vcenterprise/src/main/java/org/jclouds/bluelock/vcloud/vcenterprise/BluelockVCloudEnterpriseContextBuilder.java @@ -0,0 +1,61 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.vcenterprise; + +import java.util.List; +import java.util.Properties; + +import org.jclouds.http.config.JavaUrlHttpCommandExecutorServiceModule; +import org.jclouds.logging.jdk.config.JDKLoggingModule; +import org.jclouds.vcloud.VCloudContextBuilder; +import org.jclouds.bluelock.vcloud.vcenterprise.config.BluelockVCloudEnterpriseRestClientModule; +import org.jclouds.vcloud.compute.config.VCloudComputeServiceContextModule; + +import com.google.inject.Injector; +import com.google.inject.Module; + +/** + * Creates {@link BlueLockVCloudComputeServiceContext} or {@link Injector} instances based on the + * most commonly requested arguments. + *

+ * Note that Threadsafe objects will be bound as singletons to the Injector or Context provided. + *

+ *

+ * If no Modules are specified, the default {@link JDKLoggingModule logging} and + * {@link JavaUrlHttpCommandExecutorServiceModule http transports} will be installed. + * + * @author Adrian Cole + */ +public class BluelockVCloudEnterpriseContextBuilder extends VCloudContextBuilder { + + public BluelockVCloudEnterpriseContextBuilder(Properties props) { + super(props); + } + + @Override + protected void addContextModule(List modules) { + modules.add(new VCloudComputeServiceContextModule()); + } + + @Override + protected void addClientModule(List modules) { + modules.add(new BluelockVCloudEnterpriseRestClientModule()); + } + +} diff --git a/providers/bluelock-vcloud-vcenterprise/src/main/java/org/jclouds/bluelock/vcloud/vcenterprise/BluelockVCloudEnterpriseContextBuilder.java.new b/providers/bluelock-vcloud-vcenterprise/src/main/java/org/jclouds/bluelock/vcloud/vcenterprise/BluelockVCloudEnterpriseContextBuilder.java.new new file mode 100644 index 0000000000..e69de29bb2 diff --git a/providers/bluelock-vcloud-vcenterprise/src/main/java/org/jclouds/bluelock/vcloud/vcenterprise/BluelockVCloudEnterprisePropertiesBuilder.java b/providers/bluelock-vcloud-vcenterprise/src/main/java/org/jclouds/bluelock/vcloud/vcenterprise/BluelockVCloudEnterprisePropertiesBuilder.java new file mode 100644 index 0000000000..5ee26e8d44 --- /dev/null +++ b/providers/bluelock-vcloud-vcenterprise/src/main/java/org/jclouds/bluelock/vcloud/vcenterprise/BluelockVCloudEnterprisePropertiesBuilder.java @@ -0,0 +1,47 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.vcenterprise; + +import static org.jclouds.Constants.PROPERTY_ENDPOINT; +import static org.jclouds.Constants.PROPERTY_ISO3166_CODES; +import static org.jclouds.vcloud.reference.VCloudConstants.PROPERTY_VCLOUD_DEFAULT_NETWORK; + +import java.util.Properties; + +import org.jclouds.vcloud.VCloudPropertiesBuilder; + +/** + * Builds properties used in bluelock VCloud Clients + * + * @author Adrian Cole + */ +public class BluelockVCloudEnterprisePropertiesBuilder extends VCloudPropertiesBuilder { + @Override + protected Properties defaultProperties() { + Properties properties = super.defaultProperties(); + properties.setProperty(PROPERTY_ISO3166_CODES, "US-IN"); + properties.setProperty(PROPERTY_ENDPOINT, "https://vcenterprise.bluelock.com/api"); + properties.setProperty(PROPERTY_VCLOUD_DEFAULT_NETWORK, "internet01"); + return properties; + } + + public BluelockVCloudEnterprisePropertiesBuilder(Properties properties) { + super(properties); + } +} diff --git a/providers/bluelock-vcloud-vcenterprise/src/main/java/org/jclouds/bluelock/vcloud/vcenterprise/BluelockVCloudEnterpriseProviderMetadata.java b/providers/bluelock-vcloud-vcenterprise/src/main/java/org/jclouds/bluelock/vcloud/vcenterprise/BluelockVCloudEnterpriseProviderMetadata.java new file mode 100644 index 0000000000..68a2cb71f6 --- /dev/null +++ b/providers/bluelock-vcloud-vcenterprise/src/main/java/org/jclouds/bluelock/vcloud/vcenterprise/BluelockVCloudEnterpriseProviderMetadata.java @@ -0,0 +1,116 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.vcenterprise; + +import com.google.common.collect.ImmutableSet; + +import java.net.URI; +import java.util.Set; + +import org.jclouds.providers.BaseProviderMetadata; +import org.jclouds.providers.ProviderMetadata; + +/** + * Implementation of {@link org.jclouds.types.ProviderMetadata} for Bluelock vCloud Director. + * + * @author Adrian Cole + */ +public class BluelockVCloudEnterpriseProviderMetadata extends BaseProviderMetadata { + + /** + * {@inheritDoc} + */ + @Override + public String getId() { + return "bluelock-vcloud-vcenterprise"; + } + + /** + * {@inheritDoc} + */ + @Override + public String getType() { + return ProviderMetadata.COMPUTE_TYPE; + } + + /** + * {@inheritDoc} + */ + @Override + public String getName() { + return "Bluelock vCloud Director"; + } + + /** + * {@inheritDoc} + */ + @Override + public String getIdentityName() { + return "User at Organization (user@org)"; + } + + /** + * {@inheritDoc} + */ + @Override + public String getCredentialName() { + return "Password"; + } + + /** + * {@inheritDoc} + */ + @Override + public URI getHomepage() { + return URI.create("http://www.bluelock.com/bluelock-cloud-hosting"); + } + + /** + * {@inheritDoc} + */ + @Override + public URI getConsole() { + return URI.create("https://vcenterprise.bluelock.com/cloud/"); + } + + /** + * {@inheritDoc} + */ + @Override + public URI getApiDocumentation() { + return URI.create("http://www.vmware.com/support/pubs/vcd_pubs.html"); + } + + /** + * {@inheritDoc} + */ + @Override + public Set getLinkedServices() { + return ImmutableSet.of("bluelock-vcloud-vcenterprise"); + } + + /** + * {@inheritDoc} + */ + @Override + public Set getIso3166Codes() { + return ImmutableSet.of("US-IN"); + } + +} diff --git a/providers/bluelock-vcloud-vcenterprise/src/main/java/org/jclouds/bluelock/vcloud/vcenterprise/config/BluelockVCloudEnterpriseRestClientModule.java b/providers/bluelock-vcloud-vcenterprise/src/main/java/org/jclouds/bluelock/vcloud/vcenterprise/config/BluelockVCloudEnterpriseRestClientModule.java new file mode 100644 index 0000000000..c28236a186 --- /dev/null +++ b/providers/bluelock-vcloud-vcenterprise/src/main/java/org/jclouds/bluelock/vcloud/vcenterprise/config/BluelockVCloudEnterpriseRestClientModule.java @@ -0,0 +1,34 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.vcenterprise.config; + +import org.jclouds.http.RequiresHttp; +import org.jclouds.rest.ConfiguresRestClient; +import org.jclouds.vcloud.config.VCloudRestClientModule; + +/** + * Configures the VCloud authentication service connection, including logging and http transport. + * + * @author Adrian Cole + */ +@RequiresHttp +@ConfiguresRestClient +public class BluelockVCloudEnterpriseRestClientModule extends VCloudRestClientModule { + +} diff --git a/providers/bluelock-vcloud-vcenterprise/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata b/providers/bluelock-vcloud-vcenterprise/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata new file mode 100644 index 0000000000..0b50f63dbc --- /dev/null +++ b/providers/bluelock-vcloud-vcenterprise/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata @@ -0,0 +1 @@ +org.jclouds.bluelock.vcloud.vcenterprise.BluelockVCloudEnterpriseProviderMetadata diff --git a/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/BluelockVCloudEnterpriseProviderTest.java b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/BluelockVCloudEnterpriseProviderTest.java new file mode 100644 index 0000000000..3f94f08223 --- /dev/null +++ b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/BluelockVCloudEnterpriseProviderTest.java @@ -0,0 +1,35 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.vcenterprise; + +import org.jclouds.providers.BaseProviderMetadataTest; +import org.jclouds.providers.ProviderMetadata; +import org.testng.annotations.Test; + +/** + * + * @author Adrian Cole + */ +@Test(groups = "unit", testName = "BluelockVCloudEnterpriseProviderTest") +public class BluelockVCloudEnterpriseProviderTest extends BaseProviderMetadataTest { + + public BluelockVCloudEnterpriseProviderTest() { + super(new BluelockVCloudEnterpriseProviderMetadata(), ProviderMetadata.COMPUTE_TYPE); + } +} diff --git a/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/DeprecatedBluelockVCloudEnterpriseClientLiveTest.java b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/DeprecatedBluelockVCloudEnterpriseClientLiveTest.java new file mode 100644 index 0000000000..1d3848e318 --- /dev/null +++ b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/DeprecatedBluelockVCloudEnterpriseClientLiveTest.java @@ -0,0 +1,35 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.vcenterprise; + +import org.jclouds.vcloud.DeprecatedVCloudClientLiveTest; +import org.testng.annotations.Test; + +/** + * + * @author Adrian Cole + */ +@Deprecated +@Test(groups = "live", singleThreaded = true, testName = "DeprecatedBluelockVCloudEnterpriseClientLiveTest") +public class DeprecatedBluelockVCloudEnterpriseClientLiveTest extends DeprecatedVCloudClientLiveTest { + public DeprecatedBluelockVCloudEnterpriseClientLiveTest() { + provider = "bluelock-vcloud-vcenterprise"; + } + +} diff --git a/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/compute/BluelockVCloudEnterpriseComputeServiceLiveTest.java b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/compute/BluelockVCloudEnterpriseComputeServiceLiveTest.java new file mode 100644 index 0000000000..4a5bef6593 --- /dev/null +++ b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/compute/BluelockVCloudEnterpriseComputeServiceLiveTest.java @@ -0,0 +1,70 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.vcenterprise.compute; + +import static org.jclouds.compute.util.ComputeServiceUtils.getCores; +import static org.testng.Assert.assertEquals; + +import org.jclouds.compute.domain.Image; +import org.jclouds.compute.domain.OsFamily; +import org.jclouds.compute.domain.Template; +import org.jclouds.compute.domain.TemplateBuilder; +import org.jclouds.compute.predicates.OperatingSystemPredicates; +import org.jclouds.vcloud.compute.VCloudComputeServiceLiveTest; +import org.testng.annotations.Test; + +/** + * + * + * @author Adrian Cole + */ +@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudEnterpriseComputeServiceLiveTest") +public class BluelockVCloudEnterpriseComputeServiceLiveTest extends VCloudComputeServiceLiveTest { + public BluelockVCloudEnterpriseComputeServiceLiveTest() { + provider = "bluelock-vcloud-vcenterprise"; + // vcloud requires instantiate before deploy, which takes longer than 30 seconds + nonBlockDurationSeconds = 300; + } + + @Override + public void setServiceDefaults() { + group = "director"; + } + + @Test + public void testTemplateBuilder() { + Template defaultTemplate = client.templateBuilder().build(); + assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true); + assert OperatingSystemPredicates.supportsApt().apply(defaultTemplate.getImage().getOperatingSystem()); + assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU); + assertEquals(defaultTemplate.getImage().getOperatingSystem().getDescription(), "Ubuntu Linux (64-bit)"); + assert defaultTemplate.getLocation().getId() != null : defaultTemplate.getLocation(); + assertEquals(getCores(defaultTemplate.getHardware()), 1.0d); + System.out.println(defaultTemplate.getHardware()); + } + + @Override + protected Template buildTemplate(TemplateBuilder templateBuilder) { + Template template = super.buildTemplate(templateBuilder); + Image image = template.getImage(); + assert image.getDefaultCredentials().credential != null : image; + return template; + } + +} diff --git a/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/compute/BluelockVCloudEnterpriseTemplateBuilderLiveTest.java b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/compute/BluelockVCloudEnterpriseTemplateBuilderLiveTest.java new file mode 100644 index 0000000000..ef0d4cd023 --- /dev/null +++ b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/compute/BluelockVCloudEnterpriseTemplateBuilderLiveTest.java @@ -0,0 +1,77 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.vcenterprise.compute; + +import static org.jclouds.compute.util.ComputeServiceUtils.getCores; +import static org.testng.Assert.assertEquals; + +import java.io.IOException; +import java.util.Set; + +import org.jclouds.compute.BaseTemplateBuilderLiveTest; +import org.jclouds.compute.domain.OsFamily; +import org.jclouds.compute.domain.OsFamilyVersion64Bit; +import org.jclouds.compute.domain.Template; +import org.testng.annotations.Test; + +import com.google.common.base.Predicate; +import com.google.common.collect.ImmutableSet; + +/** + * + * @author Adrian Cole + */ +@Test(groups = "live", testName = "BluelockVCloudEnterpriseTemplateBuilderLiveTest") +public class BluelockVCloudEnterpriseTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest { + + public BluelockVCloudEnterpriseTemplateBuilderLiveTest() { + provider = "bluelock-vcloud-vcenterprise"; + } + + @Override + protected Predicate defineUnsupportedOperatingSystems() { + return new Predicate() { + + @Override + public boolean apply(OsFamilyVersion64Bit input) { + switch (input.family) { + case UBUNTU: + return !input.version.equals("") || !input.is64Bit; + default: + return true; + } + } + + }; + } + + @Override + public void testDefaultTemplateBuilder() throws IOException { + Template defaultTemplate = context.getComputeService().templateBuilder().build(); + assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), ""); + assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true); + assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU); + assertEquals(getCores(defaultTemplate.getHardware()), 1.0d); + } + + @Override + protected Set getIso3166Codes() { + return ImmutableSet. of("US-IN"); + } +} diff --git a/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseCatalogClientLiveTest.java b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseCatalogClientLiveTest.java new file mode 100644 index 0000000000..6a30ec381f --- /dev/null +++ b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseCatalogClientLiveTest.java @@ -0,0 +1,35 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.vcenterprise.features; + +import org.jclouds.vcloud.features.CatalogClientLiveTest; +import org.testng.annotations.Test; + +/** + * + * + * @author Adrian Cole + */ +@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudEnterpriseCatalogClientLiveTest") +public class BluelockVCloudEnterpriseCatalogClientLiveTest extends CatalogClientLiveTest { + + public BluelockVCloudEnterpriseCatalogClientLiveTest() { + provider = "bluelock-vcloud-vcenterprise"; + } +} diff --git a/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseNetworkClientLiveTest.java b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseNetworkClientLiveTest.java new file mode 100644 index 0000000000..05ef8f43bd --- /dev/null +++ b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseNetworkClientLiveTest.java @@ -0,0 +1,35 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.vcenterprise.features; + +import org.jclouds.vcloud.features.NetworkClientLiveTest; +import org.testng.annotations.Test; + +/** + * + * + * @author Adrian Cole + */ +@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudEnterpriseNetworkClientLiveTest") +public class BluelockVCloudEnterpriseNetworkClientLiveTest extends NetworkClientLiveTest { + + public BluelockVCloudEnterpriseNetworkClientLiveTest() { + provider = "bluelock-vcloud-vcenterprise"; + } +} diff --git a/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseOrgClientLiveTest.java b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseOrgClientLiveTest.java new file mode 100644 index 0000000000..d9d8ea524c --- /dev/null +++ b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseOrgClientLiveTest.java @@ -0,0 +1,35 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.vcenterprise.features; + +import org.jclouds.vcloud.features.OrgClientLiveTest; +import org.testng.annotations.Test; + +/** + * + * + * @author Adrian Cole + */ +@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudEnterpriseOrgClientLiveTest") +public class BluelockVCloudEnterpriseOrgClientLiveTest extends OrgClientLiveTest { + + public BluelockVCloudEnterpriseOrgClientLiveTest() { + provider = "bluelock-vcloud-vcenterprise"; + } +} diff --git a/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseTaskClientLiveTest.java b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseTaskClientLiveTest.java new file mode 100644 index 0000000000..4cdd1506d0 --- /dev/null +++ b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseTaskClientLiveTest.java @@ -0,0 +1,35 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.vcenterprise.features; + +import org.jclouds.vcloud.features.TaskClientLiveTest; +import org.testng.annotations.Test; + +/** + * + * + * @author Adrian Cole + */ +@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudEnterpriseTaskClientLiveTest") +public class BluelockVCloudEnterpriseTaskClientLiveTest extends TaskClientLiveTest { + + public BluelockVCloudEnterpriseTaskClientLiveTest() { + provider = "bluelock-vcloud-vcenterprise"; + } +} diff --git a/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseVAppClientLiveTest.java b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseVAppClientLiveTest.java new file mode 100644 index 0000000000..14c3995cce --- /dev/null +++ b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseVAppClientLiveTest.java @@ -0,0 +1,35 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.vcenterprise.features; + +import org.jclouds.vcloud.features.VAppClientLiveTest; +import org.testng.annotations.Test; + +/** + * + * + * @author Adrian Cole + */ +@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudEnterpriseVAppClientLiveTest") +public class BluelockVCloudEnterpriseVAppClientLiveTest extends VAppClientLiveTest { + + public BluelockVCloudEnterpriseVAppClientLiveTest() { + provider = "bluelock-vcloud-vcenterprise"; + } +} diff --git a/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseVAppTemplateClientLiveTest.java b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseVAppTemplateClientLiveTest.java new file mode 100644 index 0000000000..54cecdadbf --- /dev/null +++ b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseVAppTemplateClientLiveTest.java @@ -0,0 +1,35 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.vcenterprise.features; + +import org.jclouds.vcloud.features.VAppTemplateClientLiveTest; +import org.testng.annotations.Test; + +/** + * + * + * @author Adrian Cole + */ +@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudEnterpriseVAppTemplateClientLiveTest") +public class BluelockVCloudEnterpriseVAppTemplateClientLiveTest extends VAppTemplateClientLiveTest { + + public BluelockVCloudEnterpriseVAppTemplateClientLiveTest() { + provider = "bluelock-vcloud-vcenterprise"; + } +} diff --git a/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseVDCClientLiveTest.java b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseVDCClientLiveTest.java new file mode 100644 index 0000000000..2bf6fa6f6a --- /dev/null +++ b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseVDCClientLiveTest.java @@ -0,0 +1,35 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.vcenterprise.features; + +import org.jclouds.vcloud.features.VDCClientLiveTest; +import org.testng.annotations.Test; + +/** + * + * + * @author Adrian Cole + */ +@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudEnterpriseVDCClientLiveTest") +public class BluelockVCloudEnterpriseVDCClientLiveTest extends VDCClientLiveTest { + + public BluelockVCloudEnterpriseVDCClientLiveTest() { + provider = "bluelock-vcloud-vcenterprise"; + } +} diff --git a/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseVmClientLiveTest.java b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseVmClientLiveTest.java new file mode 100644 index 0000000000..afa6629c0d --- /dev/null +++ b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseVmClientLiveTest.java @@ -0,0 +1,39 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.vcenterprise.features; + +import org.jclouds.vcloud.features.VmClientLiveTest; +import org.testng.annotations.Test; + +/** + * + * + * @author Adrian Cole + */ +@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudEnterpriseVmClientLiveTest") +public class BluelockVCloudEnterpriseVmClientLiveTest extends VmClientLiveTest { + + public BluelockVCloudEnterpriseVmClientLiveTest() { + provider = "bluelock-vcloud-vcenterprise"; + } + + protected void checkApiOutput(String apiOutput) { + checkApiOutput1_0_0(apiOutput); + } +} diff --git a/providers/bluelock-vcloud-vcenterprise/src/test/resources/bluelock/vdc.xml b/providers/bluelock-vcloud-vcenterprise/src/test/resources/bluelock/vdc.xml new file mode 100644 index 0000000000..0eb6c68bc9 --- /dev/null +++ b/providers/bluelock-vcloud-vcenterprise/src/test/resources/bluelock/vdc.xml @@ -0,0 +1,265 @@ + + + + + + people in paradise + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/providers/bluelock-vcloud-vcenterprise/src/test/resources/log4j.xml b/providers/bluelock-vcloud-vcenterprise/src/test/resources/log4j.xml new file mode 100644 index 0000000000..c1e74e57ff --- /dev/null +++ b/providers/bluelock-vcloud-vcenterprise/src/test/resources/log4j.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/providers/bluelock-vcloud-zone01/pom.xml b/providers/bluelock-vcloud-zone01/pom.xml new file mode 100644 index 0000000000..ace6570bb2 --- /dev/null +++ b/providers/bluelock-vcloud-zone01/pom.xml @@ -0,0 +1,164 @@ + + + + + 4.0.0 + + org.jclouds + jclouds-project + 1.0-SNAPSHOT + ../../project/pom.xml + + org.jclouds.provider + bluelock-vcloud-zone01 + jclouds Bluelock vCloud Zone01 provider + vCloud implementation targeted to Bluelock vCloud Zone01 + bundle + + + https://zone01.bluelock.com/api + 1.0 + FIXME_IDENTITY + FIXME_CREDENTIAL + + + + + org.jclouds.api + vcloud + ${project.version} + + + org.jclouds.common + vcloud-common + ${project.version} + test-jar + test + + + org.jclouds.api + vcloud + ${project.version} + test-jar + test + + + org.jclouds + jclouds-core + ${project.version} + test-jar + test + + + org.jclouds + jclouds-compute + ${project.version} + test-jar + test + + + org.jclouds.driver + jclouds-log4j + ${project.version} + test + + + org.jclouds.driver + jclouds-jsch + ${project.version} + test + + + com.jcraft + jsch + test + + + log4j + log4j + 1.2.16 + test + + + + + + live + + + + org.apache.maven.plugins + maven-surefire-plugin + + + integration + integration-test + + test + + + + + test.bluelock-vcloud-zone01.endpoint + ${test.bluelock-vcloud-zone01.endpoint} + + + test.bluelock-vcloud-zone01.apiversion + ${test.bluelock-vcloud-zone01.apiversion} + + + test.bluelock-vcloud-zone01.identity + ${test.bluelock-vcloud-zone01.identity} + + + test.bluelock-vcloud-zone01.credential + ${test.bluelock-vcloud-zone01.credential} + + + + + + + + + + + + + + + org.apache.felix + maven-bundle-plugin + + + ${project.artifactId} + org.jclouds.bluelock.vcloud.zone01.*;version="${project.version}" + org.jclouds.*;version="${project.version}",* + + + + + + + + diff --git a/providers/bluelock-vcloud-zone01/src/main/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01ContextBuilder.java b/providers/bluelock-vcloud-zone01/src/main/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01ContextBuilder.java new file mode 100644 index 0000000000..0978531e40 --- /dev/null +++ b/providers/bluelock-vcloud-zone01/src/main/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01ContextBuilder.java @@ -0,0 +1,61 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.zone01; + +import java.util.List; +import java.util.Properties; + +import org.jclouds.http.config.JavaUrlHttpCommandExecutorServiceModule; +import org.jclouds.logging.jdk.config.JDKLoggingModule; +import org.jclouds.vcloud.VCloudContextBuilder; +import org.jclouds.bluelock.vcloud.zone01.config.BluelockVCloudZone01RestClientModule; +import org.jclouds.vcloud.compute.config.VCloudComputeServiceContextModule; + +import com.google.inject.Injector; +import com.google.inject.Module; + +/** + * Creates {@link BlueLockVCloudComputeServiceContext} or {@link Injector} instances based on the + * most commonly requested arguments. + *

+ * Note that Threadsafe objects will be bound as singletons to the Injector or Context provided. + *

+ *

+ * If no Modules are specified, the default {@link JDKLoggingModule logging} and + * {@link JavaUrlHttpCommandExecutorServiceModule http transports} will be installed. + * + * @author Adrian Cole + */ +public class BluelockVCloudZone01ContextBuilder extends VCloudContextBuilder { + + public BluelockVCloudZone01ContextBuilder(Properties props) { + super(props); + } + + @Override + protected void addContextModule(List modules) { + modules.add(new VCloudComputeServiceContextModule()); + } + + @Override + protected void addClientModule(List modules) { + modules.add(new BluelockVCloudZone01RestClientModule()); + } + +} diff --git a/providers/bluelock-vcloud-zone01/src/main/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01PropertiesBuilder.java b/providers/bluelock-vcloud-zone01/src/main/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01PropertiesBuilder.java new file mode 100644 index 0000000000..779b1fdf85 --- /dev/null +++ b/providers/bluelock-vcloud-zone01/src/main/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01PropertiesBuilder.java @@ -0,0 +1,47 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.zone01; + +import static org.jclouds.Constants.PROPERTY_ENDPOINT; +import static org.jclouds.Constants.PROPERTY_ISO3166_CODES; +import static org.jclouds.vcloud.reference.VCloudConstants.PROPERTY_VCLOUD_DEFAULT_NETWORK; + +import java.util.Properties; + +import org.jclouds.vcloud.VCloudPropertiesBuilder; + +/** + * Builds properties used in bluelock VCloud Clients + * + * @author Adrian Cole + */ +public class BluelockVCloudZone01PropertiesBuilder extends VCloudPropertiesBuilder { + @Override + protected Properties defaultProperties() { + Properties properties = super.defaultProperties(); + properties.setProperty(PROPERTY_ISO3166_CODES, "US-IN"); + properties.setProperty(PROPERTY_ENDPOINT, "https://zone01.bluelock.com/api"); + properties.setProperty(PROPERTY_VCLOUD_DEFAULT_NETWORK, "internet01"); + return properties; + } + + public BluelockVCloudZone01PropertiesBuilder(Properties properties) { + super(properties); + } +} diff --git a/providers/bluelock-vcloud-zone01/src/main/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01ProviderMetadata.java b/providers/bluelock-vcloud-zone01/src/main/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01ProviderMetadata.java new file mode 100644 index 0000000000..d4199e5771 --- /dev/null +++ b/providers/bluelock-vcloud-zone01/src/main/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01ProviderMetadata.java @@ -0,0 +1,116 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.zone01; + +import com.google.common.collect.ImmutableSet; + +import java.net.URI; +import java.util.Set; + +import org.jclouds.providers.BaseProviderMetadata; +import org.jclouds.providers.ProviderMetadata; + +/** + * Implementation of {@link org.jclouds.types.ProviderMetadata} for Bluelock vCloud Zone 1. + * + * @author Adrian Cole + */ +public class BluelockVCloudZone01ProviderMetadata extends BaseProviderMetadata { + + /** + * {@inheritDoc} + */ + @Override + public String getId() { + return "bluelock-vcloud-zone01"; + } + + /** + * {@inheritDoc} + */ + @Override + public String getType() { + return ProviderMetadata.COMPUTE_TYPE; + } + + /** + * {@inheritDoc} + */ + @Override + public String getName() { + return "Bluelock vCloud Zone 1"; + } + + /** + * {@inheritDoc} + */ + @Override + public String getIdentityName() { + return "User at Organization (user@org)"; + } + + /** + * {@inheritDoc} + */ + @Override + public String getCredentialName() { + return "Password"; + } + + /** + * {@inheritDoc} + */ + @Override + public URI getHomepage() { + return URI.create("http://www.bluelock.com/bluelock-cloud-hosting"); + } + + /** + * {@inheritDoc} + */ + @Override + public URI getConsole() { + return URI.create("https://zone01.bluelock.com/cloud/"); + } + + /** + * {@inheritDoc} + */ + @Override + public URI getApiDocumentation() { + return URI.create("http://www.vmware.com/support/pubs/vcd_pubs.html"); + } + + /** + * {@inheritDoc} + */ + @Override + public Set getLinkedServices() { + return ImmutableSet.of("bluelock-vcloud-zone01"); + } + + /** + * {@inheritDoc} + */ + @Override + public Set getIso3166Codes() { + return ImmutableSet.of("US-IN"); + } + +} diff --git a/providers/bluelock-vcloud-zone01/src/main/java/org/jclouds/bluelock/vcloud/zone01/config/BluelockVCloudZone01RestClientModule.java b/providers/bluelock-vcloud-zone01/src/main/java/org/jclouds/bluelock/vcloud/zone01/config/BluelockVCloudZone01RestClientModule.java new file mode 100644 index 0000000000..61ef8a6834 --- /dev/null +++ b/providers/bluelock-vcloud-zone01/src/main/java/org/jclouds/bluelock/vcloud/zone01/config/BluelockVCloudZone01RestClientModule.java @@ -0,0 +1,34 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.zone01.config; + +import org.jclouds.http.RequiresHttp; +import org.jclouds.rest.ConfiguresRestClient; +import org.jclouds.vcloud.config.VCloudRestClientModule; + +/** + * Configures the VCloud authentication service connection, including logging and http transport. + * + * @author Adrian Cole + */ +@RequiresHttp +@ConfiguresRestClient +public class BluelockVCloudZone01RestClientModule extends VCloudRestClientModule { + +} diff --git a/providers/bluelock-vcloud-zone01/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata b/providers/bluelock-vcloud-zone01/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata new file mode 100644 index 0000000000..6f51746574 --- /dev/null +++ b/providers/bluelock-vcloud-zone01/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata @@ -0,0 +1 @@ +org.jclouds.bluelock.vcloud.zone01.BluelockVCloudZone01ProviderMetadata diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01ProviderTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01ProviderTest.java new file mode 100644 index 0000000000..66d61697de --- /dev/null +++ b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01ProviderTest.java @@ -0,0 +1,35 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.zone01; + +import org.jclouds.providers.BaseProviderMetadataTest; +import org.jclouds.providers.ProviderMetadata; +import org.testng.annotations.Test; + +/** + * + * @author Adrian Cole + */ +@Test(groups = "unit", testName = "BluelockVCloudZone01ProviderTest") +public class BluelockVCloudZone01ProviderTest extends BaseProviderMetadataTest { + + public BluelockVCloudZone01ProviderTest() { + super(new BluelockVCloudZone01ProviderMetadata(), ProviderMetadata.COMPUTE_TYPE); + } +} diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/DeprecatedBluelockVCloudZone01ClientLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/DeprecatedBluelockVCloudZone01ClientLiveTest.java new file mode 100644 index 0000000000..7036553d6e --- /dev/null +++ b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/DeprecatedBluelockVCloudZone01ClientLiveTest.java @@ -0,0 +1,35 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.zone01; + +import org.jclouds.vcloud.DeprecatedVCloudClientLiveTest; +import org.testng.annotations.Test; + +/** + * + * @author Adrian Cole + */ +@Deprecated +@Test(groups = "live", singleThreaded = true, testName = "DeprecatedBluelockVCloudZone01ClientLiveTest") +public class DeprecatedBluelockVCloudZone01ClientLiveTest extends DeprecatedVCloudClientLiveTest { + public DeprecatedBluelockVCloudZone01ClientLiveTest() { + provider = "bluelock-vcloud-zone01"; + } + +} diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/compute/BluelockVCloudZone01ComputeServiceLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/compute/BluelockVCloudZone01ComputeServiceLiveTest.java new file mode 100644 index 0000000000..edc603e0dd --- /dev/null +++ b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/compute/BluelockVCloudZone01ComputeServiceLiveTest.java @@ -0,0 +1,70 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.zone01.compute; + +import static org.jclouds.compute.util.ComputeServiceUtils.getCores; +import static org.testng.Assert.assertEquals; + +import org.jclouds.compute.domain.Image; +import org.jclouds.compute.domain.OsFamily; +import org.jclouds.compute.domain.Template; +import org.jclouds.compute.domain.TemplateBuilder; +import org.jclouds.compute.predicates.OperatingSystemPredicates; +import org.jclouds.vcloud.compute.VCloudComputeServiceLiveTest; +import org.testng.annotations.Test; + +/** + * + * + * @author Adrian Cole + */ +@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudZone01ComputeServiceLiveTest") +public class BluelockVCloudZone01ComputeServiceLiveTest extends VCloudComputeServiceLiveTest { + public BluelockVCloudZone01ComputeServiceLiveTest() { + provider = "bluelock-vcloud-zone01"; + // vcloud requires instantiate before deploy, which takes longer than 30 seconds + nonBlockDurationSeconds = 300; + } + + @Override + public void setServiceDefaults() { + group = "director"; + } + + @Test + public void testTemplateBuilder() { + Template defaultTemplate = client.templateBuilder().build(); + assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true); + assert OperatingSystemPredicates.supportsApt().apply(defaultTemplate.getImage().getOperatingSystem()); + assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU); + assertEquals(defaultTemplate.getImage().getOperatingSystem().getDescription(), "Ubuntu Linux (64-bit)"); + assert defaultTemplate.getLocation().getId() != null : defaultTemplate.getLocation(); + assertEquals(getCores(defaultTemplate.getHardware()), 1.0d); + System.out.println(defaultTemplate.getHardware()); + } + + @Override + protected Template buildTemplate(TemplateBuilder templateBuilder) { + Template template = super.buildTemplate(templateBuilder); + Image image = template.getImage(); + assert image.getDefaultCredentials().credential != null : image; + return template; + } + +} diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/compute/BluelockVCloudZone01TemplateBuilderLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/compute/BluelockVCloudZone01TemplateBuilderLiveTest.java new file mode 100644 index 0000000000..f78f24b232 --- /dev/null +++ b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/compute/BluelockVCloudZone01TemplateBuilderLiveTest.java @@ -0,0 +1,77 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.zone01.compute; + +import static org.jclouds.compute.util.ComputeServiceUtils.getCores; +import static org.testng.Assert.assertEquals; + +import java.io.IOException; +import java.util.Set; + +import org.jclouds.compute.BaseTemplateBuilderLiveTest; +import org.jclouds.compute.domain.OsFamily; +import org.jclouds.compute.domain.OsFamilyVersion64Bit; +import org.jclouds.compute.domain.Template; +import org.testng.annotations.Test; + +import com.google.common.base.Predicate; +import com.google.common.collect.ImmutableSet; + +/** + * + * @author Adrian Cole + */ +@Test(groups = "live", testName = "BluelockVCloudZone01TemplateBuilderLiveTest") +public class BluelockVCloudZone01TemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest { + + public BluelockVCloudZone01TemplateBuilderLiveTest() { + provider = "bluelock-vcloud-zone01"; + } + + @Override + protected Predicate defineUnsupportedOperatingSystems() { + return new Predicate() { + + @Override + public boolean apply(OsFamilyVersion64Bit input) { + switch (input.family) { + case UBUNTU: + return !input.version.equals("") || !input.is64Bit; + default: + return true; + } + } + + }; + } + + @Override + public void testDefaultTemplateBuilder() throws IOException { + Template defaultTemplate = context.getComputeService().templateBuilder().build(); + assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), ""); + assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true); + assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU); + assertEquals(getCores(defaultTemplate.getHardware()), 1.0d); + } + + @Override + protected Set getIso3166Codes() { + return ImmutableSet. of("US-IN"); + } +} diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01CatalogClientLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01CatalogClientLiveTest.java new file mode 100644 index 0000000000..16e6a7af01 --- /dev/null +++ b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01CatalogClientLiveTest.java @@ -0,0 +1,35 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.zone01.features; + +import org.jclouds.vcloud.features.CatalogClientLiveTest; +import org.testng.annotations.Test; + +/** + * + * + * @author Adrian Cole + */ +@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudZone01CatalogClientLiveTest") +public class BluelockVCloudZone01CatalogClientLiveTest extends CatalogClientLiveTest { + + public BluelockVCloudZone01CatalogClientLiveTest() { + provider = "bluelock-vcloud-zone01"; + } +} diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01NetworkClientLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01NetworkClientLiveTest.java new file mode 100644 index 0000000000..1c1cc78e54 --- /dev/null +++ b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01NetworkClientLiveTest.java @@ -0,0 +1,35 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.zone01.features; + +import org.jclouds.vcloud.features.NetworkClientLiveTest; +import org.testng.annotations.Test; + +/** + * + * + * @author Adrian Cole + */ +@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudZone01NetworkClientLiveTest") +public class BluelockVCloudZone01NetworkClientLiveTest extends NetworkClientLiveTest { + + public BluelockVCloudZone01NetworkClientLiveTest() { + provider = "bluelock-vcloud-zone01"; + } +} diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01OrgClientLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01OrgClientLiveTest.java new file mode 100644 index 0000000000..286ca58611 --- /dev/null +++ b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01OrgClientLiveTest.java @@ -0,0 +1,35 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.zone01.features; + +import org.jclouds.vcloud.features.OrgClientLiveTest; +import org.testng.annotations.Test; + +/** + * + * + * @author Adrian Cole + */ +@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudZone01OrgClientLiveTest") +public class BluelockVCloudZone01OrgClientLiveTest extends OrgClientLiveTest { + + public BluelockVCloudZone01OrgClientLiveTest() { + provider = "bluelock-vcloud-zone01"; + } +} diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01TaskClientLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01TaskClientLiveTest.java new file mode 100644 index 0000000000..82d857ad58 --- /dev/null +++ b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01TaskClientLiveTest.java @@ -0,0 +1,35 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.zone01.features; + +import org.jclouds.vcloud.features.TaskClientLiveTest; +import org.testng.annotations.Test; + +/** + * + * + * @author Adrian Cole + */ +@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudZone01TaskClientLiveTest") +public class BluelockVCloudZone01TaskClientLiveTest extends TaskClientLiveTest { + + public BluelockVCloudZone01TaskClientLiveTest() { + provider = "bluelock-vcloud-zone01"; + } +} diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VAppClientLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VAppClientLiveTest.java new file mode 100644 index 0000000000..d8744391c1 --- /dev/null +++ b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VAppClientLiveTest.java @@ -0,0 +1,35 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.zone01.features; + +import org.jclouds.vcloud.features.VAppClientLiveTest; +import org.testng.annotations.Test; + +/** + * + * + * @author Adrian Cole + */ +@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudZone01VAppClientLiveTest") +public class BluelockVCloudZone01VAppClientLiveTest extends VAppClientLiveTest { + + public BluelockVCloudZone01VAppClientLiveTest() { + provider = "bluelock-vcloud-zone01"; + } +} diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VAppTemplateClientLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VAppTemplateClientLiveTest.java new file mode 100644 index 0000000000..b72b97d814 --- /dev/null +++ b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VAppTemplateClientLiveTest.java @@ -0,0 +1,35 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.zone01.features; + +import org.jclouds.vcloud.features.VAppTemplateClientLiveTest; +import org.testng.annotations.Test; + +/** + * + * + * @author Adrian Cole + */ +@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudZone01VAppTemplateClientLiveTest") +public class BluelockVCloudZone01VAppTemplateClientLiveTest extends VAppTemplateClientLiveTest { + + public BluelockVCloudZone01VAppTemplateClientLiveTest() { + provider = "bluelock-vcloud-zone01"; + } +} diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VDCClientLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VDCClientLiveTest.java new file mode 100644 index 0000000000..5b09a5d13f --- /dev/null +++ b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VDCClientLiveTest.java @@ -0,0 +1,35 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.zone01.features; + +import org.jclouds.vcloud.features.VDCClientLiveTest; +import org.testng.annotations.Test; + +/** + * + * + * @author Adrian Cole + */ +@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudZone01VDCClientLiveTest") +public class BluelockVCloudZone01VDCClientLiveTest extends VDCClientLiveTest { + + public BluelockVCloudZone01VDCClientLiveTest() { + provider = "bluelock-vcloud-zone01"; + } +} diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VmClientLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VmClientLiveTest.java new file mode 100644 index 0000000000..52276b3f50 --- /dev/null +++ b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VmClientLiveTest.java @@ -0,0 +1,39 @@ +/** + * + * Copyright (C) 2011 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ +package org.jclouds.bluelock.vcloud.zone01.features; + +import org.jclouds.vcloud.features.VmClientLiveTest; +import org.testng.annotations.Test; + +/** + * + * + * @author Adrian Cole + */ +@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudZone01VmClientLiveTest") +public class BluelockVCloudZone01VmClientLiveTest extends VmClientLiveTest { + + public BluelockVCloudZone01VmClientLiveTest() { + provider = "bluelock-vcloud-zone01"; + } + + protected void checkApiOutput(String apiOutput) { + checkApiOutput1_0_0(apiOutput); + } +} diff --git a/providers/bluelock-vcloud-zone01/src/test/resources/bluelock/vdc.xml b/providers/bluelock-vcloud-zone01/src/test/resources/bluelock/vdc.xml new file mode 100644 index 0000000000..0eb6c68bc9 --- /dev/null +++ b/providers/bluelock-vcloud-zone01/src/test/resources/bluelock/vdc.xml @@ -0,0 +1,265 @@ + + + + + + people in paradise + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/providers/bluelock-vcloud-zone01/src/test/resources/log4j.xml b/providers/bluelock-vcloud-zone01/src/test/resources/log4j.xml new file mode 100644 index 0000000000..c1e74e57ff --- /dev/null +++ b/providers/bluelock-vcloud-zone01/src/test/resources/log4j.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/providers/pom.xml b/providers/pom.xml index 59bb182b5f..3b29719485 100644 --- a/providers/pom.xml +++ b/providers/pom.xml @@ -54,6 +54,8 @@ cloudfiles-uk cloudloadbalancers-us bluelock-vcdirector + bluelock-vcloud-vcenterprise + bluelock-vcloud-zone01 trmk-ecloud trmk-vcloudexpress elastichosts-lon-p