Repository: jclouds
Updated Branches:
  refs/heads/master 4f32e863a -> 10f72f073


[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/1163b94c
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/1163b94c
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/1163b94c

Branch: refs/heads/master
Commit: 1163b94c3267b3df96b064f3b937e7bf330dbcc9
Parents: 4f32e86
Author: Andrea Turli <[email protected]>
Authored: Wed Jul 29 17:42:21 2015 +0200
Committer: Andrea Turli <[email protected]>
Committed: Tue Aug 11 18:12:57 2015 +0200

----------------------------------------------------------------------
 .../compute/functions/DatacenterToLocation.java |  4 ++--
 .../functions/OperatingSystemToImage.java       |  3 ++-
 .../functions/VirtualGuestToHardware.java       | 16 ++++++++-----
 .../compute/functions/VirtualGuestToImage.java  | 25 +++++++++++++-------
 .../functions/VirtualGuestToNodeMetadata.java   | 11 +++++++++
 .../SoftLayerComputeServiceContextLiveTest.java |  8 +++++--
 .../SoftLayerComputeServiceLiveTest.java        |  4 ----
 .../functions/OperatingSystemToImageTest.java   |  2 +-
 .../features/VirtualGuestApiLiveTest.java       |  8 ++++---
 ...uestBlockDeviceTemplateGroupApiLiveTest.java |  1 +
 10 files changed, 55 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/1163b94c/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/1163b94c/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..62b8b60 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,8 @@ public class OperatingSystemToImage implements 
Function<OperatingSystem, Image>
               .build();
 
       return new ImageBuilder()
-              .ids(operatingSystem.getId())
+              .ids(optOSReferenceCode.or(operatingSystem.getId()))
+              //.ids(operatingSystem.getId())
               .description(optOSReferenceCode.or(UNRECOGNIZED))
               .operatingSystem(os)
               .status(Image.Status.AVAILABLE)

http://git-wip-us.apache.org/repos/asf/jclouds/blob/1163b94c/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..267a931 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> {
@@ -52,7 +53,10 @@ public class VirtualGuestToHardware implements 
Function<VirtualGuest, Hardware>
                          .transform(new Function<VirtualGuestBlockDevice, 
Volume>() {
                             @Override
                             public Volume apply(VirtualGuestBlockDevice item) {
-                               float volumeSize = 
item.getVirtualDiskImage().getCapacity();
+                               float volumeSize = -1;
+                               if (item.getVirtualDiskImage() != null) {
+                                  volumeSize = 
item.getVirtualDiskImage().getCapacity();
+                               }
                                return new VolumeImpl(
                                        item.getId() + "",
                                        from.isLocalDiskFlag() ? 
Volume.Type.LOCAL : Volume.Type.SAN,

http://git-wip-us.apache.org/repos/asf/jclouds/blob/1163b94c/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/1163b94c/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..b6c78dd 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,13 @@ 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());
+         if (password != null) {
+            
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/1163b94c/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..eecc868 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
@@ -25,6 +25,7 @@ import javax.inject.Named;
 import org.jclouds.ContextBuilder;
 import org.jclouds.compute.ComputeServiceContext;
 import org.jclouds.compute.RunNodesException;
+import org.jclouds.compute.domain.ComputeMetadata;
 import org.jclouds.compute.domain.ExecResponse;
 import org.jclouds.compute.domain.NodeMetadata;
 import org.jclouds.compute.domain.Template;
@@ -53,7 +54,7 @@ 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)
@@ -67,11 +68,14 @@ public class SoftLayerComputeServiceContextLiveTest extends 
BaseComputeServiceCo
       // test passing custom options
       SoftLayerTemplateOptions options = 
template.getOptions().as(SoftLayerTemplateOptions.class);
       options.domainName("live.org");
-      options.portSpeed(100);
 
       //tags
       options.tags(ImmutableList.of("jclouds"));
 
+      for (ComputeMetadata computeMetadata : 
context.getComputeService().listNodes()) {
+         
System.out.println(context.getComputeService().getNodeMetadata(computeMetadata.getId()).getStatus());
+      }
+
       Set<? extends NodeMetadata> nodes = 
context.getComputeService().createNodesInGroup(name, numNodes, template);
       assertEquals(numNodes, nodes.size(), "wrong number of nodes");
       for (NodeMetadata node : nodes) {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/1163b94c/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/1163b94c/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/1163b94c/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..24f76e9 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
@@ -31,6 +31,7 @@ import org.jclouds.softlayer.domain.Datacenter;
 import org.jclouds.softlayer.domain.OperatingSystem;
 import org.jclouds.softlayer.domain.TagReference;
 import org.jclouds.softlayer.domain.VirtualGuest;
+import org.testng.Assert;
 import org.testng.annotations.AfterClass;
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
@@ -48,20 +49,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);
+      if (datacenter == null) Assert.fail();
    }
 
    @AfterClass(groups = {"integration", "live"})
@@ -94,7 +96,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/1163b94c/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