You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by ge...@apache.org on 2017/01/20 15:27:21 UTC

[1/5] brooklyn-server git commit: Override more config in AbstractJcloudsStubbedUnitTest

Repository: brooklyn-server
Updated Branches:
  refs/heads/master 4d2f7cc78 -> bfc74ebc5


Override more config in AbstractJcloudsStubbedUnitTest

Mostly useful for tests that want to provide a different predicate for
testing reachability.


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

Branch: refs/heads/master
Commit: e631ffa9306104151e88d4030a5c5f62348a98cb
Parents: 4512353
Author: Sam Corbett <sa...@cloudsoftcorp.com>
Authored: Mon Jan 16 17:19:35 2017 +0000
Committer: Sam Corbett <sa...@cloudsoftcorp.com>
Committed: Fri Jan 20 10:25:13 2017 +0000

----------------------------------------------------------------------
 .../jclouds/AbstractJcloudsStubbedUnitTest.java | 32 ++++++++++++--------
 1 file changed, 20 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/e631ffa9/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/AbstractJcloudsStubbedUnitTest.java
----------------------------------------------------------------------
diff --git a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/AbstractJcloudsStubbedUnitTest.java b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/AbstractJcloudsStubbedUnitTest.java
index 6b6f790..0eef3a6 100644
--- a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/AbstractJcloudsStubbedUnitTest.java
+++ b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/AbstractJcloudsStubbedUnitTest.java
@@ -33,6 +33,7 @@ import org.slf4j.LoggerFactory;
 import org.testng.annotations.AfterMethod;
 import org.testng.annotations.BeforeMethod;
 
+import com.google.common.base.Predicate;
 import com.google.common.base.Predicates;
 import com.google.common.collect.ImmutableMap;
 
@@ -91,19 +92,26 @@ public abstract class AbstractJcloudsStubbedUnitTest extends AbstractJcloudsLive
     protected void initNodeCreatorAndJcloudsLocation(NodeCreator nodeCreator, Map<?, ?> jcloudsLocationConfig) throws Exception {
         this.nodeCreator = nodeCreator;
         this.computeServiceRegistry = new StubbedComputeServiceRegistry(nodeCreator, false);
-
+        final Map<Object, Object> defaults = ImmutableMap.builder()
+                .put(JcloudsLocationConfig.COMPUTE_SERVICE_REGISTRY, computeServiceRegistry)
+                .put(JcloudsLocationConfig.TEMPLATE_BUILDER, JcloudsStubTemplateBuilder.create())
+                .put(JcloudsLocationConfig.ACCESS_IDENTITY, "stub-identity")
+                .put(JcloudsLocationConfig.ACCESS_CREDENTIAL, "stub-credential")
+                .put(SshMachineLocation.SSH_TOOL_CLASS, RecordingSshTool.class.getName())
+                .put(WinRmMachineLocation.WINRM_TOOL_CLASS, RecordingWinRmTool.class.getName())
+                .put(JcloudsLocation.POLL_FOR_FIRST_REACHABLE_ADDRESS_PREDICATE, Predicates.alwaysTrue())
+                .build();
+        final ImmutableMap.Builder<Object, Object> flags = ImmutableMap.builder()
+                .putAll(jcloudsLocationConfig);
+        for (Map.Entry<Object, Object> entry : defaults.entrySet()) {
+            if (!jcloudsLocationConfig.containsKey(entry.getKey())) {
+                flags.put(entry.getKey(), entry.getValue());
+            } else {
+                LOG.debug("Overridden default value for {} with: {}", new Object[]{entry.getKey(), entry.getValue()});
+            }
+        }
         this.jcloudsLocation = (JcloudsLocation)managementContext.getLocationRegistry().getLocationManaged(
-                getLocationSpec(),
-                ImmutableMap.builder()
-                        .put(JcloudsLocationConfig.COMPUTE_SERVICE_REGISTRY, computeServiceRegistry)
-                        .put(JcloudsLocationConfig.TEMPLATE_BUILDER, JcloudsStubTemplateBuilder.create())
-                        .put(JcloudsLocationConfig.ACCESS_IDENTITY, "stub-identity")
-                        .put(JcloudsLocationConfig.ACCESS_CREDENTIAL, "stub-credential")
-                        .put(SshMachineLocation.SSH_TOOL_CLASS, RecordingSshTool.class.getName())
-                        .put(WinRmMachineLocation.WINRM_TOOL_CLASS, RecordingWinRmTool.class.getName())
-                        .put(JcloudsLocation.POLL_FOR_FIRST_REACHABLE_ADDRESS_PREDICATE, Predicates.alwaysTrue())
-                        .putAll(jcloudsLocationConfig)
-                        .build());
+                getLocationSpec(), flags.build());
     }
 
     /**


[3/5] brooklyn-server git commit: Miscellany

Posted by ge...@apache.org.
Miscellany

* Relax the generics on BasicJcloudsLocationCustomizer's constructor
* Typos
* SshCommandSensor calls entity.addFeed with itself
* Delete unused test class
* Better toString in WebAppContextProvider
* JcloudsLocation temporary ssh locations respect configured ssh tools


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

Branch: refs/heads/master
Commit: b6d0ab22a1996174f5e8aac4cd81f59aa86b59a4
Parents: e631ffa
Author: Sam Corbett <sa...@cloudsoftcorp.com>
Authored: Thu Dec 22 19:32:51 2016 +0000
Committer: Sam Corbett <sa...@cloudsoftcorp.com>
Committed: Fri Jan 20 10:25:14 2017 +0000

----------------------------------------------------------------------
 .../org/apache/brooklyn/api/entity/EntitySpec.java   |  2 +-
 .../core/mgmt/internal/BasicSubscriptionContext.java |  2 +-
 .../brooklyn/core/sensor/ssh/SshCommandSensor.java   |  6 ++++--
 .../brooklyn/launcher/WebAppContextProvider.java     |  7 ++++---
 .../brooklyn/launcher/BrooklynLauncherTest.java      |  2 +-
 .../jclouds/BasicJcloudsLocationCustomizer.java      |  6 ++++--
 .../brooklyn/location/jclouds/JcloudsLocation.java   |  9 +++++++++
 ...cationReachabilityPredicateInstantiationTest.java | 15 ++++-----------
 .../filter/BrooklynPropertiesSecurityFilter.java     |  9 +++++++--
 9 files changed, 35 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/b6d0ab22/api/src/main/java/org/apache/brooklyn/api/entity/EntitySpec.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/entity/EntitySpec.java b/api/src/main/java/org/apache/brooklyn/api/entity/EntitySpec.java
index 30df4ed..d431c17 100644
--- a/api/src/main/java/org/apache/brooklyn/api/entity/EntitySpec.java
+++ b/api/src/main/java/org/apache/brooklyn/api/entity/EntitySpec.java
@@ -382,7 +382,7 @@ public class EntitySpec<T extends Entity> extends AbstractBrooklynObjectSpec<T,E
     }
     
      /** adds a location to the spec
-      * @deprecated since 0.9.0 pass a spec, using {@link #enricherSpecs(Iterable)} */ 
+      * @deprecated since 0.9.0 pass a spec, using {@link #location(LocationSpec)} */
      @Deprecated
      // there are still many places in tests where we use this;
      // in some we want to force the use of a given location.

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/b6d0ab22/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/BasicSubscriptionContext.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/BasicSubscriptionContext.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/BasicSubscriptionContext.java
index 2c6ab65..3064fc0 100644
--- a/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/BasicSubscriptionContext.java
+++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/BasicSubscriptionContext.java
@@ -166,7 +166,7 @@ public class BasicSubscriptionContext implements SubscriptionContext {
         for (SubscriptionHandle s : subscriptionsCopy) {
             count++; 
             boolean result = unsubscribe(s); 
-            if (!result) LOG.warn("When unsubscribing from all of {}, unsubscribe of {} return false", subscriber, s);
+            if (!result) LOG.warn("When unsubscribing from all of {}, unsubscribe of {} returned false", subscriber, s);
         }
         return count;
     }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/b6d0ab22/core/src/main/java/org/apache/brooklyn/core/sensor/ssh/SshCommandSensor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/sensor/ssh/SshCommandSensor.java b/core/src/main/java/org/apache/brooklyn/core/sensor/ssh/SshCommandSensor.java
index 24bc2d4..eca50f7 100644
--- a/core/src/main/java/org/apache/brooklyn/core/sensor/ssh/SshCommandSensor.java
+++ b/core/src/main/java/org/apache/brooklyn/core/sensor/ssh/SshCommandSensor.java
@@ -78,7 +78,7 @@ public final class SshCommandSensor<T> extends AddSensor<T> {
         super(params);
 
         // TODO create a supplier for the command string to support attribute embedding
-        command = Preconditions.checkNotNull(params.get(SENSOR_COMMAND), "SSH command must be dupplied when defining this sensor");
+        command = Preconditions.checkNotNull(params.get(SENSOR_COMMAND), "SSH command must be supplied when defining this sensor");
         executionDir = params.get(SENSOR_EXECUTION_DIR);
         sensorEnv = params.get(SENSOR_SHELL_ENVIRONMENT);
     }
@@ -131,11 +131,13 @@ public final class SshCommandSensor<T> extends AddSensor<T> {
                             return TypeCoercions.coerce(Strings.trimEnd(input), (Class<T>) sensor.getType());
                         }}, SshValueFunctions.stdout()));
 
-        SshFeed.builder()
+        SshFeed feed = SshFeed.builder()
                 .entity(entity)
                 .onlyIfServiceUp()
                 .poll(pollConfig)
                 .build();
+
+        entity.addFeed(feed);
     }
 
     @Beta

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/b6d0ab22/launcher/src/main/java/org/apache/brooklyn/launcher/WebAppContextProvider.java
----------------------------------------------------------------------
diff --git a/launcher/src/main/java/org/apache/brooklyn/launcher/WebAppContextProvider.java b/launcher/src/main/java/org/apache/brooklyn/launcher/WebAppContextProvider.java
index fc8b89f..840e541 100644
--- a/launcher/src/main/java/org/apache/brooklyn/launcher/WebAppContextProvider.java
+++ b/launcher/src/main/java/org/apache/brooklyn/launcher/WebAppContextProvider.java
@@ -52,8 +52,8 @@ public class WebAppContextProvider {
      * @param warUrl The url from which the war should be obtained.
      */
     public WebAppContextProvider(String pathSpec, String warUrl) {
-        this.warUrl = warUrl;
-        String cleanPathSpec = pathSpec;
+        this.warUrl = checkNotNull(warUrl, "warUrl");
+        String cleanPathSpec = checkNotNull(pathSpec, "pathSpec");
         while (cleanPathSpec.startsWith("/")) {
             cleanPathSpec = cleanPathSpec.substring(1);
         }
@@ -116,7 +116,8 @@ public class WebAppContextProvider {
 
     @Override
     public String toString() {
-        return warUrl + "@" + pathSpec;
+        final String path = this.pathSpec.isEmpty() ? "/" : this.pathSpec;
+        return warUrl + "@" + path;
     }
 
 }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/b6d0ab22/launcher/src/test/java/org/apache/brooklyn/launcher/BrooklynLauncherTest.java
----------------------------------------------------------------------
diff --git a/launcher/src/test/java/org/apache/brooklyn/launcher/BrooklynLauncherTest.java b/launcher/src/test/java/org/apache/brooklyn/launcher/BrooklynLauncherTest.java
index fe5eda6..c3db7ad 100644
--- a/launcher/src/test/java/org/apache/brooklyn/launcher/BrooklynLauncherTest.java
+++ b/launcher/src/test/java/org/apache/brooklyn/launcher/BrooklynLauncherTest.java
@@ -73,7 +73,7 @@ public class BrooklynLauncherTest {
         if (launcher != null) launcher.terminate();
         launcher = null;
     }
-    
+
     // Integration because takes a few seconds to start web-console
     @Test(groups="Integration")
     public void testStartsWebServerOnExpectectedPort() throws Exception {

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/b6d0ab22/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/BasicJcloudsLocationCustomizer.java
----------------------------------------------------------------------
diff --git a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/BasicJcloudsLocationCustomizer.java b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/BasicJcloudsLocationCustomizer.java
index dc03447..93f53c0 100644
--- a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/BasicJcloudsLocationCustomizer.java
+++ b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/BasicJcloudsLocationCustomizer.java
@@ -29,8 +29,10 @@ import org.apache.brooklyn.config.ConfigKey;
 import org.apache.brooklyn.core.config.ConfigKeys;
 import org.apache.brooklyn.core.entity.BrooklynConfigKeys;
 import org.apache.brooklyn.core.location.LocationConfigKeys;
+import org.apache.brooklyn.core.mgmt.BrooklynTaskTags;
 import org.apache.brooklyn.core.objs.BasicConfigurableObject;
 import org.apache.brooklyn.util.core.config.ConfigBag;
+import org.apache.brooklyn.util.core.task.Tasks;
 import org.jclouds.compute.ComputeService;
 import org.jclouds.compute.domain.Template;
 import org.jclouds.compute.domain.TemplateBuilder;
@@ -55,10 +57,10 @@ public class BasicJcloudsLocationCustomizer extends BasicConfigurableObject impl
     private static final Logger LOG = LoggerFactory.getLogger(BasicJcloudsLocationCustomizer.class);
 
     public BasicJcloudsLocationCustomizer() {
-        this(ImmutableMap.<String, String>of());
+        this(ImmutableMap.of());
     }
 
-    public BasicJcloudsLocationCustomizer(Map<String, String> params) {
+    public BasicJcloudsLocationCustomizer(Map<?, ?> params) {
         this(ConfigBag.newInstance(params));
     }
 

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/b6d0ab22/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsLocation.java
----------------------------------------------------------------------
diff --git a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsLocation.java b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsLocation.java
index d7ff9e8..cb6a8e8 100644
--- a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsLocation.java
+++ b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsLocation.java
@@ -1612,6 +1612,11 @@ public class JcloudsLocation extends AbstractCloudMachineProvisioningLocation im
         sshProps.put("port", hostAndPort.getPort());
         sshProps.put(AbstractLocation.TEMPORARY_LOCATION.getName(), true);
         sshProps.put(LocalLocationManager.CREATE_UNMANAGED.getName(), true);
+        String sshClass = config().get(SshMachineLocation.SSH_TOOL_CLASS);
+        if (Strings.isNonBlank(sshClass)) {
+            sshProps.put(SshMachineLocation.SSH_TOOL_CLASS.getName(), sshClass);
+        }
+
         sshProps.remove("id");
         sshProps.remove("password");
         sshProps.remove("privateKeyData");
@@ -1647,6 +1652,10 @@ public class JcloudsLocation extends AbstractCloudMachineProvisioningLocation im
         winrmProps.remove("privateKeyData");
         winrmProps.remove("privateKeyFile");
         winrmProps.remove("privateKeyPassphrase");
+        String winrmClass = config().get(WinRmMachineLocation.WINRM_TOOL_CLASS);
+        if (Strings.isNonBlank(winrmClass)) {
+            winrmProps.put(WinRmMachineLocation.WINRM_TOOL_CLASS.getName(), winrmClass);
+        }
 
         if (initialPassword.isPresent()) winrmProps.put("password", initialPassword.get());
         if (initialPrivateKey.isPresent()) winrmProps.put("privateKeyData", initialPrivateKey.get());

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/b6d0ab22/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/JcloudsLocationReachabilityPredicateInstantiationTest.java
----------------------------------------------------------------------
diff --git a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/JcloudsLocationReachabilityPredicateInstantiationTest.java b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/JcloudsLocationReachabilityPredicateInstantiationTest.java
index 8178639..41377d1 100644
--- a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/JcloudsLocationReachabilityPredicateInstantiationTest.java
+++ b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/JcloudsLocationReachabilityPredicateInstantiationTest.java
@@ -166,11 +166,14 @@ public class JcloudsLocationReachabilityPredicateInstantiationTest {
     }
 
     public static class RecordingReachabilityCheckProtectedMapConstructor implements Predicate<HostAndPort> {
+        @SuppressWarnings("unused")
         public RecordingReachabilityCheckProtectedMapConstructor() {
             TEST_INIT_MAP_AND_EMPTY_CONSTRUCTOR_COUNTER.getAndIncrement();
         }
 
-        protected RecordingReachabilityCheckProtectedMapConstructor(Map<String, Object> flags) {}
+        @SuppressWarnings("unused")
+        protected RecordingReachabilityCheckProtectedMapConstructor(Map<String, Object> flags) {
+        }
 
         @Override
         public boolean apply(@Nullable HostAndPort input) {
@@ -178,14 +181,4 @@ public class JcloudsLocationReachabilityPredicateInstantiationTest {
         }
     }
 
-    public static class BailOutJcloudsLocation extends JcloudsLocation {
-        public BailOutJcloudsLocation() {
-            super();
-        }
-
-        @Override
-        public String getFirstReachableAddress(NodeMetadata nodeMetada, ConfigBag setup) {
-            return super.getFirstReachableAddress(nodeMetada, setup);
-        }
-    }
 }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/b6d0ab22/rest/rest-server/src/main/java/org/apache/brooklyn/rest/filter/BrooklynPropertiesSecurityFilter.java
----------------------------------------------------------------------
diff --git a/rest/rest-server/src/main/java/org/apache/brooklyn/rest/filter/BrooklynPropertiesSecurityFilter.java b/rest/rest-server/src/main/java/org/apache/brooklyn/rest/filter/BrooklynPropertiesSecurityFilter.java
index c1d2d9f..8b3a04b 100644
--- a/rest/rest-server/src/main/java/org/apache/brooklyn/rest/filter/BrooklynPropertiesSecurityFilter.java
+++ b/rest/rest-server/src/main/java/org/apache/brooklyn/rest/filter/BrooklynPropertiesSecurityFilter.java
@@ -148,8 +148,13 @@ public class BrooklynPropertiesSecurityFilter implements Filter {
         String authorization = request.getHeader("Authorization");
         if (authorization != null) {
             String userpass = new String(Base64.decodeBase64(authorization.substring(6)));
-            user = userpass.substring(0, userpass.indexOf(":"));
-            pass = userpass.substring(userpass.indexOf(":") + 1);
+            int idxColon = userpass.indexOf(":");
+            if (idxColon >= 0) {
+                user = userpass.substring(0, idxColon);
+                pass = userpass.substring(idxColon + 1);
+            } else {
+                return false;
+            }
         }
         if (provider.authenticate(session, user, pass)) {
             if (user != null) {


[2/5] brooklyn-server git commit: RecordingWinRm+SshTool give better error messages when there were no execs

Posted by ge...@apache.org.
RecordingWinRm+SshTool give better error messages when there were no execs


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

Branch: refs/heads/master
Commit: 45123535a5b600f26be59be70a1772ddeaf23bee
Parents: 4d2f7cc
Author: Sam Corbett <sa...@cloudsoftcorp.com>
Authored: Mon Jan 16 12:36:19 2017 +0000
Committer: Sam Corbett <sa...@cloudsoftcorp.com>
Committed: Fri Jan 20 10:25:13 2017 +0000

----------------------------------------------------------------------
 .../brooklyn/util/core/internal/ssh/RecordingSshTool.java     | 7 +++++--
 .../brooklyn/util/core/internal/winrm/RecordingWinRmTool.java | 3 +++
 2 files changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/45123535/core/src/test/java/org/apache/brooklyn/util/core/internal/ssh/RecordingSshTool.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/brooklyn/util/core/internal/ssh/RecordingSshTool.java b/core/src/test/java/org/apache/brooklyn/util/core/internal/ssh/RecordingSshTool.java
index 02109be..82524d3 100644
--- a/core/src/test/java/org/apache/brooklyn/util/core/internal/ssh/RecordingSshTool.java
+++ b/core/src/test/java/org/apache/brooklyn/util/core/internal/ssh/RecordingSshTool.java
@@ -187,9 +187,12 @@ public class RecordingSshTool implements SshTool {
     public static List<ExecCmd> getExecCmds() {
         return ImmutableList.copyOf(execScriptCmds);
     }
-    
+
     public static ExecCmd getLastExecCmd() {
-        return execScriptCmds.get(execScriptCmds.size()-1);
+        if (execScriptCmds.isEmpty()) {
+            throw new IllegalStateException("No executions recorded");
+        }
+        return execScriptCmds.get(execScriptCmds.size() - 1);
     }
     
     public static Map<?,?> getLastConstructorProps() {

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/45123535/software/winrm/src/test/java/org/apache/brooklyn/util/core/internal/winrm/RecordingWinRmTool.java
----------------------------------------------------------------------
diff --git a/software/winrm/src/test/java/org/apache/brooklyn/util/core/internal/winrm/RecordingWinRmTool.java b/software/winrm/src/test/java/org/apache/brooklyn/util/core/internal/winrm/RecordingWinRmTool.java
index 6d39fab..a314795 100644
--- a/software/winrm/src/test/java/org/apache/brooklyn/util/core/internal/winrm/RecordingWinRmTool.java
+++ b/software/winrm/src/test/java/org/apache/brooklyn/util/core/internal/winrm/RecordingWinRmTool.java
@@ -119,6 +119,9 @@ public class RecordingWinRmTool implements WinRmTool {
     }
     
     public static ExecParams getLastExec() {
+        if (execs.isEmpty()) {
+            throw new IllegalStateException("No executions recorded");
+        }
         return execs.get(execs.size()-1);
     }
 


[5/5] brooklyn-server git commit: Closes #524

Posted by ge...@apache.org.
Closes #524

Misc improvements

A bunch of things I've found useful.


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

Branch: refs/heads/master
Commit: bfc74ebc5fba70ce98621abb1b4318ec591dc999
Parents: 4d2f7cc 048bb6b
Author: Geoff Macartney <ge...@cloudsoftcorp.com>
Authored: Fri Jan 20 15:26:57 2017 +0000
Committer: Geoff Macartney <ge...@cloudsoftcorp.com>
Committed: Fri Jan 20 15:26:57 2017 +0000

----------------------------------------------------------------------
 .../apache/brooklyn/api/entity/EntitySpec.java  |  2 +-
 .../mgmt/internal/BasicSubscriptionContext.java |  2 +-
 .../core/sensor/ssh/SshCommandSensor.java       |  6 ++-
 .../core/internal/ssh/RecordingSshTool.java     |  7 +++-
 .../launcher/WebAppContextProvider.java         |  7 ++--
 .../brooklyn/launcher/BrooklynLauncherTest.java |  2 +-
 .../jclouds/BasicJcloudsLocationCustomizer.java |  6 ++-
 .../location/jclouds/JcloudsLocation.java       | 44 ++++++++++----------
 .../jclouds/AbstractJcloudsStubbedUnitTest.java | 32 ++++++++------
 ...nReachabilityPredicateInstantiationTest.java | 15 ++-----
 .../BrooklynPropertiesSecurityFilter.java       |  9 +++-
 .../core/internal/winrm/RecordingWinRmTool.java |  3 ++
 12 files changed, 77 insertions(+), 58 deletions(-)
----------------------------------------------------------------------



[4/5] brooklyn-server git commit: No need to wrap log message in try catch

Posted by ge...@apache.org.
No need to wrap log message in try catch


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

Branch: refs/heads/master
Commit: 048bb6bff5562f6884130391463da0d20dc9b60c
Parents: b6d0ab2
Author: Sam Corbett <sa...@cloudsoftcorp.com>
Authored: Tue Jan 17 17:24:27 2017 +0000
Committer: Sam Corbett <sa...@cloudsoftcorp.com>
Committed: Fri Jan 20 10:25:14 2017 +0000

----------------------------------------------------------------------
 .../location/jclouds/JcloudsLocation.java       | 35 ++++++++------------
 1 file changed, 14 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/048bb6bf/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsLocation.java
----------------------------------------------------------------------
diff --git a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsLocation.java b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsLocation.java
index cb6a8e8..8fac7e1 100644
--- a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsLocation.java
+++ b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsLocation.java
@@ -1043,27 +1043,20 @@ public class JcloudsLocation extends AbstractCloudMachineProvisioningLocation im
             }
 
             customizedTimestamp = Duration.of(provisioningStopwatch);
-
-            try {
-                String logMessage = "Finished VM "+getCreationString(setup)+" creation:"
-                        + " "+machineLocation.getUser()+"@"+machineLocation.getAddress()+":"+machineLocation.getPort()
-                        + (Boolean.TRUE.equals(setup.get(LOG_CREDENTIALS))
-                                ? "password=" + userCredentials.getOptionalPassword().or("<absent>")
-                                + " && key=" + userCredentials.getOptionalPrivateKey().or("<absent>")
-                                : "")
-                        + " ready after "+Duration.of(provisioningStopwatch).toStringRounded()
-                        + " ("
-                        + "semaphore obtained in "+Duration.of(semaphoreTimestamp).toStringRounded()+";"
-                        + template+" template built in "+Duration.of(templateTimestamp).subtract(semaphoreTimestamp).toStringRounded()+";"
-                        + " "+node+" provisioned in "+Duration.of(provisionTimestamp).subtract(templateTimestamp).toStringRounded()+";"
-                        + " "+machineLocation+" connection usable in "+Duration.of(usableTimestamp).subtract(provisionTimestamp).toStringRounded()+";"
-                        + " and os customized in "+Duration.of(customizedTimestamp).subtract(usableTimestamp).toStringRounded()+" - "+Joiner.on(", ").join(customisationForLogging)+")";
-                LOG.info(logMessage);
-            } catch (Exception e){
-                // TODO Remove try-catch! @Nakomis: why did you add it? What exception happened during logging?
-                Exceptions.propagateIfFatal(e);
-                LOG.warn("Problem generating log message summarising completion of jclouds machine provisioning "+machineLocation+" by "+this, e);
-            }
+            String logMessage = "Finished VM "+getCreationString(setup)+" creation:"
+                    + " "+machineLocation.getUser()+"@"+machineLocation.getAddress()+":"+machineLocation.getPort()
+                    + (Boolean.TRUE.equals(setup.get(LOG_CREDENTIALS))
+                            ? "password=" + userCredentials.getOptionalPassword().or("<absent>")
+                            + " && key=" + userCredentials.getOptionalPrivateKey().or("<absent>")
+                            : "")
+                    + " ready after "+Duration.of(provisioningStopwatch).toStringRounded()
+                    + " ("
+                    + "semaphore obtained in "+Duration.of(semaphoreTimestamp).toStringRounded()+";"
+                    + template+" template built in "+Duration.of(templateTimestamp).subtract(semaphoreTimestamp).toStringRounded()+";"
+                    + " "+node+" provisioned in "+Duration.of(provisionTimestamp).subtract(templateTimestamp).toStringRounded()+";"
+                    + " "+machineLocation+" connection usable in "+Duration.of(usableTimestamp).subtract(provisionTimestamp).toStringRounded()+";"
+                    + " and os customized in "+Duration.of(customizedTimestamp).subtract(usableTimestamp).toStringRounded()+" - "+Joiner.on(", ").join(customisationForLogging)+")";
+            LOG.info(logMessage);
 
             return machineLocation;