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)