This is an automated email from the ASF dual-hosted git repository.

heneveld pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/brooklyn-library.git


The following commit(s) were added to refs/heads/master by this push:
     new dc22ff3ec API tidies around feed builders and workflow
dc22ff3ec is described below

commit dc22ff3eca60af90d044e6e3350bd7d5676e6d69
Author: Alex Heneveld <[email protected]>
AuthorDate: Fri Dec 2 23:17:23 2022 +0000

    API tidies around feed builders and workflow
---
 .../apache/brooklyn/qa/load/SimulatedJBoss7ServerImpl.java   |  2 +-
 .../org/apache/brooklyn/qa/load/SimulatedMySqlNodeImpl.java  |  2 +-
 .../brooklyn/qa/load/SimulatedNginxControllerImpl.java       |  2 +-
 .../qa/load/SimulatedVanillaSoftwareProcessImpl.java         |  8 ++++----
 .../brooklyn/entity/cm/ansible/AnsibleSshWorkflowStep.java   | 12 +++++++++---
 .../brooklyn/entity/database/mysql/MySqlClusterImpl.java     |  4 ++--
 6 files changed, 18 insertions(+), 12 deletions(-)

diff --git 
a/qa/src/main/java/org/apache/brooklyn/qa/load/SimulatedJBoss7ServerImpl.java 
b/qa/src/main/java/org/apache/brooklyn/qa/load/SimulatedJBoss7ServerImpl.java
index 16e8f9f0c..b3aa523c1 100644
--- 
a/qa/src/main/java/org/apache/brooklyn/qa/load/SimulatedJBoss7ServerImpl.java
+++ 
b/qa/src/main/java/org/apache/brooklyn/qa/load/SimulatedJBoss7ServerImpl.java
@@ -144,7 +144,7 @@ public class SimulatedJBoss7ServerImpl extends 
JBoss7ServerImpl {
                                 sensors().set(BYTES_SENT, (long) (counter++ % 
100));
                                 return true;
                             }}))
-                .build();
+                .build(false);  // called on rebind so does not need to be 
persisted
         
         
enrichers().add(Enrichers.builder().updatingMap(Attributes.SERVICE_NOT_UP_INDICATORS)
                 .from(MANAGEMENT_URL_UP)
diff --git 
a/qa/src/main/java/org/apache/brooklyn/qa/load/SimulatedMySqlNodeImpl.java 
b/qa/src/main/java/org/apache/brooklyn/qa/load/SimulatedMySqlNodeImpl.java
index 8f11c9d77..8e233341d 100644
--- a/qa/src/main/java/org/apache/brooklyn/qa/load/SimulatedMySqlNodeImpl.java
+++ b/qa/src/main/java/org/apache/brooklyn/qa/load/SimulatedMySqlNodeImpl.java
@@ -71,7 +71,7 @@ public class SimulatedMySqlNodeImpl extends MySqlNodeImpl {
                                     return true;
                                 }})
                             .setOnFailureOrException(false))
-                    .build();
+                    .build(false);
         } else {
             super.connectSensors();
         }
diff --git 
a/qa/src/main/java/org/apache/brooklyn/qa/load/SimulatedNginxControllerImpl.java
 
b/qa/src/main/java/org/apache/brooklyn/qa/load/SimulatedNginxControllerImpl.java
index 377752852..ca4fb7b7a 100644
--- 
a/qa/src/main/java/org/apache/brooklyn/qa/load/SimulatedNginxControllerImpl.java
+++ 
b/qa/src/main/java/org/apache/brooklyn/qa/load/SimulatedNginxControllerImpl.java
@@ -103,7 +103,7 @@ public class SimulatedNginxControllerImpl extends 
NginxControllerImpl {
                             public Boolean call() {
                                 return true;
                             }}))
-                .build();
+                .build(false);
 
         // Can guarantee that parent/managementContext has been set
         Group urlMappings = getConfig(URL_MAPPINGS);
diff --git 
a/qa/src/main/java/org/apache/brooklyn/qa/load/SimulatedVanillaSoftwareProcessImpl.java
 
b/qa/src/main/java/org/apache/brooklyn/qa/load/SimulatedVanillaSoftwareProcessImpl.java
index 6b1d09646..6f8c00f2e 100644
--- 
a/qa/src/main/java/org/apache/brooklyn/qa/load/SimulatedVanillaSoftwareProcessImpl.java
+++ 
b/qa/src/main/java/org/apache/brooklyn/qa/load/SimulatedVanillaSoftwareProcessImpl.java
@@ -152,7 +152,7 @@ public class SimulatedVanillaSoftwareProcessImpl extends 
VanillaSoftwareProcessI
         }
 
         if (functionFeedPeriod != null) {
-            functionFeed = feeds().add(FunctionFeed.builder()
+            functionFeed = FunctionFeed.builder()
                     .entity(this)
                     .period(functionFeedPeriod)
                     .poll(FunctionPollConfig.forSensor(FUNCTION_COUNTER)
@@ -162,11 +162,11 @@ public class SimulatedVanillaSoftwareProcessImpl extends 
VanillaSoftwareProcessI
                                     return (oldVal == null) ? 1 : oldVal + 1;
                                 }
                             }))
-                    .build());
+                    .build(true);
         }
         
         if (httpFeedUri != null) {
-            httpFeed = feeds().add(HttpFeed.builder()
+            httpFeed = HttpFeed.builder()
                     .entity(this)
                     .period(config().get(HTTP_FEED_POLL_PERIOD))
                     .baseUri(httpFeedUri)
@@ -174,7 +174,7 @@ public class SimulatedVanillaSoftwareProcessImpl extends 
VanillaSoftwareProcessI
                             .onSuccess(HttpValueFunctions.responseCode()))
                     .poll(new HttpPollConfig<String>(HTTP_STRING_ATTRIBUTE)
                             
.onSuccess(HttpValueFunctions.stringContentsFunction()))
-                    .build());
+                    .build(true, null);
         }
     }
 
diff --git 
a/software/cm/ansible/src/main/java/org/apache/brooklyn/entity/cm/ansible/AnsibleSshWorkflowStep.java
 
b/software/cm/ansible/src/main/java/org/apache/brooklyn/entity/cm/ansible/AnsibleSshWorkflowStep.java
index 4a6596858..10069cf04 100644
--- 
a/software/cm/ansible/src/main/java/org/apache/brooklyn/entity/cm/ansible/AnsibleSshWorkflowStep.java
+++ 
b/software/cm/ansible/src/main/java/org/apache/brooklyn/entity/cm/ansible/AnsibleSshWorkflowStep.java
@@ -19,23 +19,23 @@
 package org.apache.brooklyn.entity.cm.ansible;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
+import com.google.common.reflect.TypeToken;
 import org.apache.brooklyn.api.entity.drivers.DriverDependentEntity;
 import org.apache.brooklyn.api.entity.drivers.EntityDriver;
 import org.apache.brooklyn.config.ConfigKey;
 import org.apache.brooklyn.core.config.ConfigKeys;
 import org.apache.brooklyn.core.location.Locations;
 import org.apache.brooklyn.core.resolve.jackson.BeanWithTypeUtils;
-import 
org.apache.brooklyn.core.resolve.jackson.BrooklynJacksonSerializationUtils;
 import org.apache.brooklyn.core.workflow.WorkflowStepDefinition;
 import org.apache.brooklyn.core.workflow.WorkflowStepInstanceExecutionContext;
-import org.apache.brooklyn.core.workflow.steps.SshWorkflowStep;
+import org.apache.brooklyn.core.workflow.steps.external.SshWorkflowStep;
 import org.apache.brooklyn.entity.software.base.AbstractSoftwareProcessDriver;
 import org.apache.brooklyn.location.ssh.SshMachineLocation;
+import org.apache.brooklyn.util.core.predicates.DslPredicates;
 import org.apache.brooklyn.util.core.task.DynamicTasks;
 import org.apache.brooklyn.util.core.task.system.ProcessTaskFactory;
 import org.apache.brooklyn.util.exceptions.Exceptions;
 import org.apache.brooklyn.util.text.Strings;
-import org.apache.brooklyn.util.yaml.Yamls;
 
 import java.util.Map;
 
@@ -53,6 +53,11 @@ public class AnsibleSshWorkflowStep extends 
WorkflowStepDefinition {
     public static final ConfigKey<String> ANSIBLE_PLAYBOOK_URL = 
ConfigKeys.newStringConfigKey("playbook_url");
     public static final ConfigKey<Object> ANSIBLE_VARS = 
ConfigKeys.newConfigKey(Object.class, "vars");
 
+    // SshWorkflowStep uses these, copied for visibility
+    public static final ConfigKey<DslPredicates.DslPredicate<Integer>> 
EXIT_CODE = ConfigKeys.newConfigKey(new 
TypeToken<DslPredicates.DslPredicate<Integer>>() {}, "exit_code");
+    public static final ConfigKey<Integer> OUTPUT_MAX_SIZE = 
ConfigKeys.newIntegerConfigKey("output_max_size", "Maximum size for stdout and 
stderr, or -1 for no limit", 100000);
+
+
     @Override
     public void populateFromShorthand(String expression) {
         populateFromShorthandTemplate(SHORTHAND, expression);
@@ -136,4 +141,5 @@ public class AnsibleSshWorkflowStep extends 
WorkflowStepDefinition {
         return 
"./brooklyn-managed-ansible/run-"+context.getEntity().getApplicationId()+"-"+context.getEntity().getId()+"/";
     }
 
+    @Override protected Boolean isDefaultIdempotent() { return false; }
 }
diff --git 
a/software/database/src/main/java/org/apache/brooklyn/entity/database/mysql/MySqlClusterImpl.java
 
b/software/database/src/main/java/org/apache/brooklyn/entity/database/mysql/MySqlClusterImpl.java
index e0314ab9a..6f3657adb 100644
--- 
a/software/database/src/main/java/org/apache/brooklyn/entity/database/mysql/MySqlClusterImpl.java
+++ 
b/software/database/src/main/java/org/apache/brooklyn/entity/database/mysql/MySqlClusterImpl.java
@@ -206,7 +206,7 @@ public class MySqlClusterImpl extends DynamicClusterImpl 
implements MySqlCluster
         if (!MySqlClusterUtils.IS_MASTER.apply(node)) {
             ServiceNotUpLogic.updateNotUpIndicator(node, 
MySqlSlave.SLAVE_HEALTHY, "Replication not started");
 
-            addFeed(FunctionFeed.builder()
+            FunctionFeed.builder()
                 .entity(node)
                 .period(Duration.FIVE_SECONDS)
                 .poll(FunctionPollConfig.forSensor(MySqlSlave.SLAVE_HEALTHY)
@@ -215,7 +215,7 @@ public class MySqlClusterImpl extends DynamicClusterImpl 
implements MySqlCluster
                         .onSuccess(new SlaveStateParser(node))
                         .setOnFailure(false)
                         .description("Polls SHOW SLAVE STATUS"))
-                .build());
+                .build(false);
 
             
node.enrichers().add(Enrichers.builder().updatingMap(Attributes.SERVICE_NOT_UP_INDICATORS)
                     .from(MySqlSlave.SLAVE_HEALTHY)

Reply via email to