You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by al...@apache.org on 2017/12/18 15:42:18 UTC

[1/5] brooklyn-server git commit: Pull-up machine details

Repository: brooklyn-server
Updated Branches:
  refs/heads/master 21c285368 -> 862fef815


Pull-up machine 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/061cf15e
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/061cf15e
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/061cf15e

Branch: refs/heads/master
Commit: 061cf15e16ce31eec1b0429592557784096107c1
Parents: 7e813b2
Author: Alasdair Hodge <gi...@alasdairhodge.co.uk>
Authored: Thu Dec 7 18:47:37 2017 +0000
Committer: Alasdair Hodge <gi...@alasdairhodge.co.uk>
Committed: Fri Dec 8 09:55:30 2017 +0000

----------------------------------------------------------------------
 .../core/location/AbstractMachineLocation.java  | 55 ++++++++++++++++++++
 .../location/ssh/SshMachineLocation.java        | 49 +----------------
 .../jclouds/JcloudsSshMachineLocation.java      |  4 +-
 .../location/winrm/WinRmMachineLocation.java    |  8 ++-
 4 files changed, 65 insertions(+), 51 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/061cf15e/core/src/main/java/org/apache/brooklyn/core/location/AbstractMachineLocation.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/location/AbstractMachineLocation.java b/core/src/main/java/org/apache/brooklyn/core/location/AbstractMachineLocation.java
index a248c89..99e2ffe 100644
--- a/core/src/main/java/org/apache/brooklyn/core/location/AbstractMachineLocation.java
+++ b/core/src/main/java/org/apache/brooklyn/core/location/AbstractMachineLocation.java
@@ -20,11 +20,33 @@ package org.apache.brooklyn.core.location;
 
 import java.util.Map;
 
+import org.apache.brooklyn.api.location.MachineDetails;
 import org.apache.brooklyn.api.location.MachineLocation;
+import org.apache.brooklyn.api.location.OsDetails;
+import org.apache.brooklyn.config.ConfigKey;
+import org.apache.brooklyn.core.config.ConfigKeys;
 import org.apache.brooklyn.util.collections.MutableMap;
 
+import com.google.common.base.Optional;
+
 public abstract class AbstractMachineLocation extends AbstractLocation implements MachineLocation {
 
+    public static final ConfigKey<MachineDetails> MACHINE_DETAILS = ConfigKeys.newConfigKey(
+            MachineDetails.class,
+            "machineDetails");
+
+    public static final ConfigKey<Boolean> DETECT_MACHINE_DETAILS = ConfigKeys.newBooleanConfigKey("detectMachineDetails",
+            "Attempt to detect machine details automatically.", true);
+
+    protected static final MachineDetails UNKNOWN_MACHINE_DETAILS = new BasicMachineDetails(
+            new BasicHardwareDetails(-1, -1),
+            new BasicOsDetails("UNKNOWN", "UNKNOWN", "UNKNOWN")
+    );
+
+    private volatile MachineDetails machineDetails;
+    private final Object machineDetailsLock = new Object();
+
+
     public AbstractMachineLocation() {
         this(MutableMap.of());
     }
@@ -33,4 +55,37 @@ public abstract class AbstractMachineLocation extends AbstractLocation implement
         super(properties);
     }
 
+    /**
+     * Returns the machine details only if they are already loaded, or available directly as
+     * config.
+     */
+    protected Optional<MachineDetails> getOptionalMachineDetails() {
+        MachineDetails result = machineDetails != null ? machineDetails : config().get(MACHINE_DETAILS);
+        return Optional.fromNullable(result);
+    }
+
+    @Override
+    public MachineDetails getMachineDetails() {
+        synchronized (machineDetailsLock) {
+            if (machineDetails == null) {
+                machineDetails = getConfig(MACHINE_DETAILS);
+            }
+            if (machineDetails == null) {
+                boolean detectionEnabled = getConfig(DETECT_MACHINE_DETAILS);
+                if (!detectionEnabled || !isManaged()) {
+                    return UNKNOWN_MACHINE_DETAILS;
+                }
+                machineDetails = detectMachineDetails();
+            }
+            return machineDetails;
+        }
+    }
+
+    @Override
+    public OsDetails getOsDetails() {
+        return getMachineDetails().getOsDetails();
+    }
+
+    protected abstract MachineDetails detectMachineDetails();
+
 }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/061cf15e/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java b/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java
index 2078590..7ed83f8 100644
--- a/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java
+++ b/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java
@@ -46,7 +46,6 @@ import javax.annotation.Nullable;
 
 import org.apache.brooklyn.api.location.MachineDetails;
 import org.apache.brooklyn.api.location.MachineLocation;
-import org.apache.brooklyn.api.location.OsDetails;
 import org.apache.brooklyn.api.location.PortRange;
 import org.apache.brooklyn.api.location.PortSupplier;
 import org.apache.brooklyn.api.mgmt.Task;
@@ -59,10 +58,8 @@ import org.apache.brooklyn.core.config.ConfigUtils;
 import org.apache.brooklyn.core.config.MapConfigKey;
 import org.apache.brooklyn.core.config.Sanitizer;
 import org.apache.brooklyn.core.entity.BrooklynConfigKeys;
-import org.apache.brooklyn.core.location.BasicHardwareDetails;
 import org.apache.brooklyn.core.location.AbstractMachineLocation;
 import org.apache.brooklyn.core.location.BasicMachineDetails;
-import org.apache.brooklyn.core.location.BasicOsDetails;
 import org.apache.brooklyn.core.location.LocationConfigUtils;
 import org.apache.brooklyn.core.location.LocationConfigUtils.OsCredential;
 import org.apache.brooklyn.core.location.PortRanges;
@@ -106,7 +103,6 @@ import org.slf4j.LoggerFactory;
 import com.google.common.annotations.Beta;
 import com.google.common.base.Function;
 import com.google.common.base.MoreObjects;
-import com.google.common.base.Optional;
 import com.google.common.base.Preconditions;
 import com.google.common.base.Predicate;
 import com.google.common.base.Supplier;
@@ -173,13 +169,6 @@ public class SshMachineLocation extends AbstractMachineLocation implements Machi
     public static final ConfigKey<Duration> SSH_CACHE_EXPIRY_DURATION = ConfigKeys.newConfigKey(Duration.class,
             "sshCacheExpiryDuration", "Expiry time for unused cached ssh connections", Duration.FIVE_MINUTES);
 
-    public static final ConfigKey<MachineDetails> MACHINE_DETAILS = ConfigKeys.newConfigKey(
-            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);
-
     @SuppressWarnings("serial")
     public static final ConfigKey<Iterable<String>> PRIVATE_ADDRESSES = ConfigKeys.newConfigKey(
             new TypeToken<Iterable<String>>() {},
@@ -209,9 +198,6 @@ public class SshMachineLocation extends AbstractMachineLocation implements Machi
     @SetFromFlag
     private Set<Integer> usedPorts;
 
-    private volatile MachineDetails machineDetails;
-    private final Object machineDetailsLock = new Object();
-
     public static final ConfigKey<String> SSH_HOST = BrooklynConfigKeys.SSH_CONFIG_HOST;
     public static final ConfigKey<Integer> SSH_PORT = BrooklynConfigKeys.SSH_CONFIG_PORT;
 
@@ -1014,40 +1000,7 @@ public class SshMachineLocation extends AbstractMachineLocation implements Machi
     }
 
     @Override
-    public OsDetails getOsDetails() {
-        return getMachineDetails().getOsDetails();
-    }
-
-    /**
-     * Returns the machine details only if they are already loaded, or available directly as 
-     * config.
-     */
-    protected Optional<MachineDetails> getOptionalMachineDetails() {
-        MachineDetails result = machineDetails != null ? machineDetails : config().get(MACHINE_DETAILS);
-        return Optional.fromNullable(result);
-    }
-    
-    @Override
-    public MachineDetails getMachineDetails() {
-        synchronized (machineDetailsLock) {
-            if (machineDetails == null) {
-                machineDetails = getConfig(MACHINE_DETAILS);
-            }
-            if (machineDetails == null) {
-                machineDetails = inferMachineDetails();
-            }
-        }
-        return machineDetails;
-    }
-
-    protected MachineDetails inferMachineDetails() {
-        boolean detectionEnabled = getConfig(DETECT_MACHINE_DETAILS);
-        if (!detectionEnabled) {
-            return new BasicMachineDetails(new BasicHardwareDetails(-1, -1), new BasicOsDetails("UNKNOWN", "UNKNOWN", "UNKNOWN"));
-        } else if (!isManaged()) {
-            return new BasicMachineDetails(new BasicHardwareDetails(-1, -1), new BasicOsDetails("UNKNOWN", "UNKNOWN", "UNKNOWN"));
-        }
-        
+    protected MachineDetails detectMachineDetails() {
         Tasks.setBlockingDetails("Waiting for machine details");
         try {
             return BasicMachineDetails.forSshMachineLocationLive(this);

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/061cf15e/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsSshMachineLocation.java
----------------------------------------------------------------------
diff --git a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsSshMachineLocation.java b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsSshMachineLocation.java
index 26c37ad..c40959d 100644
--- a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsSshMachineLocation.java
+++ b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsSshMachineLocation.java
@@ -495,7 +495,7 @@ public class JcloudsSshMachineLocation extends SshMachineLocation implements Jcl
     }
     
     @Override
-    protected MachineDetails inferMachineDetails() {
+    protected MachineDetails detectMachineDetails() {
         Optional<String> name = Optional.absent();
         Optional<String> version = Optional.absent();
         Optional<String> architecture = Optional.absent();
@@ -539,7 +539,7 @@ public class JcloudsSshMachineLocation extends SshMachineLocation implements Jcl
                                 "arch={}, ram={}, #cpus={}",
                         new Object[]{this, name, version, architecture, ram, cpus});
             }
-            return super.inferMachineDetails();
+            return super.detectMachineDetails();
         }
     }
 

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/061cf15e/software/winrm/src/main/java/org/apache/brooklyn/location/winrm/WinRmMachineLocation.java
----------------------------------------------------------------------
diff --git a/software/winrm/src/main/java/org/apache/brooklyn/location/winrm/WinRmMachineLocation.java b/software/winrm/src/main/java/org/apache/brooklyn/location/winrm/WinRmMachineLocation.java
index 519d6d1..9471096 100644
--- a/software/winrm/src/main/java/org/apache/brooklyn/location/winrm/WinRmMachineLocation.java
+++ b/software/winrm/src/main/java/org/apache/brooklyn/location/winrm/WinRmMachineLocation.java
@@ -191,7 +191,13 @@ public class WinRmMachineLocation extends AbstractMachineLocation implements Mac
             }
         }
     }
-    
+
+    @Override
+    protected MachineDetails detectMachineDetails() {
+        // TODO: detect actual machine details via winRM
+        return UNKNOWN_MACHINE_DETAILS;
+    }
+
     public String getUser() {
         return config().get(USER);
     }


[3/5] brooklyn-server git commit: Pull-up mutex support.

Posted by al...@apache.org.
Pull-up mutex support.


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

Branch: refs/heads/master
Commit: 2e0889505958ece611b4b4a60555527d35ae444b
Parents: 061cf15
Author: Alasdair Hodge <gi...@alasdairhodge.co.uk>
Authored: Thu Dec 7 18:50:55 2017 +0000
Committer: Alasdair Hodge <gi...@alasdairhodge.co.uk>
Committed: Mon Dec 11 14:34:50 2017 +0000

----------------------------------------------------------------------
 .../core/location/AbstractMachineLocation.java  | 15 ++++
 .../LocalhostMachineProvisioningLocation.java   | 14 ++--
 .../location/ssh/SshMachineLocation.java        | 75 +++++++++-----------
 3 files changed, 55 insertions(+), 49 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/2e088950/core/src/main/java/org/apache/brooklyn/core/location/AbstractMachineLocation.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/location/AbstractMachineLocation.java b/core/src/main/java/org/apache/brooklyn/core/location/AbstractMachineLocation.java
index 99e2ffe..17a1217 100644
--- a/core/src/main/java/org/apache/brooklyn/core/location/AbstractMachineLocation.java
+++ b/core/src/main/java/org/apache/brooklyn/core/location/AbstractMachineLocation.java
@@ -26,6 +26,8 @@ import org.apache.brooklyn.api.location.OsDetails;
 import org.apache.brooklyn.config.ConfigKey;
 import org.apache.brooklyn.core.config.ConfigKeys;
 import org.apache.brooklyn.util.collections.MutableMap;
+import org.apache.brooklyn.util.core.mutex.MutexSupport;
+import org.apache.brooklyn.util.core.mutex.WithMutexes;
 
 import com.google.common.base.Optional;
 
@@ -46,6 +48,9 @@ public abstract class AbstractMachineLocation extends AbstractLocation implement
     private volatile MachineDetails machineDetails;
     private final Object machineDetailsLock = new Object();
 
+    private transient WithMutexes mutexSupport;
+    private transient final Object mutexSupportCreationLock = new Object();
+
 
     public AbstractMachineLocation() {
         this(MutableMap.of());
@@ -88,4 +93,14 @@ public abstract class AbstractMachineLocation extends AbstractLocation implement
 
     protected abstract MachineDetails detectMachineDetails();
 
+    public WithMutexes mutexes() {
+        synchronized (mutexSupportCreationLock) {
+            // create on demand so that it is not null after serialization
+            if (mutexSupport == null) {
+                mutexSupport = new MutexSupport();
+            }
+            return mutexSupport;
+        }
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/2e088950/core/src/main/java/org/apache/brooklyn/location/localhost/LocalhostMachineProvisioningLocation.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/location/localhost/LocalhostMachineProvisioningLocation.java b/core/src/main/java/org/apache/brooklyn/location/localhost/LocalhostMachineProvisioningLocation.java
index 1ea8a4d..9677f8c 100644
--- a/core/src/main/java/org/apache/brooklyn/location/localhost/LocalhostMachineProvisioningLocation.java
+++ b/core/src/main/java/org/apache/brooklyn/location/localhost/LocalhostMachineProvisioningLocation.java
@@ -113,7 +113,7 @@ public class LocalhostMachineProvisioningLocation extends FixedListMachineProvis
      * @see #LocalhostMachineProvisioningLocation()
      */
     @Deprecated
-    public LocalhostMachineProvisioningLocation(Map properties) {
+    public LocalhostMachineProvisioningLocation(Map<?,?> properties) {
         super(properties);
     }
     public LocalhostMachineProvisioningLocation(String name) {
@@ -269,7 +269,7 @@ public class LocalhostMachineProvisioningLocation extends FixedListMachineProvis
                 true);
 
         private static final WithMutexes mutexSupport = new MutexSupport();
-        
+
         private final Set<Integer> portsObtained = Sets.newLinkedHashSet();
 
         public LocalhostMachine() {
@@ -277,15 +277,15 @@ public class LocalhostMachineProvisioningLocation extends FixedListMachineProvis
         }
         /** @deprecated since 0.6.0 use no-arg constructor (and spec) then configure */
         @Deprecated
-        public LocalhostMachine(Map properties) {
-            super(MutableMap.builder().putAll(properties).put("mutexSupport", mutexSupport).build());
+        public LocalhostMachine(Map<?,?> properties) {
+            super(MutableMap.builder().putAll(properties).build());
         }
-        
+
         @Override
-        protected WithMutexes getMutexSupport() {
+        public WithMutexes mutexes() {
             return mutexSupport;
         }
-        
+
         @Override
         public boolean obtainSpecificPort(int portNumber) {
             if (!isSudoAllowed() && portNumber <= 1024)

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/2e088950/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java b/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java
index 7ed83f8..d2b7d10 100644
--- a/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java
+++ b/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java
@@ -79,7 +79,6 @@ import org.apache.brooklyn.util.core.internal.ssh.ShellTool;
 import org.apache.brooklyn.util.core.internal.ssh.SshException;
 import org.apache.brooklyn.util.core.internal.ssh.SshTool;
 import org.apache.brooklyn.util.core.internal.ssh.sshj.SshjTool;
-import org.apache.brooklyn.util.core.mutex.MutexSupport;
 import org.apache.brooklyn.util.core.mutex.WithMutexes;
 import org.apache.brooklyn.util.core.task.ScheduledTask;
 import org.apache.brooklyn.util.core.task.Tasks;
@@ -166,6 +165,7 @@ public class SshMachineLocation extends AbstractMachineLocation implements Machi
      */
     public static final String SSH_TOOL_CLASS_PROPERTIES_PREFIX = SSH_TOOL_CLASS.getName()+".";
 
+
     public static final ConfigKey<Duration> SSH_CACHE_EXPIRY_DURATION = ConfigKeys.newConfigKey(Duration.class,
             "sshCacheExpiryDuration", "Expiry time for unused cached ssh connections", Duration.FIVE_MINUTES);
 
@@ -189,12 +189,6 @@ public class SshMachineLocation extends AbstractMachineLocation implements Machi
     @SetFromFlag(nullable = false)
     protected InetAddress address;
 
-    // TODO should not allow this to be set from flag; it is not persisted so that will be lost
-    // (mainly used for localhost currently so not a big problem)
-    @Nullable  // lazily initialized; use getMutexSupport()
-    @SetFromFlag
-    private transient WithMutexes mutexSupport;
-
     @SetFromFlag
     private Set<Integer> usedPorts;
 
@@ -421,17 +415,6 @@ public class SshMachineLocation extends AbstractMachineLocation implements Machi
         return this;
     }
     
-    private transient final Object mutexSupportCreationLock = new Object();
-    protected WithMutexes getMutexSupport() {
-        synchronized (mutexSupportCreationLock) {
-            // create on demand so that it is not null after serialization
-            if (mutexSupport == null) {
-                mutexSupport = new MutexSupport();
-            }
-            return mutexSupport;
-        }
-    }
-    
     protected void addSshPoolCacheCleanupTask() {
         if (cleanupTask!=null && !cleanupTask.isDone()) {
             return;
@@ -1009,30 +992,6 @@ public class SshMachineLocation extends AbstractMachineLocation implements Machi
         }
     }
 
-    @Override
-    public void acquireMutex(String mutexId, String description) throws RuntimeInterruptedException {
-        try {
-            getMutexSupport().acquireMutex(mutexId, description);
-        } catch (InterruptedException ie) {
-            throw new RuntimeInterruptedException("Interrupted waiting for mutex: " + mutexId, ie);
-        }
-    }
-
-    @Override
-    public boolean tryAcquireMutex(String mutexId, String description) {
-        return getMutexSupport().tryAcquireMutex(mutexId, description);
-    }
-
-    @Override
-    public void releaseMutex(String mutexId) {
-        getMutexSupport().releaseMutex(mutexId);
-    }
-
-    @Override
-    public boolean hasMutex(String mutexId) {
-        return getMutexSupport().hasMutex(mutexId);
-    }
-
     //We want the SshMachineLocation to be serializable and therefore the pool needs to be dealt with correctly.
     //In this case we are not serializing the pool (we made the field transient) and create a new pool when deserialized.
     //This fix is currently needed for experiments, but isn't used in normal Brooklyn usage.
@@ -1057,4 +1016,36 @@ public class SshMachineLocation extends AbstractMachineLocation implements Machi
         return getConfig(SshTool.PROP_PASSWORD);
     }
 
+    /** @deprecated since 1.0.0; mutex-related methods are now accessible via {@link #mutexes()} */
+    @Override
+    @Deprecated
+    public void acquireMutex(String mutexId, String description) throws RuntimeInterruptedException {
+        try {
+            mutexes().acquireMutex(mutexId, description);
+        } catch (InterruptedException ie) {
+            throw new RuntimeInterruptedException("Interrupted waiting for mutex: " + mutexId, ie);
+        }
+    }
+
+    /** @deprecated since 1.0.0; mutex-related methods are now accessible via {@link #mutexes()} */
+    @Override
+    @Deprecated
+    public boolean tryAcquireMutex(String mutexId, String description) {
+        return mutexes().tryAcquireMutex(mutexId, description);
+    }
+
+    /** @deprecated since 1.0.0; mutex-related methods are now accessible via {@link #mutexes()} */
+    @Override
+    @Deprecated
+    public void releaseMutex(String mutexId) {
+        mutexes().releaseMutex(mutexId);
+    }
+
+    /** @deprecated since 1.0.0; mutex-related methods are now accessible via {@link #mutexes()} */
+    @Override
+    @Deprecated
+    public boolean hasMutex(String mutexId) {
+        return mutexes().hasMutex(mutexId);
+    }
+
 }


[2/5] brooklyn-server git commit: Introduce `AbstractMachineLocation` base class.

Posted by al...@apache.org.
Introduce `AbstractMachineLocation` base class.

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

Branch: refs/heads/master
Commit: 7e813b2da75f15e1b63bc849ef81bb50c315af5e
Parents: 770ca34
Author: Alasdair Hodge <gi...@alasdairhodge.co.uk>
Authored: Thu Dec 7 18:29:43 2017 +0000
Committer: Alasdair Hodge <gi...@alasdairhodge.co.uk>
Committed: Fri Dec 8 09:55:30 2017 +0000

----------------------------------------------------------------------
 .../core/location/AbstractMachineLocation.java  | 36 ++++++++++++++++++++
 .../location/ssh/SshMachineLocation.java        |  4 +--
 .../location/winrm/WinRmMachineLocation.java    |  5 +--
 3 files changed, 41 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7e813b2d/core/src/main/java/org/apache/brooklyn/core/location/AbstractMachineLocation.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/location/AbstractMachineLocation.java b/core/src/main/java/org/apache/brooklyn/core/location/AbstractMachineLocation.java
new file mode 100644
index 0000000..a248c89
--- /dev/null
+++ b/core/src/main/java/org/apache/brooklyn/core/location/AbstractMachineLocation.java
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.core.location;
+
+import java.util.Map;
+
+import org.apache.brooklyn.api.location.MachineLocation;
+import org.apache.brooklyn.util.collections.MutableMap;
+
+public abstract class AbstractMachineLocation extends AbstractLocation implements MachineLocation {
+
+    public AbstractMachineLocation() {
+        this(MutableMap.of());
+    }
+
+    public AbstractMachineLocation(Map<?,?> properties) {
+        super(properties);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7e813b2d/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java b/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java
index 0ef3812..2078590 100644
--- a/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java
+++ b/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java
@@ -59,8 +59,8 @@ import org.apache.brooklyn.core.config.ConfigUtils;
 import org.apache.brooklyn.core.config.MapConfigKey;
 import org.apache.brooklyn.core.config.Sanitizer;
 import org.apache.brooklyn.core.entity.BrooklynConfigKeys;
-import org.apache.brooklyn.core.location.AbstractLocation;
 import org.apache.brooklyn.core.location.BasicHardwareDetails;
+import org.apache.brooklyn.core.location.AbstractMachineLocation;
 import org.apache.brooklyn.core.location.BasicMachineDetails;
 import org.apache.brooklyn.core.location.BasicOsDetails;
 import org.apache.brooklyn.core.location.LocationConfigUtils;
@@ -137,7 +137,7 @@ import groovy.lang.Closure;
  * Additionally there are routines to copyTo, copyFrom; and installTo (which tries a curl, and falls back to copyTo
  * in event the source is accessible by the caller only).
  */
-public class SshMachineLocation extends AbstractLocation implements MachineLocation, PortSupplier, WithMutexes, Closeable {
+public class SshMachineLocation extends AbstractMachineLocation implements MachineLocation, PortSupplier, WithMutexes, Closeable {
 
     private static final Logger LOG = LoggerFactory.getLogger(SshMachineLocation.class);
     private static final Logger logSsh = LoggerFactory.getLogger(BrooklynLogging.SSH_IO);

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7e813b2d/software/winrm/src/main/java/org/apache/brooklyn/location/winrm/WinRmMachineLocation.java
----------------------------------------------------------------------
diff --git a/software/winrm/src/main/java/org/apache/brooklyn/location/winrm/WinRmMachineLocation.java b/software/winrm/src/main/java/org/apache/brooklyn/location/winrm/WinRmMachineLocation.java
index cf0819b..519d6d1 100644
--- a/software/winrm/src/main/java/org/apache/brooklyn/location/winrm/WinRmMachineLocation.java
+++ b/software/winrm/src/main/java/org/apache/brooklyn/location/winrm/WinRmMachineLocation.java
@@ -41,7 +41,7 @@ import org.apache.brooklyn.core.config.ConfigKeys;
 import org.apache.brooklyn.core.config.ConfigUtils;
 import org.apache.brooklyn.core.config.Sanitizer;
 import org.apache.brooklyn.core.entity.BrooklynConfigKeys;
-import org.apache.brooklyn.core.location.AbstractLocation;
+import org.apache.brooklyn.core.location.AbstractMachineLocation;
 import org.apache.brooklyn.core.location.access.PortForwardManager;
 import org.apache.brooklyn.core.location.access.PortForwardManagerLocationResolver;
 import org.apache.brooklyn.core.mgmt.ManagementContextInjectable;
@@ -71,7 +71,7 @@ import com.google.common.collect.Iterables;
 import com.google.common.net.HostAndPort;
 import com.google.common.reflect.TypeToken;
 
-public class WinRmMachineLocation extends AbstractLocation implements MachineLocation {
+public class WinRmMachineLocation extends AbstractMachineLocation implements MachineLocation {
 
     private static final Logger LOG = LoggerFactory.getLogger(WinRmMachineLocation.class);
 
@@ -485,4 +485,5 @@ public class WinRmMachineLocation extends AbstractLocation implements MachineLoc
 //                        "AAgAD0AIAAkAFIARABQAC4AUwBlAHQAQQBsAGwAbwB3AFQAUwBDAG8AbgBuAGUAYwB0AGkAbwBuAHMAKAAxACwAMQApAA=="
 //        ));
     }
+
 }


[5/5] brooklyn-server git commit: This closes #913

Posted by al...@apache.org.
This closes #913


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

Branch: refs/heads/master
Commit: 862fef815f33b9d8af7b830b408fc4181a3a6de7
Parents: 21c2853 0f9d538
Author: Aled Sage <al...@gmail.com>
Authored: Mon Dec 18 15:42:00 2017 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Mon Dec 18 15:42:00 2017 +0000

----------------------------------------------------------------------
 .../core/location/AbstractMachineLocation.java  | 106 +++++++++++++++
 .../LocalhostMachineProvisioningLocation.java   |  14 +-
 .../location/ssh/SshMachineLocation.java        | 135 ++++++-------------
 .../jclouds/JcloudsSshMachineLocation.java      |  12 +-
 .../location/winrm/WinRmMachineLocation.java    |  13 +-
 5 files changed, 163 insertions(+), 117 deletions(-)
----------------------------------------------------------------------



[4/5] brooklyn-server git commit: Trivial tidies.

Posted by al...@apache.org.
Trivial tidies.


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

Branch: refs/heads/master
Commit: 0f9d538ba398c5352f69e6f5ef2cce32fba87110
Parents: 2e08895
Author: Alasdair Hodge <gi...@alasdairhodge.co.uk>
Authored: Thu Dec 7 18:51:17 2017 +0000
Committer: Alasdair Hodge <gi...@alasdairhodge.co.uk>
Committed: Mon Dec 11 14:34:50 2017 +0000

----------------------------------------------------------------------
 .../org/apache/brooklyn/location/ssh/SshMachineLocation.java | 7 ++-----
 .../brooklyn/location/jclouds/JcloudsSshMachineLocation.java | 8 --------
 2 files changed, 2 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/0f9d538b/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java b/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java
index d2b7d10..fc1fadc 100644
--- a/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java
+++ b/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java
@@ -83,7 +83,6 @@ import org.apache.brooklyn.util.core.mutex.WithMutexes;
 import org.apache.brooklyn.util.core.task.ScheduledTask;
 import org.apache.brooklyn.util.core.task.Tasks;
 import org.apache.brooklyn.util.core.task.system.internal.ExecWithLoggingHelpers;
-import org.apache.brooklyn.util.core.task.system.internal.ExecWithLoggingHelpers.ExecRunner;
 import org.apache.brooklyn.util.exceptions.Exceptions;
 import org.apache.brooklyn.util.exceptions.RuntimeInterruptedException;
 import org.apache.brooklyn.util.guava.KeyTransformingLoadingCache.KeyTransformingSameTypeLoadingCache;
@@ -120,8 +119,6 @@ import com.google.common.collect.Sets;
 import com.google.common.net.HostAndPort;
 import com.google.common.reflect.TypeToken;
 
-import groovy.lang.Closure;
-
 /**
  * Operations on a machine that is accessible via ssh.
  * <p>
@@ -269,7 +266,7 @@ public class SshMachineLocation extends AbstractMachineLocation implements Machi
         this(MutableMap.of());
     }
 
-    public SshMachineLocation(Map properties) {
+    public SshMachineLocation(Map<?,?> properties) {
         super(properties);
         usedPorts = (usedPorts != null) ? Sets.newLinkedHashSet(usedPorts) : Sets.<Integer>newLinkedHashSet();
     }
@@ -574,7 +571,7 @@ public class SshMachineLocation extends AbstractMachineLocation implements Machi
     }
 
     protected boolean previouslyConnected = false;
-    protected SshTool connectSsh(Map props) {
+    protected SshTool connectSsh(Map<?,?> props) {
         try {
             if (!groovyTruth(user)) {
                 String newUser = getUser();

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/0f9d538b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsSshMachineLocation.java
----------------------------------------------------------------------
diff --git a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsSshMachineLocation.java b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsSshMachineLocation.java
index c40959d..905864f 100644
--- a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsSshMachineLocation.java
+++ b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsSshMachineLocation.java
@@ -24,7 +24,6 @@ import static org.apache.brooklyn.util.JavaGroovyEquivalents.groovyTruth;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 
@@ -45,9 +44,6 @@ import org.apache.brooklyn.util.exceptions.Exceptions;
 import org.apache.brooklyn.util.net.Networking;
 import org.apache.brooklyn.util.text.Strings;
 import org.jclouds.compute.ComputeService;
-import org.jclouds.compute.ComputeServiceContext;
-import org.jclouds.compute.callables.RunScriptOnNode;
-import org.jclouds.compute.domain.ExecResponse;
 import org.jclouds.compute.domain.Hardware;
 import org.jclouds.compute.domain.Image;
 import org.jclouds.compute.domain.NodeMetadata;
@@ -55,10 +51,7 @@ import org.jclouds.compute.domain.OperatingSystem;
 import org.jclouds.compute.domain.OsFamily;
 import org.jclouds.compute.domain.Processor;
 import org.jclouds.compute.domain.Template;
-import org.jclouds.compute.options.RunScriptOptions;
 import org.jclouds.domain.LoginCredentials;
-import org.jclouds.scriptbuilder.domain.InterpretableStatement;
-import org.jclouds.scriptbuilder.domain.Statement;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -70,7 +63,6 @@ import com.google.common.base.Throwables;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.net.HostAndPort;
-import com.google.common.util.concurrent.ListenableFuture;
 
 public class JcloudsSshMachineLocation extends SshMachineLocation implements JcloudsMachineLocation {