Skip to content

Commit 2553659

Browse files
authored
Merge branch 'master' into update-kubernetes-client-api-6.4.x
2 parents 7ed9d13 + 2522723 commit 2553659

File tree

15 files changed

+96
-57
lines changed

15 files changed

+96
-57
lines changed

.github/renovate.json

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
{
2+
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
3+
"extends": [
4+
"config:base"
5+
],
6+
"labels": [
7+
"dependencies"
8+
],
9+
"packageRules": [
10+
{
11+
"description": "remoting agent uses non-standard versioning",
12+
"matchDatasources": ["docker"],
13+
"matchPackageNames": ["jenkins/inbound-agent"],
14+
"versioning": "regex:^(?<major>\\d+)\\.(?<minor>[^\\.-]*)(\\.(?<patch>\\d+))?(-(?<build>\\d+))?$"
15+
}
16+
],
17+
"enabledManagers": [
18+
"dockerfile",
19+
"docker-compose",
20+
"kubernetes"
21+
],
22+
"dockerfile": {
23+
"fileMatch": [
24+
".*\\.dockerfile$",
25+
".*-dockerfile$",
26+
"Dockerfile"
27+
]
28+
},
29+
"kubernetes": {
30+
"fileMatch": [
31+
".*\\.ya?ml$"
32+
]
33+
}
34+
}

.mvn/extensions.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
<extension>
33
<groupId>io.jenkins.tools.incrementals</groupId>
44
<artifactId>git-changelist-maven-extension</artifactId>
5-
<version>1.4</version>
5+
<version>1.5</version>
66
</extension>
77
</extensions>

Jenkinsfile

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,14 @@ stage('Tests') {
4242
}
4343
}
4444
branches['jdk11'] = {
45-
node('maven-11') {
46-
timeout(60) {
47-
checkout scm
48-
sh 'mvn -B -ntp -Dset.changelist -Dmaven.test.failure.ignore clean install'
49-
infra.prepareToPublishIncrementals()
50-
junit 'target/surefire-reports/*.xml'
45+
retry(count: 3, conditions: [kubernetesAgent(handleNonKubernetes: true), nonresumable()]) {
46+
node('maven-11') {
47+
timeout(60) {
48+
checkout scm
49+
sh 'mvn -B -ntp -Dset.changelist -Dmaven.test.failure.ignore clean install'
50+
infra.prepareToPublishIncrementals()
51+
junit 'target/surefire-reports/*.xml'
52+
}
5153
}
5254
}
5355
}

docker-compose.yml

Lines changed: 0 additions & 27 deletions
This file was deleted.

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<parent>
44
<groupId>org.jenkins-ci.plugins</groupId>
55
<artifactId>plugin</artifactId>
6-
<version>4.53</version>
6+
<version>4.54</version>
77
<relativePath/>
88
</parent>
99

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -310,8 +310,7 @@ protected void _terminate(TaskListener listener) throws IOException, Interrupted
310310
// Prior to termination, determine if we should delete the slave pod based on
311311
// the slave pod's current state and the pod retention policy.
312312
// Healthy slave pods should still have a JNLP agent running at this point.
313-
Pod pod = client.pods().inNamespace(getNamespace()).withName(name).get();
314-
boolean deletePod = getPodRetention(cloud).shouldDeletePod(cloud, pod);
313+
boolean deletePod = getPodRetention(cloud).shouldDeletePod(cloud, () -> client.pods().inNamespace(getNamespace()).withName(name).get());
315314

316315
Computer computer = toComputer();
317316
if (computer == null) {
@@ -367,6 +366,7 @@ private void deleteSlavePod(TaskListener listener, KubernetesClient client) thro
367366
e.getMessage());
368367
LOGGER.log(Level.WARNING, msg, e);
369368
listener.error(msg);
369+
// TODO should perhaps retry later, in case API server is just overloaded currently
370370
return;
371371
}
372372

src/main/java/org/csanchez/jenkins/plugins/kubernetes/pod/retention/Always.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import hudson.Extension;
1010
import io.fabric8.kubernetes.api.model.Pod;
11+
import java.util.function.Supplier;
1112

1213
public class Always extends PodRetention implements Serializable {
1314

@@ -19,7 +20,7 @@ public Always() {
1920
}
2021

2122
@Override
22-
public boolean shouldDeletePod(KubernetesCloud cloud, Pod pod) {
23+
public boolean shouldDeletePod(KubernetesCloud cloud, Supplier<Pod> pod) {
2324
return false;
2425
}
2526

src/main/java/org/csanchez/jenkins/plugins/kubernetes/pod/retention/Default.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import hudson.model.Descriptor;
1111
import hudson.model.DescriptorVisibilityFilter;
1212
import io.fabric8.kubernetes.api.model.Pod;
13+
import java.util.function.Supplier;
1314

1415
public class Default extends PodRetention implements Serializable {
1516

@@ -21,7 +22,7 @@ public Default() {
2122
}
2223

2324
@Override
24-
public boolean shouldDeletePod(KubernetesCloud cloud, Pod pod) {
25+
public boolean shouldDeletePod(KubernetesCloud cloud, Supplier<Pod> pod) {
2526
PodRetention parent = cloud.getPodRetention();
2627
if (!(parent instanceof Default)) {
2728
return parent.shouldDeletePod(cloud, pod);

src/main/java/org/csanchez/jenkins/plugins/kubernetes/pod/retention/Never.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import hudson.Extension;
1010
import io.fabric8.kubernetes.api.model.Pod;
11+
import java.util.function.Supplier;
1112

1213
public class Never extends PodRetention implements Serializable {
1314

@@ -19,7 +20,7 @@ public Never() {
1920
}
2021

2122
@Override
22-
public boolean shouldDeletePod(KubernetesCloud cloud, Pod pod) {
23+
public boolean shouldDeletePod(KubernetesCloud cloud, Supplier<Pod> pod) {
2324
return true;
2425
}
2526

src/main/java/org/csanchez/jenkins/plugins/kubernetes/pod/retention/OnFailure.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,29 @@
88

99
import hudson.Extension;
1010
import io.fabric8.kubernetes.api.model.Pod;
11+
import java.util.function.Supplier;
12+
import java.util.logging.Level;
13+
import java.util.logging.Logger;
1114

1215
public class OnFailure extends PodRetention implements Serializable {
1316

1417
private static final long serialVersionUID = 6424267627207206819L;
1518

19+
private static final Logger LOGGER = Logger.getLogger(OnFailure.class.getName());
20+
1621
@DataBoundConstructor
1722
public OnFailure() {
1823

1924
}
2025

2126
@Override
22-
public boolean shouldDeletePod(KubernetesCloud cloud, Pod pod) {
27+
public boolean shouldDeletePod(KubernetesCloud cloud, Supplier<Pod> podS) {
28+
Pod pod = null;
29+
try {
30+
pod = podS.get();
31+
} catch (RuntimeException x) {
32+
LOGGER.log(Level.WARNING, null, x);
33+
}
2334
if (pod == null || pod.getStatus() == null) {
2435
return false;
2536
}

0 commit comments

Comments
 (0)