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);