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 2015/03/19 15:07:22 UTC

[04/19] incubator-brooklyn git commit: Replace usage of STOP_MACHINE=true with STOP_MACHINE_MODE=IF_NOT_STOPPED

Replace usage of STOP_MACHINE=true with STOP_MACHINE_MODE=IF_NOT_STOPPED


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

Branch: refs/heads/master
Commit: db5111ac66ccb0e1fcb7518e6a186be1dfa51d8c
Parents: 78072b2
Author: Svetoslav Neykov <sv...@cloudsoftcorp.com>
Authored: Fri Feb 27 12:52:29 2015 +0200
Committer: Svetoslav Neykov <sv...@cloudsoftcorp.com>
Committed: Thu Mar 19 16:01:28 2015 +0200

----------------------------------------------------------------------
 .../src/main/java/brooklyn/entity/basic/SoftwareProcess.java | 5 ++++-
 .../java/brooklyn/entity/brooklynnode/BrooklynNodeImpl.java  | 8 ++++++--
 .../effector/BrooklynNodeUpgradeEffectorBody.java            | 5 +++--
 .../entity/software/MachineLifecycleEffectorTasks.java       | 6 ++++--
 4 files changed, 17 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/db5111ac/software/base/src/main/java/brooklyn/entity/basic/SoftwareProcess.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/basic/SoftwareProcess.java b/software/base/src/main/java/brooklyn/entity/basic/SoftwareProcess.java
index 2b27a47..9219e69 100644
--- a/software/base/src/main/java/brooklyn/entity/basic/SoftwareProcess.java
+++ b/software/base/src/main/java/brooklyn/entity/basic/SoftwareProcess.java
@@ -260,7 +260,10 @@ public interface SoftwareProcess extends Entity, Startable {
 
     @Beta
     public static class StopSoftwareParameters {
-        @Beta /** @since 0.7.0 semantics of parameters to restart being explored */
+        /** @since 0.7.0 semantics of parameters to restart being explored
+         *  @deprecated since 0.7.0 use  {@link #STOP_MACHINE_MODE} instead */
+        @Beta
+        @Deprecated
         public static final ConfigKey<Boolean> STOP_MACHINE = ConfigKeys.newBooleanConfigKey("stopMachine",
                 "Whether to stop the machine provisioned for this entity:  'true', or 'false' are supported, "
                         + "with the default being 'true'", true);

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/db5111ac/software/base/src/main/java/brooklyn/entity/brooklynnode/BrooklynNodeImpl.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/brooklynnode/BrooklynNodeImpl.java b/software/base/src/main/java/brooklyn/entity/brooklynnode/BrooklynNodeImpl.java
index 224215a..20dc032 100644
--- a/software/base/src/main/java/brooklyn/entity/brooklynnode/BrooklynNodeImpl.java
+++ b/software/base/src/main/java/brooklyn/entity/brooklynnode/BrooklynNodeImpl.java
@@ -192,8 +192,7 @@ public class BrooklynNodeImpl extends SoftwareProcessImpl implements BrooklynNod
     protected void postStop() {
         super.postStop();
         ConfigBag stopParameters = BrooklynTaskTags.getCurrentEffectorParameters();
-        //unmanage only if stopping the machine
-        if (stopParameters == null || stopParameters.get(StopSoftwareParameters.STOP_MACHINE)) {
+        if (isStopMachine(stopParameters)) {
             // Don't unmanage in entity's task context as it will self-cancel the task. Wait for the stop effector to complete.
             // If this is not enough (still getting Caused by: java.util.concurrent.CancellationException: null) then
             // we could search for the top most task with entity context == this and wait on it. Even stronger would be
@@ -203,6 +202,11 @@ public class BrooklynNodeImpl extends SoftwareProcessImpl implements BrooklynNod
         }
     }
 
+    private boolean isStopMachine(ConfigBag stopParameters) {
+        return stopParameters == null ||
+                stopParameters.get(StopSoftwareParameters.STOP_MACHINE_MODE) != StopMode.NEVER;
+    }
+
     private void queueShutdownTask() {
         ConfigBag stopParameters = BrooklynTaskTags.getCurrentEffectorParameters();
         ConfigBag shutdownParameters;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/db5111ac/software/base/src/main/java/brooklyn/entity/brooklynnode/effector/BrooklynNodeUpgradeEffectorBody.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/brooklynnode/effector/BrooklynNodeUpgradeEffectorBody.java b/software/base/src/main/java/brooklyn/entity/brooklynnode/effector/BrooklynNodeUpgradeEffectorBody.java
index c939378..d4575a4 100644
--- a/software/base/src/main/java/brooklyn/entity/brooklynnode/effector/BrooklynNodeUpgradeEffectorBody.java
+++ b/software/base/src/main/java/brooklyn/entity/brooklynnode/effector/BrooklynNodeUpgradeEffectorBody.java
@@ -32,6 +32,7 @@ import brooklyn.entity.basic.EntityInternal;
 import brooklyn.entity.basic.EntityTasks;
 import brooklyn.entity.basic.SoftwareProcess;
 import brooklyn.entity.basic.SoftwareProcess.StopSoftwareParameters;
+import brooklyn.entity.basic.SoftwareProcess.StopSoftwareParameters.StopMode;
 import brooklyn.entity.brooklynnode.BrooklynCluster;
 import brooklyn.entity.brooklynnode.BrooklynNode;
 import brooklyn.entity.brooklynnode.BrooklynNodeDriver;
@@ -118,7 +119,7 @@ public class BrooklynNodeUpgradeEffectorBody extends EffectorBody<Void> {
         
         // Stop running instance
         DynamicTasks.queue(Tasks.builder().name("shutdown node")
-                .add(Effectors.invocation(entity(), BrooklynNode.STOP_NODE_BUT_LEAVE_APPS, ImmutableMap.of(StopSoftwareParameters.STOP_MACHINE, Boolean.FALSE)))
+                .add(Effectors.invocation(entity(), BrooklynNode.STOP_NODE_BUT_LEAVE_APPS, ImmutableMap.of(StopSoftwareParameters.STOP_MACHINE_MODE, StopMode.NEVER)))
                 .build());
 
         // backup old files
@@ -192,7 +193,7 @@ public class BrooklynNodeUpgradeEffectorBody extends EffectorBody<Void> {
 
         // 3 stop new version
         DynamicTasks.queue(Tasks.builder().name("shutdown transient node")
-            .add(Effectors.invocation(dryRunChild, BrooklynNode.STOP_NODE_BUT_LEAVE_APPS, ImmutableMap.of(StopSoftwareParameters.STOP_MACHINE, Boolean.FALSE)))
+            .add(Effectors.invocation(dryRunChild, BrooklynNode.STOP_NODE_BUT_LEAVE_APPS, ImmutableMap.of(StopSoftwareParameters.STOP_MACHINE_MODE, StopMode.NEVER)))
             .build());
 
         DynamicTasks.queue(Tasks.<Void>builder().name("remove transient node").body(

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/db5111ac/software/base/src/main/java/brooklyn/entity/software/MachineLifecycleEffectorTasks.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/software/MachineLifecycleEffectorTasks.java b/software/base/src/main/java/brooklyn/entity/software/MachineLifecycleEffectorTasks.java
index f1b0a67..8a1279c 100644
--- a/software/base/src/main/java/brooklyn/entity/software/MachineLifecycleEffectorTasks.java
+++ b/software/base/src/main/java/brooklyn/entity/software/MachineLifecycleEffectorTasks.java
@@ -487,10 +487,10 @@ public abstract class MachineLifecycleEffectorTasks {
         } else {
             DynamicTasks.queue("stopping (machine)", new Callable<String>() { public String call() {
                 DynamicTasks.markInessential();
-                stop(ConfigBag.newInstance().configure(StopSoftwareParameters.STOP_MACHINE, true));
+                stop(ConfigBag.newInstance().configure(StopSoftwareParameters.STOP_MACHINE_MODE, StopMode.IF_NOT_STOPPED));
                 DynamicTasks.waitForLast();
                 return "Stop of machine completed with no errors.";
-            }});            
+            }});
         }
 
         DynamicTasks.queue("starting", new Runnable() { public void run() {
@@ -541,7 +541,9 @@ public abstract class MachineLifecycleEffectorTasks {
 
         log.info("Stopping {} in {}", entity(), entity().getLocations());
 
+        @SuppressWarnings("deprecation")
         final boolean hasStopMachine = parameters.containsKey(StopSoftwareParameters.STOP_MACHINE);
+        @SuppressWarnings("deprecation")
         final Boolean isStopMachine = parameters.get(StopSoftwareParameters.STOP_MACHINE);
 
         final StopMode stopProcessMode = parameters.get(StopSoftwareParameters.STOP_PROCESS_MODE);