You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2022/07/04 09:12:23 UTC
[brooklyn-server] branch master updated: Use Duration instead of a String for timeout
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-server.git
The following commit(s) were added to refs/heads/master by this push:
new 9f72bac6f3 Use Duration instead of a String for timeout
new 4ff57648a8 Merge branch 'apache:master' into improvements/container-effector
9f72bac6f3 is described below
commit 9f72bac6f3b78ed24cc53eaebb1c9ddbcc57ddf6
Author: Mykola Mandra <my...@cloudsoft.io>
AuthorDate: Mon Jul 4 10:07:13 2022 +0100
Use Duration instead of a String for timeout
Signed-off-by: Mykola Mandra <my...@cloudsoft.io>
---
.../java/org/apache/brooklyn/tasks/kubectl/ContainerCommons.java | 5 +++--
.../java/org/apache/brooklyn/tasks/kubectl/ContainerTaskFactory.java | 4 ++--
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/software/base/src/main/java/org/apache/brooklyn/tasks/kubectl/ContainerCommons.java b/software/base/src/main/java/org/apache/brooklyn/tasks/kubectl/ContainerCommons.java
index 6f4064759c..8e48ffedc7 100644
--- a/software/base/src/main/java/org/apache/brooklyn/tasks/kubectl/ContainerCommons.java
+++ b/software/base/src/main/java/org/apache/brooklyn/tasks/kubectl/ContainerCommons.java
@@ -24,6 +24,7 @@ import org.apache.brooklyn.config.ConfigKey;
import org.apache.brooklyn.core.config.BasicConfigKey;
import org.apache.brooklyn.core.config.ConfigKeys;
import org.apache.brooklyn.core.config.SetConfigKey;
+import org.apache.brooklyn.util.time.Duration;
import java.util.List;
import java.util.Map;
@@ -41,7 +42,7 @@ public interface ContainerCommons {
ConfigKey<List> COMMANDS = ConfigKeys.newConfigKey(List.class,"commands", "Commands to execute for container", Lists.newArrayList());
ConfigKey<List> ARGUMENTS = ConfigKeys.newConfigKey(List.class,"args", "Arguments to execute for container", Lists.newArrayList());
- ConfigKey<String> TIMEOUT = ConfigKeys.newStringConfigKey("timeout", "Container wait timeout", "5m");
+ ConfigKey<Duration> TIMEOUT = ConfigKeys.newConfigKey(Duration.class, "timeout", "Container wait timeout", Duration.minutes(1));
ConfigKey<String> WORKING_DIR = ConfigKeys.newStringConfigKey("workingDir", "Location where the container commands are executed");
BasicConfigKey<Map<String,String>> VOLUME_MOUNTS = SetConfigKey.builder(new TypeToken<Map<String,String>>() {}, "volumeMounts")
@@ -53,7 +54,7 @@ public interface ContainerCommons {
String NAMESPACE_CREATE_CMD = "kubectl create namespace brooklyn-%s"; // namespace name
String NAMESPACE_SET_CMD = "kubectl config set-context --current --namespace=brooklyn-%s"; // namespace name
String JOBS_CREATE_CMD = "kubectl apply -f %s"; // deployment.yaml absolute path
- String JOBS_FEED_CMD = "kubectl wait --timeout=%s --for=condition=complete job/%s"; // timeout, containerName
+ String JOBS_FEED_CMD = "kubectl wait --timeout=%ds --for=condition=complete job/%s"; // timeout, containerName
String JOBS_LOGS_CMD = "kubectl logs jobs/%s"; // containerName
String NAMESPACE_DELETE_CMD = "kubectl delete namespace brooklyn-%s"; // namespace name
diff --git a/software/base/src/main/java/org/apache/brooklyn/tasks/kubectl/ContainerTaskFactory.java b/software/base/src/main/java/org/apache/brooklyn/tasks/kubectl/ContainerTaskFactory.java
index 5c7c92756b..69ea212065 100644
--- a/software/base/src/main/java/org/apache/brooklyn/tasks/kubectl/ContainerTaskFactory.java
+++ b/software/base/src/main/java/org/apache/brooklyn/tasks/kubectl/ContainerTaskFactory.java
@@ -87,9 +87,9 @@ public class ContainerTaskFactory<T extends ContainerTaskFactory<T,RET>,RET> im
.build();
- final String timeout = EntityInitializers.resolve(configBag, TIMEOUT);
+ final long timeoutInSeconds = EntityInitializers.resolve(configBag, TIMEOUT).toSeconds();
Task<String> runCommandsTask = buildKubeTask(configBag, "Submit job", String.format(JOBS_CREATE_CMD,jobYamlLocation)).asTask();
- Task<String> waitTask = buildKubeTask(configBag, "Wait For Completion", String.format(JOBS_FEED_CMD,timeout,containerName)).asTask();
+ Task<String> waitTask = buildKubeTask(configBag, "Wait For Completion", String.format(JOBS_FEED_CMD,timeoutInSeconds,containerName)).asTask();
if(!devMode) {
// making these two inessential to insure proper namespace cleanup
BrooklynTaskTags.addTagDynamically(runCommandsTask, BrooklynTaskTags.INESSENTIAL_TASK);