Repository: jclouds
Updated Branches:
  refs/heads/1.9.x 30aca7d83 -> cc1217b5c


[SoftLayer] fix some failing LiveTests

fix VirtualGuestBlockDeviceTemplateGroupApiLiveTest
fix SoftLayerComputeServiceLiveTest


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/cc1217b5
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/cc1217b5
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/cc1217b5

Branch: refs/heads/1.9.x
Commit: cc1217b5c843ef8ccb761f0d5c9b7c5b6cd5b002
Parents: 30aca7d
Author: Andrea Turli <[email protected]>
Authored: Wed Jul 29 17:42:21 2015 +0200
Committer: Andrea Turli <[email protected]>
Committed: Tue Aug 11 18:22:25 2015 +0200

----------------------------------------------------------------------
 .../compute/functions/DatacenterToLocation.java |  4 ++--
 .../functions/OperatingSystemToImage.java       |  2 +-
 .../functions/VirtualGuestToHardware.java       | 11 +++++----
 .../compute/functions/VirtualGuestToImage.java  | 25 +++++++++++++-------
 .../functions/VirtualGuestToNodeMetadata.java   |  9 +++++++
 .../SoftLayerComputeServiceContextLiveTest.java | 24 ++++---------------
 .../SoftLayerComputeServiceLiveTest.java        |  4 ----
 .../functions/OperatingSystemToImageTest.java   |  2 +-
 .../features/VirtualGuestApiLiveTest.java       |  7 +++---
 ...uestBlockDeviceTemplateGroupApiLiveTest.java |  1 +
 10 files changed, 46 insertions(+), 43 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/cc1217b5/providers/softlayer/src/main/java/org/jclouds/softlayer/compute/functions/DatacenterToLocation.java
----------------------------------------------------------------------
diff --git 
a/providers/softlayer/src/main/java/org/jclouds/softlayer/compute/functions/DatacenterToLocation.java
 
b/providers/softlayer/src/main/java/org/jclouds/softlayer/compute/functions/DatacenterToLocation.java
index 81d2d08..d273378 100644
--- 
a/providers/softlayer/src/main/java/org/jclouds/softlayer/compute/functions/DatacenterToLocation.java
+++ 
b/providers/softlayer/src/main/java/org/jclouds/softlayer/compute/functions/DatacenterToLocation.java
@@ -46,7 +46,7 @@ public class DatacenterToLocation implements 
Function<Datacenter, Location> {
    public DatacenterToLocation(JustProvider provider) {
       this.provider = checkNotNull(provider, "provider");
    }
-   
+
     @Override
     public Location apply(Datacenter datacenter) {
         return new LocationBuilder().id(datacenter.getName())
@@ -69,6 +69,6 @@ public class DatacenterToLocation implements 
Function<Datacenter, Location> {
 
       return ImmutableSet.<String> of("" + country + "-" + state);
 
-               
+
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/cc1217b5/providers/softlayer/src/main/java/org/jclouds/softlayer/compute/functions/OperatingSystemToImage.java
----------------------------------------------------------------------
diff --git 
a/providers/softlayer/src/main/java/org/jclouds/softlayer/compute/functions/OperatingSystemToImage.java
 
b/providers/softlayer/src/main/java/org/jclouds/softlayer/compute/functions/OperatingSystemToImage.java
index cdc4ebe..c435352 100644
--- 
a/providers/softlayer/src/main/java/org/jclouds/softlayer/compute/functions/OperatingSystemToImage.java
+++ 
b/providers/softlayer/src/main/java/org/jclouds/softlayer/compute/functions/OperatingSystemToImage.java
@@ -83,7 +83,7 @@ public class OperatingSystemToImage implements 
Function<OperatingSystem, Image>
               .build();
 
       return new ImageBuilder()
-              .ids(operatingSystem.getId())
+              .ids(optOSReferenceCode.or(operatingSystem.getId()))
               .description(optOSReferenceCode.or(UNRECOGNIZED))
               .operatingSystem(os)
               .status(Image.Status.AVAILABLE)

http://git-wip-us.apache.org/repos/asf/jclouds/blob/cc1217b5/providers/softlayer/src/main/java/org/jclouds/softlayer/compute/functions/VirtualGuestToHardware.java
----------------------------------------------------------------------
diff --git 
a/providers/softlayer/src/main/java/org/jclouds/softlayer/compute/functions/VirtualGuestToHardware.java
 
b/providers/softlayer/src/main/java/org/jclouds/softlayer/compute/functions/VirtualGuestToHardware.java
index d6c6367..8afedd7 100644
--- 
a/providers/softlayer/src/main/java/org/jclouds/softlayer/compute/functions/VirtualGuestToHardware.java
+++ 
b/providers/softlayer/src/main/java/org/jclouds/softlayer/compute/functions/VirtualGuestToHardware.java
@@ -16,10 +16,8 @@
  */
 package org.jclouds.softlayer.compute.functions;
 
-import com.google.common.base.Function;
-import com.google.common.base.Predicate;
-import com.google.common.collect.FluentIterable;
-import com.google.common.collect.ImmutableList;
+import javax.inject.Singleton;
+
 import org.jclouds.compute.domain.Hardware;
 import org.jclouds.compute.domain.HardwareBuilder;
 import org.jclouds.compute.domain.Processor;
@@ -28,7 +26,10 @@ import org.jclouds.compute.domain.internal.VolumeImpl;
 import org.jclouds.softlayer.domain.VirtualGuest;
 import org.jclouds.softlayer.domain.VirtualGuestBlockDevice;
 
-import javax.inject.Singleton;
+import com.google.common.base.Function;
+import com.google.common.base.Predicate;
+import com.google.common.collect.FluentIterable;
+import com.google.common.collect.ImmutableList;
 
 @Singleton
 public class VirtualGuestToHardware implements Function<VirtualGuest, 
Hardware> {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/cc1217b5/providers/softlayer/src/main/java/org/jclouds/softlayer/compute/functions/VirtualGuestToImage.java
----------------------------------------------------------------------
diff --git 
a/providers/softlayer/src/main/java/org/jclouds/softlayer/compute/functions/VirtualGuestToImage.java
 
b/providers/softlayer/src/main/java/org/jclouds/softlayer/compute/functions/VirtualGuestToImage.java
index 6c70347..5a5b3cc 100644
--- 
a/providers/softlayer/src/main/java/org/jclouds/softlayer/compute/functions/VirtualGuestToImage.java
+++ 
b/providers/softlayer/src/main/java/org/jclouds/softlayer/compute/functions/VirtualGuestToImage.java
@@ -16,8 +16,12 @@
  */
 package org.jclouds.softlayer.compute.functions;
 
-import com.google.common.base.Function;
-import com.google.inject.Inject;
+import static com.google.common.base.Preconditions.checkNotNull;
+
+import javax.annotation.Resource;
+import javax.inject.Named;
+import javax.inject.Singleton;
+
 import org.jclouds.compute.domain.Image;
 import org.jclouds.compute.domain.ImageBuilder;
 import org.jclouds.compute.domain.OperatingSystem;
@@ -26,11 +30,8 @@ import org.jclouds.compute.reference.ComputeServiceConstants;
 import org.jclouds.logging.Logger;
 import org.jclouds.softlayer.domain.VirtualGuest;
 
-import javax.annotation.Resource;
-import javax.inject.Named;
-import javax.inject.Singleton;
-
-import static com.google.common.base.Preconditions.checkNotNull;
+import com.google.common.base.Function;
+import com.google.inject.Inject;
 
 @Singleton
 public class VirtualGuestToImage implements Function<VirtualGuest, Image> {
@@ -52,7 +53,7 @@ public class VirtualGuestToImage implements 
Function<VirtualGuest, Image> {
    public Image apply(VirtualGuest from) {
       checkNotNull(from, "from");
       if (from.getOperatingSystem() == null) {
-         return new ImageBuilder().ids(from.getId() + "")
+         return new ImageBuilder().ids(getReferenceCodeOrId(from))
                  .name(from.getHostname())
                  .status(Image.Status.UNRECOGNIZED)
                  .operatingSystem(OperatingSystem.builder()
@@ -65,4 +66,12 @@ public class VirtualGuestToImage implements 
Function<VirtualGuest, Image> {
          return operatingSystemToImage.apply(from.getOperatingSystem());
       }
    }
+
+   public String getReferenceCodeOrId(VirtualGuest from) {
+      String val = from.getSoftwareLicense() != null &&
+              from.getSoftwareLicense().getSoftwareDescription() != null ?
+              
from.getSoftwareLicense().getSoftwareDescription().getReferenceCode() :
+              from.getId() + "";
+      return val;
+   }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/cc1217b5/providers/softlayer/src/main/java/org/jclouds/softlayer/compute/functions/VirtualGuestToNodeMetadata.java
----------------------------------------------------------------------
diff --git 
a/providers/softlayer/src/main/java/org/jclouds/softlayer/compute/functions/VirtualGuestToNodeMetadata.java
 
b/providers/softlayer/src/main/java/org/jclouds/softlayer/compute/functions/VirtualGuestToNodeMetadata.java
index 472d61d..470fb76 100644
--- 
a/providers/softlayer/src/main/java/org/jclouds/softlayer/compute/functions/VirtualGuestToNodeMetadata.java
+++ 
b/providers/softlayer/src/main/java/org/jclouds/softlayer/compute/functions/VirtualGuestToNodeMetadata.java
@@ -32,7 +32,9 @@ import org.jclouds.compute.domain.NodeMetadata.Status;
 import org.jclouds.compute.domain.NodeMetadataBuilder;
 import org.jclouds.compute.functions.GroupNamingConvention;
 import org.jclouds.domain.Location;
+import org.jclouds.domain.LoginCredentials;
 import org.jclouds.location.predicates.LocationPredicates;
+import org.jclouds.softlayer.domain.Password;
 import org.jclouds.softlayer.domain.TagReference;
 import org.jclouds.softlayer.domain.VirtualGuest;
 
@@ -40,6 +42,7 @@ import com.google.common.base.Function;
 import com.google.common.base.Supplier;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Iterables;
 import com.google.common.collect.Lists;
 
 @Singleton
@@ -55,6 +58,7 @@ public class VirtualGuestToNodeMetadata implements 
Function<VirtualGuest, NodeMe
    private final VirtualGuestToImage virtualGuestToImage;
    private final VirtualGuestToHardware virtualGuestToHardware;
 
+
    @Inject
    VirtualGuestToNodeMetadata(@Memoized Supplier<Set<? extends Location>> 
locations,
          GroupNamingConvention.Factory namingConvention, VirtualGuestToImage 
virtualGuestToImage,
@@ -89,6 +93,11 @@ public class VirtualGuestToNodeMetadata implements 
Function<VirtualGuest, NodeMe
          builder.publicAddresses(ImmutableSet.of(from.getPrimaryIpAddress()));
       if (from.getPrimaryBackendIpAddress() != null)
          
builder.privateAddresses(ImmutableSet.of(from.getPrimaryBackendIpAddress()));
+      // TODO simplify once we move domain classes to AutoValue
+      if (from.getOperatingSystem() != null && 
from.getOperatingSystem().getPasswords() != null && 
!from.getOperatingSystem().getPasswords().isEmpty()) {
+         Password password = 
Iterables.getOnlyElement(from.getOperatingSystem().getPasswords());
+         
builder.credentials(LoginCredentials.builder().identity(password.getUsername()).credential(password.getPassword()).build());
+      }
       if (from.getTagReferences() != null && 
!from.getTagReferences().isEmpty()) {
          List<String> tags = Lists.newArrayList();
          for (TagReference tagReference : from.getTagReferences()) {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/cc1217b5/providers/softlayer/src/test/java/org/jclouds/softlayer/compute/SoftLayerComputeServiceContextLiveTest.java
----------------------------------------------------------------------
diff --git 
a/providers/softlayer/src/test/java/org/jclouds/softlayer/compute/SoftLayerComputeServiceContextLiveTest.java
 
b/providers/softlayer/src/test/java/org/jclouds/softlayer/compute/SoftLayerComputeServiceContextLiveTest.java
index e75902a..d9e2f51 100644
--- 
a/providers/softlayer/src/test/java/org/jclouds/softlayer/compute/SoftLayerComputeServiceContextLiveTest.java
+++ 
b/providers/softlayer/src/test/java/org/jclouds/softlayer/compute/SoftLayerComputeServiceContextLiveTest.java
@@ -22,24 +22,18 @@ import java.util.Set;
 import javax.annotation.Resource;
 import javax.inject.Named;
 
-import org.jclouds.ContextBuilder;
-import org.jclouds.compute.ComputeServiceContext;
 import org.jclouds.compute.RunNodesException;
 import org.jclouds.compute.domain.ExecResponse;
 import org.jclouds.compute.domain.NodeMetadata;
 import org.jclouds.compute.domain.Template;
-import org.jclouds.compute.domain.TemplateBuilder;
 import org.jclouds.compute.internal.BaseComputeServiceContextLiveTest;
 import org.jclouds.compute.reference.ComputeServiceConstants;
 import org.jclouds.logging.Logger;
-import org.jclouds.logging.slf4j.config.SLF4JLoggingModule;
 import org.jclouds.softlayer.compute.options.SoftLayerTemplateOptions;
 import org.jclouds.ssh.SshClient;
-import org.jclouds.sshj.config.SshjSshClientModule;
 import org.testng.annotations.Test;
 
 import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
 
 @Test(groups = "live", testName = "SoftLayerComputeServiceContextLiveTest")
 public class SoftLayerComputeServiceContextLiveTest extends 
BaseComputeServiceContextLiveTest {
@@ -53,34 +47,26 @@ public class SoftLayerComputeServiceContextLiveTest extends 
BaseComputeServiceCo
    }
 
    @Test
-   public void testLaunchClusterWithMinDisk() throws RunNodesException {
+   public void testLaunchClusterWithDomainName() throws RunNodesException {
       int numNodes = 1;
       final String name = "node";
-      ComputeServiceContext context = 
ContextBuilder.newBuilder("softlayer").credentials(identity, credential)
-              .modules(ImmutableSet.of(new SLF4JLoggingModule(),
-                      new SshjSshClientModule()))
-              .build(ComputeServiceContext.class);
-
-      TemplateBuilder templateBuilder = 
context.getComputeService().templateBuilder();
-
-      Template template = templateBuilder.build();
+      Template template = view.getComputeService().templateBuilder().build();
       // test passing custom options
       SoftLayerTemplateOptions options = 
template.getOptions().as(SoftLayerTemplateOptions.class);
       options.domainName("live.org");
-      options.portSpeed(100);
 
       //tags
       options.tags(ImmutableList.of("jclouds"));
 
-      Set<? extends NodeMetadata> nodes = 
context.getComputeService().createNodesInGroup(name, numNodes, template);
+      Set<? extends NodeMetadata> nodes = 
view.getComputeService().createNodesInGroup(name, numNodes, template);
       assertEquals(numNodes, nodes.size(), "wrong number of nodes");
       for (NodeMetadata node : nodes) {
          logger.debug("Created Node: %s", node);
-         SshClient client = context.utils().sshForNode().apply(node);
+         SshClient client = view.utils().sshForNode().apply(node);
          client.connect();
          ExecResponse hello = client.exec("mount");
          logger.debug(hello.getOutput().trim());
-         context.getComputeService().destroyNode(node.getId());
+         view.getComputeService().destroyNode(node.getId());
       }
    }
 

http://git-wip-us.apache.org/repos/asf/jclouds/blob/cc1217b5/providers/softlayer/src/test/java/org/jclouds/softlayer/compute/SoftLayerComputeServiceLiveTest.java
----------------------------------------------------------------------
diff --git 
a/providers/softlayer/src/test/java/org/jclouds/softlayer/compute/SoftLayerComputeServiceLiveTest.java
 
b/providers/softlayer/src/test/java/org/jclouds/softlayer/compute/SoftLayerComputeServiceLiveTest.java
index d513240..4c78185 100644
--- 
a/providers/softlayer/src/test/java/org/jclouds/softlayer/compute/SoftLayerComputeServiceLiveTest.java
+++ 
b/providers/softlayer/src/test/java/org/jclouds/softlayer/compute/SoftLayerComputeServiceLiveTest.java
@@ -26,10 +26,6 @@ import org.testng.annotations.Test;
 import com.google.common.collect.ImmutableMap;
 import com.google.inject.Module;
 
-/**
- *
- * Generally disabled, as it incurs higher fees.
- */
 @Test(groups = "live", enabled = true, singleThreaded = true)
 public class SoftLayerComputeServiceLiveTest extends 
BaseComputeServiceLiveTest {
 

http://git-wip-us.apache.org/repos/asf/jclouds/blob/cc1217b5/providers/softlayer/src/test/java/org/jclouds/softlayer/compute/functions/OperatingSystemToImageTest.java
----------------------------------------------------------------------
diff --git 
a/providers/softlayer/src/test/java/org/jclouds/softlayer/compute/functions/OperatingSystemToImageTest.java
 
b/providers/softlayer/src/test/java/org/jclouds/softlayer/compute/functions/OperatingSystemToImageTest.java
index f6c2711..d979f5e 100644
--- 
a/providers/softlayer/src/test/java/org/jclouds/softlayer/compute/functions/OperatingSystemToImageTest.java
+++ 
b/providers/softlayer/src/test/java/org/jclouds/softlayer/compute/functions/OperatingSystemToImageTest.java
@@ -34,7 +34,7 @@ public class OperatingSystemToImageTest {
    @Test
    public void testOperatingSystemToImage() {
       OperatingSystem operatingSystem = OperatingSystem.builder()
-              .id("123456789")
+              .id("UBUNTU_12_64")
               .softwareLicense(SoftwareLicense.builder()
                       .softwareDescription(SoftwareDescription.builder()
                               .version("12.04-64 Minimal for CCI")

http://git-wip-us.apache.org/repos/asf/jclouds/blob/cc1217b5/providers/softlayer/src/test/java/org/jclouds/softlayer/features/VirtualGuestApiLiveTest.java
----------------------------------------------------------------------
diff --git 
a/providers/softlayer/src/test/java/org/jclouds/softlayer/features/VirtualGuestApiLiveTest.java
 
b/providers/softlayer/src/test/java/org/jclouds/softlayer/features/VirtualGuestApiLiveTest.java
index bd468c1..3e7b161 100644
--- 
a/providers/softlayer/src/test/java/org/jclouds/softlayer/features/VirtualGuestApiLiveTest.java
+++ 
b/providers/softlayer/src/test/java/org/jclouds/softlayer/features/VirtualGuestApiLiveTest.java
@@ -48,20 +48,21 @@ import com.google.inject.Module;
 @Test(groups = "live")
 public class VirtualGuestApiLiveTest extends BaseSoftLayerApiLiveTest {
 
-   public static final String DATACENTER = "dal05";
-
    private VirtualGuestApi virtualGuestApi;
    private Predicate<VirtualGuest> loginDetailsTester;
    private VirtualGuestHasLoginDetailsPresent 
virtualGuestHasLoginDetailsPresent;
    private long guestLoginDelay = 60 * 60 * 1000;
 
    private VirtualGuest virtualGuest = null;
+   private Datacenter datacenter = null;
 
    @BeforeClass(groups = {"integration", "live"})
    @Override
    public void setup() {
       super.setup();
       virtualGuestApi = api.getVirtualGuestApi();
+      datacenter = Iterables.get(api.getDatacenterApi().listDatacenters(), 0);
+      assertNotNull(datacenter, "Datacenter must not be null");
    }
 
    @AfterClass(groups = {"integration", "live"})
@@ -94,7 +95,7 @@ public class VirtualGuestApiLiveTest extends 
BaseSoftLayerApiLiveTest {
               .startCpus(1)
               .maxMemory(1024)
               
.operatingSystem(OperatingSystem.builder().id("CENTOS_6_64").operatingSystemReferenceCode("CENTOS_6_64").build())
-              .datacenter(Datacenter.builder().name(DATACENTER).build())
+              
.datacenter(Datacenter.builder().name(datacenter.getName()).build())
               .build();
 
       virtualGuest = virtualGuestApi.createVirtualGuest(virtualGuestRequest);

http://git-wip-us.apache.org/repos/asf/jclouds/blob/cc1217b5/providers/softlayer/src/test/java/org/jclouds/softlayer/features/VirtualGuestBlockDeviceTemplateGroupApiLiveTest.java
----------------------------------------------------------------------
diff --git 
a/providers/softlayer/src/test/java/org/jclouds/softlayer/features/VirtualGuestBlockDeviceTemplateGroupApiLiveTest.java
 
b/providers/softlayer/src/test/java/org/jclouds/softlayer/features/VirtualGuestBlockDeviceTemplateGroupApiLiveTest.java
index 8698a94..ad75ebd 100644
--- 
a/providers/softlayer/src/test/java/org/jclouds/softlayer/features/VirtualGuestBlockDeviceTemplateGroupApiLiveTest.java
+++ 
b/providers/softlayer/src/test/java/org/jclouds/softlayer/features/VirtualGuestBlockDeviceTemplateGroupApiLiveTest.java
@@ -33,6 +33,7 @@ import com.beust.jcommander.internal.Sets;
 public class VirtualGuestBlockDeviceTemplateGroupApiLiveTest extends 
BaseSoftLayerApiLiveTest {
 
    Set<VirtualGuestBlockDeviceTemplateGroup> publicImages = Sets.newHashSet();
+
    @BeforeClass
    void init() {
       publicImages = api().getPublicImages();

Reply via email to