From 8532358193b680f5d5f9b0269ba3cb058764e393 Mon Sep 17 00:00:00 2001 From: Adrian Cole Date: Tue, 27 Sep 2011 10:34:26 -0700 Subject: [PATCH 1/4] removed unused imports --- ...SoftLayerComputeServiceAdapterLiveTest.java | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/sandbox-providers/softlayer/src/test/java/org/jclouds/softlayer/compute/SoftLayerComputeServiceAdapterLiveTest.java b/sandbox-providers/softlayer/src/test/java/org/jclouds/softlayer/compute/SoftLayerComputeServiceAdapterLiveTest.java index 7a6069e6d6..9202c75050 100644 --- a/sandbox-providers/softlayer/src/test/java/org/jclouds/softlayer/compute/SoftLayerComputeServiceAdapterLiveTest.java +++ b/sandbox-providers/softlayer/src/test/java/org/jclouds/softlayer/compute/SoftLayerComputeServiceAdapterLiveTest.java @@ -18,10 +18,14 @@ */ package org.jclouds.softlayer.compute; -import com.google.common.collect.Iterables; -import com.google.common.collect.Sets; +import static org.jclouds.softlayer.predicates.ProductItemPredicates.categoryCode; +import static org.jclouds.softlayer.predicates.ProductItemPredicates.units; +import static org.testng.Assert.assertFalse; +import static org.testng.AssertJUnit.assertEquals; + +import java.util.Set; + import org.jclouds.softlayer.compute.strategy.SoftLayerComputeServiceAdapter; -import org.jclouds.softlayer.domain.Datacenter; import org.jclouds.softlayer.domain.ProductItem; import org.jclouds.softlayer.features.BaseSoftLayerClientLiveTest; import org.jclouds.softlayer.features.ProductPackageClientLiveTest; @@ -29,13 +33,7 @@ import org.testng.Assert; import org.testng.annotations.BeforeGroups; import org.testng.annotations.Test; -import java.util.LinkedHashSet; -import java.util.Set; - -import static org.jclouds.softlayer.predicates.ProductItemPredicates.categoryCode; -import static org.jclouds.softlayer.predicates.ProductItemPredicates.units; -import static org.testng.Assert.assertFalse; -import static org.testng.AssertJUnit.assertEquals; +import com.google.common.collect.Iterables; @Test(groups = "live", testName = "SoftLayerComputeServiceAdapterLiveTest") public class SoftLayerComputeServiceAdapterLiveTest extends BaseSoftLayerClientLiveTest { From ea83b1e47da6acccfe6086b340828938ec00a320 Mon Sep 17 00:00:00 2001 From: Adrian Cole Date: Tue, 27 Sep 2011 10:36:00 -0700 Subject: [PATCH 2/4] updated SL to support new SG datacenter --- .../softlayer/compute/SoftLayerExperimentLiveTest.java | 2 +- .../softlayer/features/ProductPackageClientLiveTest.java | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/sandbox-providers/softlayer/src/test/java/org/jclouds/softlayer/compute/SoftLayerExperimentLiveTest.java b/sandbox-providers/softlayer/src/test/java/org/jclouds/softlayer/compute/SoftLayerExperimentLiveTest.java index 6319a8a3d0..26257ef066 100644 --- a/sandbox-providers/softlayer/src/test/java/org/jclouds/softlayer/compute/SoftLayerExperimentLiveTest.java +++ b/sandbox-providers/softlayer/src/test/java/org/jclouds/softlayer/compute/SoftLayerExperimentLiveTest.java @@ -61,7 +61,7 @@ public class SoftLayerExperimentLiveTest { context = new ComputeServiceContextFactory().createContext("softlayer", identity, credential, ImmutableSet . of(new Log4JLoggingModule(), new SshjSshClientModule())); - assertEquals(context.getComputeService().listAssignableLocations().size(), 5); + assertEquals(context.getComputeService().listAssignableLocations().size(), 6); } finally { if (context != null) diff --git a/sandbox-providers/softlayer/src/test/java/org/jclouds/softlayer/features/ProductPackageClientLiveTest.java b/sandbox-providers/softlayer/src/test/java/org/jclouds/softlayer/features/ProductPackageClientLiveTest.java index 402c68aeee..8899e9a8da 100644 --- a/sandbox-providers/softlayer/src/test/java/org/jclouds/softlayer/features/ProductPackageClientLiveTest.java +++ b/sandbox-providers/softlayer/src/test/java/org/jclouds/softlayer/features/ProductPackageClientLiveTest.java @@ -99,6 +99,7 @@ public class ProductPackageClientLiveTest extends BaseSoftLayerClientLiveTest { builder.add(Datacenter.builder().id(37473).name("wdc01").longName("Washington, DC").build()); builder.add(Datacenter.builder().id(138124).name("dal05").longName("Dallas 5").build()); builder.add(Datacenter.builder().id(168642).name("sjc01").longName("San Jose 1").build()); + builder.add(Datacenter.builder().id(224092).name("sng01").longName("Singapore 1").build()); Set expected = builder.build(); @@ -179,7 +180,8 @@ public class ProductPackageClientLiveTest extends BaseSoftLayerClientLiveTest { private void checkAddress(Address address) { assert address.getId() >0 : address; assert address.getCountry() != null : address; - assert address.getState() != null : address; + if (!address.getCountry().equals("SG")) + assert address.getState() != null : address; } private void checkCategories(Set categories) { From 3af390a4d31b2a2aa16eb176049a4ac5c61dbafe Mon Sep 17 00:00:00 2001 From: Adrian Cole Date: Tue, 27 Sep 2011 10:37:15 -0700 Subject: [PATCH 3/4] fixed image matches --- .../SoftLayerTemplateBuilderLiveTest.java | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/sandbox-providers/softlayer/src/test/java/org/jclouds/softlayer/compute/SoftLayerTemplateBuilderLiveTest.java b/sandbox-providers/softlayer/src/test/java/org/jclouds/softlayer/compute/SoftLayerTemplateBuilderLiveTest.java index 7035c914d8..28e788d848 100644 --- a/sandbox-providers/softlayer/src/test/java/org/jclouds/softlayer/compute/SoftLayerTemplateBuilderLiveTest.java +++ b/sandbox-providers/softlayer/src/test/java/org/jclouds/softlayer/compute/SoftLayerTemplateBuilderLiveTest.java @@ -53,20 +53,20 @@ public class SoftLayerTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTes public boolean apply(OsFamilyVersion64Bit input) { // For each os-type both 32- and 64-bit are supported. switch (input.family) { - case UBUNTU: - return !(input.version.equals("10.04") || input.version.equals("8")); - case DEBIAN: - return !(input.version.equals("5.0")); - case FEDORA: - return !(input.version.equals("13") || input.version.equals("15")); - case RHEL: - return !(input.version.equals("5") || input.version.equals("6")); - case CENTOS: - return !(input.version.equals("5") || input.version.equals("6.0")); - case WINDOWS: - return !(input.version.equals("2003") || input.version.equals("2008")); - default: - return false; + case UBUNTU: + return input.version.equals("") || input.version.equals("10.04") || input.version.equals("8"); + case DEBIAN: + return input.version.equals("") || input.version.equals("5.0"); + case FEDORA: + return input.version.equals("") || input.version.equals("13") || input.version.equals("15"); + case RHEL: + return input.version.equals("") || input.version.equals("5") || input.version.equals("6"); + case CENTOS: + return input.version.equals("") || input.version.equals("5") || input.version.equals("6.0"); + case WINDOWS: + return input.version.equals("") || input.version.equals("2003") || input.version.equals("2008"); + default: + return false; } } From 5469c324d1f79a94024b3e8ed06f8e20bdda2b65 Mon Sep 17 00:00:00 2001 From: Adrian Cole Date: Tue, 27 Sep 2011 10:41:38 -0700 Subject: [PATCH 4/4] added providermetadata and corrected locations in softlayer --- .../softlayer/SoftLayerPropertiesBuilder.java | 2 + .../softlayer/SoftLayerProviderMetadata.java | 115 ++++++++++++++++++ .../org.jclouds.providers.ProviderMetadata | 1 + .../softlayer/SoftLayerProviderTest.java | 35 ++++++ .../SoftLayerTemplateBuilderLiveTest.java | 2 +- 5 files changed, 154 insertions(+), 1 deletion(-) create mode 100644 sandbox-providers/softlayer/src/main/java/org/jclouds/softlayer/SoftLayerProviderMetadata.java create mode 100644 sandbox-providers/softlayer/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata create mode 100644 sandbox-providers/softlayer/src/test/java/org/jclouds/softlayer/SoftLayerProviderTest.java diff --git a/sandbox-providers/softlayer/src/main/java/org/jclouds/softlayer/SoftLayerPropertiesBuilder.java b/sandbox-providers/softlayer/src/main/java/org/jclouds/softlayer/SoftLayerPropertiesBuilder.java index b0fd78214b..c6aeeaa538 100644 --- a/sandbox-providers/softlayer/src/main/java/org/jclouds/softlayer/SoftLayerPropertiesBuilder.java +++ b/sandbox-providers/softlayer/src/main/java/org/jclouds/softlayer/SoftLayerPropertiesBuilder.java @@ -20,6 +20,7 @@ package org.jclouds.softlayer; import static org.jclouds.Constants.PROPERTY_API_VERSION; import static org.jclouds.Constants.PROPERTY_ENDPOINT; +import static org.jclouds.Constants.PROPERTY_ISO3166_CODES; import java.util.Properties; @@ -38,6 +39,7 @@ public class SoftLayerPropertiesBuilder extends PropertiesBuilder { properties.setProperty(PROPERTY_ENDPOINT, "https://api.softlayer.com/rest"); properties.setProperty(PROPERTY_API_VERSION, "3"); properties.setProperty(SoftLayerConstants.PROPERTY_SOFTLAYER_VIRTUALGUEST_PACKAGE_NAME, "Cloud Server"); + properties.setProperty(PROPERTY_ISO3166_CODES, "SG,US-CA,US-TX,US-VA,US-WA,US-TX"); return properties; } diff --git a/sandbox-providers/softlayer/src/main/java/org/jclouds/softlayer/SoftLayerProviderMetadata.java b/sandbox-providers/softlayer/src/main/java/org/jclouds/softlayer/SoftLayerProviderMetadata.java new file mode 100644 index 0000000000..abf0a02c56 --- /dev/null +++ b/sandbox-providers/softlayer/src/main/java/org/jclouds/softlayer/SoftLayerProviderMetadata.java @@ -0,0 +1,115 @@ +/** + * Licensed to jclouds, Inc. (jclouds) under one or more + * contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. jclouds licenses this file + * to you 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.softlayer; + +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 SoftLayer. + * + * @author Adrian Cole + */ +public class SoftLayerProviderMetadata extends BaseProviderMetadata { + + /** + * {@inheritDoc} + */ + @Override + public String getId() { + return "softlayer"; + } + + /** + * {@inheritDoc} + */ + @Override + public String getType() { + return ProviderMetadata.COMPUTE_TYPE; + } + + /** + * {@inheritDoc} + */ + @Override + public String getName() { + return "//TODO SoftLayer"; + } + + /** + * {@inheritDoc} + */ + @Override + public String getIdentityName() { + return "//TODO"; + } + + /** + * {@inheritDoc} + */ + @Override + public String getCredentialName() { + return "//TODO"; + } + + /** + * {@inheritDoc} + */ + @Override + public URI getHomepage() { + return URI.create("//TODO"); + } + + /** + * {@inheritDoc} + */ + @Override + public URI getConsole() { + return URI.create("//TODO"); + } + /** + * {@inheritDoc} + */ + @Override + public URI getApiDocumentation() { + return URI.create("http://sldn.softlayer.com/article/REST"); + } + + /** + * {@inheritDoc} + */ + @Override + public Set getLinkedServices() { + return ImmutableSet.of("softlayer"); + } + + /** + * {@inheritDoc} + */ + @Override + public Set getIso3166Codes() { + return ImmutableSet.of("SG","US-CA","US-TX","US-VA","US-WA","US-TX"); + } + +} \ No newline at end of file diff --git a/sandbox-providers/softlayer/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata b/sandbox-providers/softlayer/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata new file mode 100644 index 0000000000..b79ad351af --- /dev/null +++ b/sandbox-providers/softlayer/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata @@ -0,0 +1 @@ +org.jclouds.softlayer.SoftLayerProviderMetadata \ No newline at end of file diff --git a/sandbox-providers/softlayer/src/test/java/org/jclouds/softlayer/SoftLayerProviderTest.java b/sandbox-providers/softlayer/src/test/java/org/jclouds/softlayer/SoftLayerProviderTest.java new file mode 100644 index 0000000000..4f235dc999 --- /dev/null +++ b/sandbox-providers/softlayer/src/test/java/org/jclouds/softlayer/SoftLayerProviderTest.java @@ -0,0 +1,35 @@ +/** + * Licensed to jclouds, Inc. (jclouds) under one or more + * contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. jclouds licenses this file + * to you 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.softlayer; + +import org.jclouds.providers.BaseProviderMetadataTest; +import org.jclouds.providers.ProviderMetadata; +import org.testng.annotations.Test; + +/** + * + * @author Adrian Cole + */ +@Test(groups = "unit", testName = "SoftLayerProviderTest") +public class SoftLayerProviderTest extends BaseProviderMetadataTest { + + public SoftLayerProviderTest() { + super(new SoftLayerProviderMetadata(), ProviderMetadata.COMPUTE_TYPE); + } +} \ No newline at end of file diff --git a/sandbox-providers/softlayer/src/test/java/org/jclouds/softlayer/compute/SoftLayerTemplateBuilderLiveTest.java b/sandbox-providers/softlayer/src/test/java/org/jclouds/softlayer/compute/SoftLayerTemplateBuilderLiveTest.java index 28e788d848..6a1cc0245a 100644 --- a/sandbox-providers/softlayer/src/test/java/org/jclouds/softlayer/compute/SoftLayerTemplateBuilderLiveTest.java +++ b/sandbox-providers/softlayer/src/test/java/org/jclouds/softlayer/compute/SoftLayerTemplateBuilderLiveTest.java @@ -84,6 +84,6 @@ public class SoftLayerTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTes @Override protected Set getIso3166Codes() { - return ImmutableSet. of("US-IL", "US-TX", "US-MO"); + return ImmutableSet. of("SG","US-CA","US-TX","US-VA","US-WA","US-TX"); } } \ No newline at end of file