You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2016/02/01 18:48:51 UTC

[21/50] brooklyn-server git commit: 64 bit support and fetching jclouds details

64 bit support and fetching jclouds details


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

Branch: refs/heads/0.4.0
Commit: c3821217d63a21fe1e2cb6ea732ad70fb65d6100
Parents: e7fb0d4
Author: David Ribeiro Alves <da...@gmail.com>
Authored: Fri Oct 5 19:35:38 2012 -0500
Committer: David Ribeiro Alves <da...@gmail.com>
Committed: Fri Oct 5 19:35:38 2012 -0500

----------------------------------------------------------------------
 api/src/main/java/brooklyn/location/OsDetails.java |  1 +
 .../brooklyn/location/basic/BasicOsDetails.java    | 14 ++++++++++++--
 .../location/basic/jclouds/JcloudsLocation.java    | 17 +++++++++++++++++
 .../basic/jclouds/StandaloneJcloudsTest.java       |  5 +++++
 4 files changed, 35 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/c3821217/api/src/main/java/brooklyn/location/OsDetails.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/brooklyn/location/OsDetails.java b/api/src/main/java/brooklyn/location/OsDetails.java
index d770413..32bb54d 100644
--- a/api/src/main/java/brooklyn/location/OsDetails.java
+++ b/api/src/main/java/brooklyn/location/OsDetails.java
@@ -9,6 +9,7 @@ public interface OsDetails {
     String getName();
     String getArch();
     String getVersion();
+    boolean is64bit();
     
 //    * <tr><td><code>os.name</code></td>
 //    *     <td>Operating system name</td></tr>

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/c3821217/core/src/main/java/brooklyn/location/basic/BasicOsDetails.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/location/basic/BasicOsDetails.java b/core/src/main/java/brooklyn/location/basic/BasicOsDetails.java
index 095b6fb..6a6fdb7 100644
--- a/core/src/main/java/brooklyn/location/basic/BasicOsDetails.java
+++ b/core/src/main/java/brooklyn/location/basic/BasicOsDetails.java
@@ -5,9 +5,14 @@ import brooklyn.location.OsDetails;
 public class BasicOsDetails implements OsDetails {
 
     final String name, arch, version;
+    final boolean is64bit;
     
     public BasicOsDetails(String name, String arch, String version) {
-        this.name = name; this.arch = arch; this.version = version;
+       this(name,arch,version, arch != null && arch.contains("64"));
+    }
+
+    public BasicOsDetails(String name, String arch, String version, boolean is64Bit) {
+        this.name = name; this.arch = arch; this.version = version; this.is64bit = is64Bit;
     }
     
     /** java property os.name (human readable name); e.g. "Mac OS X" */
@@ -41,7 +46,12 @@ public class BasicOsDetails implements OsDetails {
     public boolean isMac() {
         return getName()!=null && getName().equals(OsNames.MAC_OS_X);
     }
-    
+
+    @Override
+    public boolean is64bit() {
+        return is64bit;
+    }
+
     @Override
     public String toString() {
         return "OS["+name+";"+arch+";"+version+"]";

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/c3821217/core/src/main/java/brooklyn/location/basic/jclouds/JcloudsLocation.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/location/basic/jclouds/JcloudsLocation.java b/core/src/main/java/brooklyn/location/basic/jclouds/JcloudsLocation.java
index 7a77d7f..3f805c8 100644
--- a/core/src/main/java/brooklyn/location/basic/jclouds/JcloudsLocation.java
+++ b/core/src/main/java/brooklyn/location/basic/jclouds/JcloudsLocation.java
@@ -25,6 +25,8 @@ import java.util.concurrent.TimeoutException;
 
 import javax.annotation.Nullable;
 
+import brooklyn.location.OsDetails;
+import brooklyn.location.basic.BasicOsDetails;
 import org.jclouds.Constants;
 import org.jclouds.compute.ComputeService;
 import org.jclouds.compute.ComputeServiceContext;
@@ -1189,6 +1191,21 @@ public class JcloudsLocation extends AbstractLocation implements MachineProvisio
                 return (credentials != null) ? credentials.getPassword() : null;
             }
         }
+
+        @Override
+        public OsDetails getOsDetails() {
+            if (node.getOperatingSystem() != null) {
+                return new BasicOsDetails(
+                        node.getOperatingSystem().getName() != null
+                                ? node.getOperatingSystem().getName() : "linux",
+                        node.getOperatingSystem().getArch() != null
+                                ? node.getOperatingSystem().getArch() : BasicOsDetails.OsArchs.I386,
+                        node.getOperatingSystem().getVersion() != null
+                                ? node.getOperatingSystem().getVersion() : "unknown",
+                        node.getOperatingSystem().is64Bit());
+            }
+            return super.getOsDetails();
+        }
     }
 
     private static double toDouble(Object v) {

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/c3821217/core/src/test/java/brooklyn/location/basic/jclouds/StandaloneJcloudsTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/location/basic/jclouds/StandaloneJcloudsTest.java b/core/src/test/java/brooklyn/location/basic/jclouds/StandaloneJcloudsTest.java
index 724f282..1f9c479 100644
--- a/core/src/test/java/brooklyn/location/basic/jclouds/StandaloneJcloudsTest.java
+++ b/core/src/test/java/brooklyn/location/basic/jclouds/StandaloneJcloudsTest.java
@@ -28,6 +28,7 @@ import org.jclouds.sshj.config.SshjSshClientModule;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.testng.Assert;
+import org.testng.AssertJUnit;
 import org.testng.annotations.Test;
 
 import brooklyn.config.BrooklynProperties;
@@ -37,6 +38,8 @@ import com.google.common.base.Throwables;
 import com.google.common.collect.Iterables;
 import com.google.common.io.Files;
 
+import static org.testng.Assert.assertNotNull;
+
 public class StandaloneJcloudsTest {
 
     public static final Logger LOG = LoggerFactory.getLogger(StandaloneJcloudsTest.class);
@@ -76,6 +79,8 @@ public class StandaloneJcloudsTest {
             node = Iterables.getOnlyElement(nodes, null);
             if (node == null) throw new IllegalStateException("No nodes returned");
 
+            assertNotNull(node.getOperatingSystem());
+
             Credentials nodeCredentials = node.getCredentials();
             final LoginCredentials expectedCredentials = LoginCredentials.fromCredentials(nodeCredentials);