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 {