Skip to content

Commit ba6b893

Browse files
authored
Add --noReconnectAfter 1d option when available in the agent image. (#1553)
1 parent ceef11c commit ba6b893

File tree

3 files changed

+6
-1
lines changed

3 files changed

+6
-1
lines changed

src/main/java/org/csanchez/jenkins/plugins/kubernetes/PodTemplateBuilder.java

+4
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@
7373
import java.util.regex.Pattern;
7474
import java.util.stream.Collectors;
7575
import jenkins.model.Jenkins;
76+
import jenkins.util.SystemProperties;
7677
import org.apache.commons.lang.StringUtils;
7778
import org.csanchez.jenkins.plugins.kubernetes.model.TemplateEnvVar;
7879
import org.csanchez.jenkins.plugins.kubernetes.pipeline.PodTemplateStepExecution;
@@ -100,6 +101,8 @@ public class PodTemplateBuilder {
100101
public static final Pattern FROM_DIRECTIVE = Pattern.compile("^FROM (.*)$");
101102

102103
public static final String LABEL_KUBERNETES_CONTROLLER = "kubernetes.jenkins.io/controller";
104+
static final String NO_RECONNECT_AFTER_TIMEOUT =
105+
SystemProperties.getString(PodTemplateBuilder.class.getName() + ".noReconnectAfter", "1d");
103106

104107
@SuppressFBWarnings(value = "MS_SHOULD_BE_FINAL", justification = "tests")
105108
@Restricted(NoExternalUse.class)
@@ -446,6 +449,7 @@ private Map<String, EnvVar> jnlpEnvVars(String workingDir) {
446449
env.put("JENKINS_PROTOCOLS", "JNLP4-connect");
447450
env.put("JENKINS_INSTANCE_IDENTITY", tcpSlaveAgentListener.getIdentityPublicKey());
448451
}
452+
env.put("REMOTING_OPTS", "-noReconnectAfter " + NO_RECONNECT_AFTER_TIMEOUT);
449453
}
450454
Map<String, EnvVar> envVarsMap = new HashMap<>();
451455

Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
FROM jenkins/inbound-agent:3206.vb_15dcf73f6a_9-2
1+
FROM jenkins/inbound-agent:3248.v65ecb_254c298-2

src/test/java/org/csanchez/jenkins/plugins/kubernetes/PodTemplateBuilderTest.java

+1
Original file line numberDiff line numberDiff line change
@@ -480,6 +480,7 @@ private void validateJnlpContainer(Container jnlp, KubernetesSlave slave, boolea
480480
envVars.add(new EnvVar("JENKINS_NAME", AGENT_NAME, null));
481481
envVars.add(new EnvVar("JENKINS_AGENT_NAME", AGENT_NAME, null));
482482
envVars.add(new EnvVar("JENKINS_AGENT_WORKDIR", ContainerTemplate.DEFAULT_WORKING_DIR, null));
483+
envVars.add(new EnvVar("REMOTING_OPTS", "-noReconnectAfter " + NO_RECONNECT_AFTER_TIMEOUT, null));
483484
} else {
484485
assertThat(jnlp.getArgs(), empty());
485486
}

0 commit comments

Comments
 (0)