ReleaseableLatch - better support for failing tasks

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

Branch: refs/heads/master
Commit: 49ba9f1546de0f7d88339681731f24a0d766794a
Parents: b7cfae7
Author: Svetoslav Neykov <svetoslav.ney...@cloudsoftcorp.com>
Authored: Wed Jan 25 09:35:14 2017 +0200
Committer: Svetoslav Neykov <svetoslav.ney...@cloudsoftcorp.com>
Committed: Wed Jan 25 09:35:14 2017 +0200

----------------------------------------------------------------------
 .../cm/ansible/AnsibleLifecycleEffectorTasks.java    | 15 ++++++---------
 .../cm/salt/impl/SaltLifecycleEffectorTasks.java     |  6 ++----
 .../PostgreSqlNodeChefImplFromScratch.java           | 12 ++++--------
 3 files changed, 12 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/49ba9f15/software/cm/ansible/src/main/java/org/apache/brooklyn/entity/cm/ansible/AnsibleLifecycleEffectorTasks.java
----------------------------------------------------------------------
diff --git 
a/software/cm/ansible/src/main/java/org/apache/brooklyn/entity/cm/ansible/AnsibleLifecycleEffectorTasks.java
 
b/software/cm/ansible/src/main/java/org/apache/brooklyn/entity/cm/ansible/AnsibleLifecycleEffectorTasks.java
index da4b2d7..b2a104a 100644
--- 
a/software/cm/ansible/src/main/java/org/apache/brooklyn/entity/cm/ansible/AnsibleLifecycleEffectorTasks.java
+++ 
b/software/cm/ansible/src/main/java/org/apache/brooklyn/entity/cm/ansible/AnsibleLifecycleEffectorTasks.java
@@ -18,7 +18,8 @@
  */
 package org.apache.brooklyn.entity.cm.ansible;
 
-import com.google.common.base.Supplier;
+import static org.apache.brooklyn.util.ssh.BashCommands.sudo;
+
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.location.MachineLocation;
 import org.apache.brooklyn.core.effector.ssh.SshEffectorTasks;
@@ -27,7 +28,6 @@ import org.apache.brooklyn.core.entity.lifecycle.Lifecycle;
 import org.apache.brooklyn.core.entity.trait.Startable;
 import org.apache.brooklyn.core.location.Locations;
 import org.apache.brooklyn.core.location.Machines;
-import org.apache.brooklyn.core.sensor.ReleaseableLatch;
 import org.apache.brooklyn.entity.software.base.SoftwareProcess;
 import 
org.apache.brooklyn.entity.software.base.lifecycle.MachineLifecycleEffectorTasks;
 import org.apache.brooklyn.feed.ssh.SshFeed;
@@ -36,17 +36,14 @@ import org.apache.brooklyn.location.ssh.SshMachineLocation;
 import org.apache.brooklyn.util.core.task.DynamicTasks;
 import org.apache.brooklyn.util.guava.Maybe;
 import org.apache.brooklyn.util.net.Urls;
-
-import static org.apache.brooklyn.util.ssh.BashCommands.sudo;
-
-import java.util.concurrent.atomic.AtomicReference;
-
 import org.apache.brooklyn.util.text.Strings;
 import org.apache.brooklyn.util.time.Duration;
 import org.apache.brooklyn.util.time.Time;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.google.common.base.Supplier;
+
 public class AnsibleLifecycleEffectorTasks extends 
MachineLifecycleEffectorTasks implements AnsibleConfig {
 
     private static final Logger LOG = 
LoggerFactory.getLogger(AnsibleLifecycleEffectorTasks.class);
@@ -140,7 +137,7 @@ public class AnsibleLifecycleEffectorTasks extends 
MachineLifecycleEffectorTasks
 
 
     @Override
-    protected void postStartCustom(AtomicReference<ReleaseableLatch> 
startLatchRef) {
+    protected void postStartCustom() {
         boolean result = false;
         result |= tryCheckStartService();
 
@@ -183,7 +180,7 @@ public class AnsibleLifecycleEffectorTasks extends 
MachineLifecycleEffectorTasks
             LOG.warn("Location(s) {} not an ssh-machine location, so not 
polling for status; "
                     + "setting serviceUp immediately", 
entity().getLocations());
         }
-        super.postStartCustom(startLatchRef);
+        super.postStartCustom();
     }
 
     protected boolean tryCheckStartService() {

http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/49ba9f15/software/cm/salt/src/main/java/org/apache/brooklyn/entity/cm/salt/impl/SaltLifecycleEffectorTasks.java
----------------------------------------------------------------------
diff --git 
a/software/cm/salt/src/main/java/org/apache/brooklyn/entity/cm/salt/impl/SaltLifecycleEffectorTasks.java
 
b/software/cm/salt/src/main/java/org/apache/brooklyn/entity/cm/salt/impl/SaltLifecycleEffectorTasks.java
index cc02546..49fd336 100644
--- 
a/software/cm/salt/src/main/java/org/apache/brooklyn/entity/cm/salt/impl/SaltLifecycleEffectorTasks.java
+++ 
b/software/cm/salt/src/main/java/org/apache/brooklyn/entity/cm/salt/impl/SaltLifecycleEffectorTasks.java
@@ -24,7 +24,6 @@ import static 
org.apache.brooklyn.entity.software.base.SoftwareProcess.StopSoftw
 import static 
org.apache.brooklyn.entity.software.base.SoftwareProcess.StopSoftwareParameters.StopMode.NEVER;
 
 import java.util.Set;
-import java.util.concurrent.atomic.AtomicReference;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -38,7 +37,6 @@ import org.apache.brooklyn.core.entity.Entities;
 import org.apache.brooklyn.core.entity.lifecycle.Lifecycle;
 import org.apache.brooklyn.core.entity.lifecycle.ServiceStateLogic;
 import org.apache.brooklyn.core.entity.trait.Startable;
-import org.apache.brooklyn.core.sensor.ReleaseableLatch;
 import org.apache.brooklyn.entity.cm.salt.SaltConfig;
 import org.apache.brooklyn.entity.software.base.SoftwareProcess;
 import 
org.apache.brooklyn.entity.software.base.SoftwareProcess.StopSoftwareParameters;
@@ -169,10 +167,10 @@ public class SaltLifecycleEffectorTasks extends 
MachineLifecycleEffectorTasks im
     }
 
     @Override
-    protected void postStartCustom(AtomicReference<ReleaseableLatch> 
startLatchRef) {
+    protected void postStartCustom() {
         // TODO: check for package installed?
         entity().sensors().set(SoftwareProcess.SERVICE_UP, true);
-        super.postStartCustom(startLatchRef);
+        super.postStartCustom();
     }
 
 

http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/49ba9f15/software/database/src/main/java/org/apache/brooklyn/entity/database/postgresql/PostgreSqlNodeChefImplFromScratch.java
----------------------------------------------------------------------
diff --git 
a/software/database/src/main/java/org/apache/brooklyn/entity/database/postgresql/PostgreSqlNodeChefImplFromScratch.java
 
b/software/database/src/main/java/org/apache/brooklyn/entity/database/postgresql/PostgreSqlNodeChefImplFromScratch.java
index 0414fbe..0c52f20 100644
--- 
a/software/database/src/main/java/org/apache/brooklyn/entity/database/postgresql/PostgreSqlNodeChefImplFromScratch.java
+++ 
b/software/database/src/main/java/org/apache/brooklyn/entity/database/postgresql/PostgreSqlNodeChefImplFromScratch.java
@@ -18,8 +18,6 @@
  */
 package org.apache.brooklyn.entity.database.postgresql;
 
-import java.util.concurrent.atomic.AtomicReference;
-
 import org.apache.brooklyn.api.effector.Effector;
 import org.apache.brooklyn.config.ConfigKey;
 import org.apache.brooklyn.core.config.ConfigKeys;
@@ -28,15 +26,12 @@ import org.apache.brooklyn.core.effector.Effectors;
 import org.apache.brooklyn.core.effector.ssh.SshEffectorTasks;
 import org.apache.brooklyn.core.entity.Entities;
 import org.apache.brooklyn.core.location.Locations;
-import org.apache.brooklyn.core.sensor.ReleaseableLatch;
 import org.apache.brooklyn.entity.chef.ChefConfig;
 import org.apache.brooklyn.entity.chef.ChefLifecycleEffectorTasks;
 import org.apache.brooklyn.entity.chef.ChefServerTasks;
 import org.apache.brooklyn.entity.stock.EffectorStartableImpl;
 import org.apache.brooklyn.feed.ssh.SshFeed;
 import org.apache.brooklyn.feed.ssh.SshPollConfig;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.apache.brooklyn.location.ssh.SshMachineLocation;
 import org.apache.brooklyn.util.collections.Jsonya;
 import org.apache.brooklyn.util.core.ResourceUtils;
@@ -44,6 +39,8 @@ import org.apache.brooklyn.util.core.config.ConfigBag;
 import org.apache.brooklyn.util.core.task.DynamicTasks;
 import org.apache.brooklyn.util.guava.Maybe;
 import org.apache.brooklyn.util.ssh.BashCommands;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class PostgreSqlNodeChefImplFromScratch extends EffectorStartableImpl 
implements PostgreSqlNode {
 
@@ -100,9 +97,7 @@ public class PostgreSqlNodeChefImplFromScratch extends 
EffectorStartableImpl imp
                 );
         }
         @Override
-        protected void postStartCustom(AtomicReference<ReleaseableLatch> 
startLatchRef) {
-            super.postStartCustom(startLatchRef);
-
+        protected void postStartCustom() {
             // now run the creation script
             String creationScript;
             String creationScriptUrl = 
entity().getConfig(PostgreSqlNode.CREATION_SCRIPT_URL);
@@ -115,6 +110,7 @@ public class PostgreSqlNodeChefImplFromScratch extends 
EffectorStartableImpl imp
 
             // and finally connect sensors
             entity().connectSensors();
+            super.postStartCustom();
         }
         @Override
         protected void preStopCustom() {

Reply via email to