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);