mirror of https://github.com/apache/jclouds.git
Merge branch 'master' of https://github.com/jclouds/jclouds
This commit is contained in:
commit
215b7c09a3
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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<String> getLinkedServices() {
|
||||
return ImmutableSet.of("softlayer");
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public Set<String> getIso3166Codes() {
|
||||
return ImmutableSet.of("SG","US-CA","US-TX","US-VA","US-WA","US-TX");
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
org.jclouds.softlayer.SoftLayerProviderMetadata
|
|
@ -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);
|
||||
}
|
||||
}
|
|
@ -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 {
|
||||
|
|
|
@ -61,7 +61,7 @@ public class SoftLayerExperimentLiveTest {
|
|||
context = new ComputeServiceContextFactory().createContext("softlayer", identity, credential, ImmutableSet
|
||||
.<Module> of(new Log4JLoggingModule(), new SshjSshClientModule()));
|
||||
|
||||
assertEquals(context.getComputeService().listAssignableLocations().size(), 5);
|
||||
assertEquals(context.getComputeService().listAssignableLocations().size(), 6);
|
||||
|
||||
} finally {
|
||||
if (context != null)
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -84,6 +84,6 @@ public class SoftLayerTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTes
|
|||
|
||||
@Override
|
||||
protected Set<String> getIso3166Codes() {
|
||||
return ImmutableSet.<String> of("US-IL", "US-TX", "US-MO");
|
||||
return ImmutableSet.<String> of("SG","US-CA","US-TX","US-VA","US-WA","US-TX");
|
||||
}
|
||||
}
|
|
@ -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<Datacenter> 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<ProductItemCategory> categories) {
|
||||
|
|
Loading…
Reference in New Issue