Repository: incubator-brooklyn
Updated Branches:
  refs/heads/master a850f450a -> 26f667707


DETECT_MACHINE_DETAILS SshMachineLocation config

Adds new configkey for controlling automatic detection of machine
details. Defaults to true (matching previous behaviour); setting to
false stops SshMachineLocation opening up an SSH channel and running
commands. Useful in situations where the application requires strict
control over the use of SSH.


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

Branch: refs/heads/master
Commit: 9b91b4faa39c62b11d598f29ee0981689a03f388
Parents: c563e65
Author: Richard Downer <[email protected]>
Authored: Thu Jan 22 13:32:37 2015 +0000
Committer: Richard Downer <[email protected]>
Committed: Thu Jan 22 14:06:43 2015 +0000

----------------------------------------------------------------------
 .../main/java/brooklyn/location/basic/SshMachineLocation.java | 7 +++++++
 .../main/java/brooklyn/location/jclouds/JcloudsLocation.java  | 3 ++-
 2 files changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/9b91b4fa/core/src/main/java/brooklyn/location/basic/SshMachineLocation.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/location/basic/SshMachineLocation.java 
b/core/src/main/java/brooklyn/location/basic/SshMachineLocation.java
index c7b202a..2b7d8b1 100644
--- a/core/src/main/java/brooklyn/location/basic/SshMachineLocation.java
+++ b/core/src/main/java/brooklyn/location/basic/SshMachineLocation.java
@@ -135,6 +135,9 @@ public class SshMachineLocation extends AbstractLocation 
implements MachineLocat
             MachineDetails.class,
             "machineDetails");
 
+    public static final ConfigKey<Boolean> DETECT_MACHINE_DETAILS = 
ConfigKeys.newBooleanConfigKey("detectMachineDetails",
+            "Attempt to detect machine details automatically. Works with 
SSH-accessible Linux instances.", true);
+
     @SetFromFlag
     protected String user;
 
@@ -896,6 +899,10 @@ public class SshMachineLocation extends AbstractLocation 
implements MachineLocat
     }
 
     protected MachineDetails inferMachineDetails() {
+        boolean detectionEnabled = getConfig(DETECT_MACHINE_DETAILS);
+        if (!detectionEnabled)
+            return new BasicMachineDetails(new BasicHardwareDetails(-1, -1), 
new BasicOsDetails("UNKNOWN", "UNKNOWN", "UNKNOWN"));
+
         Tasks.setBlockingDetails("Waiting for machine details");
         try {
             return BasicMachineDetails.forSshMachineLocation(this);

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/9b91b4fa/locations/jclouds/src/main/java/brooklyn/location/jclouds/JcloudsLocation.java
----------------------------------------------------------------------
diff --git 
a/locations/jclouds/src/main/java/brooklyn/location/jclouds/JcloudsLocation.java
 
b/locations/jclouds/src/main/java/brooklyn/location/jclouds/JcloudsLocation.java
index a5f32a0..ec9215e 100644
--- 
a/locations/jclouds/src/main/java/brooklyn/location/jclouds/JcloudsLocation.java
+++ 
b/locations/jclouds/src/main/java/brooklyn/location/jclouds/JcloudsLocation.java
@@ -1588,7 +1588,8 @@ public class JcloudsLocation extends 
AbstractCloudMachineProvisioningLocation im
                     .configure("node", node)
                     .configureIfNotNull(CLOUD_AVAILABILITY_ZONE_ID, 
nodeAvailabilityZone)
                     .configureIfNotNull(CLOUD_REGION_ID, nodeRegion)
-                    .configure(CALLER_CONTEXT, setup.get(CALLER_CONTEXT)));
+                    .configure(CALLER_CONTEXT, setup.get(CALLER_CONTEXT))
+                    .configure(SshMachineLocation.DETECT_MACHINE_DETAILS, 
setup.get(SshMachineLocation.DETECT_MACHINE_DETAILS)));
         } else {
             LOG.warn("Using deprecated JcloudsSshMachineLocation constructor 
because "+this+" is not managed");
             return new JcloudsSshMachineLocation(MutableMap.builder()

Reply via email to