Skip to content

Commit ad406fb

Browse files
authored
Merge pull request #1474 from aubinmora/bugfix/cascading-deletion
Use background cascading deletion of DynamicPVC
2 parents fd176ec + 68bccfd commit ad406fb

File tree

2 files changed

+13
-8
lines changed

2 files changed

+13
-8
lines changed

src/main/java/org/csanchez/jenkins/plugins/kubernetes/volumes/DynamicPVC.java

-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ default PersistentVolumeClaim createPVC(KubernetesClient client, ObjectMeta podM
4141
OwnerReference ownerReference = new OwnerReferenceBuilder().
4242
withApiVersion("v1").
4343
withKind("Pod").
44-
withBlockOwnerDeletion(true).
4544
withController(true).
4645
withName(podMetaData.getName()).
4746
withUid(podMetaData.getUid()).build();

src/test/java/org/csanchez/jenkins/plugins/kubernetes/pipeline/KubernetesPipelineTest.java

+13-7
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
package org.csanchez.jenkins.plugins.kubernetes.pipeline;
2626

27+
import static org.awaitility.Awaitility.await;
2728
import static org.csanchez.jenkins.plugins.kubernetes.KubernetesTestUtil.CONTAINER_ENV_VAR_FROM_SECRET_VALUE;
2829
import static org.csanchez.jenkins.plugins.kubernetes.KubernetesTestUtil.POD_ENV_VAR_FROM_SECRET_VALUE;
2930
import static org.csanchez.jenkins.plugins.kubernetes.KubernetesTestUtil.WINDOWS_1809_BUILD;
@@ -44,6 +45,7 @@
4445

4546
import io.fabric8.kubernetes.api.model.StatusDetails;
4647
import io.fabric8.kubernetes.client.KubernetesClient;
48+
import java.io.IOException;
4749
import java.util.Arrays;
4850
import java.util.List;
4951
import java.util.Map;
@@ -72,6 +74,7 @@
7274
import org.csanchez.jenkins.plugins.kubernetes.PodTemplateUtils;
7375
import org.hamcrest.MatcherAssert;
7476
import org.hamcrest.Matchers;
77+
import org.jenkinsci.plugins.kubernetes.auth.KubernetesAuthException;
7578
import org.jenkinsci.plugins.workflow.job.WorkflowRun;
7679
import org.jenkinsci.plugins.workflow.steps.durable_task.DurableTaskStep;
7780
import org.jenkinsci.plugins.workflow.test.steps.SemaphoreStep;
@@ -688,24 +691,27 @@ public void secretMaskingWindows() throws Exception {
688691

689692
@Test
690693
public void dynamicPVCWorkspaceVolume() throws Exception {
691-
try {
692-
cloud.connect().persistentVolumeClaims().list();
693-
} catch (KubernetesClientException x) {
694-
// Error from server (Forbidden): persistentvolumeclaims is forbidden: User "system:serviceaccount:kubernetes-plugin-test:default" cannot list resource "persistentvolumeclaims" in API group "" in the namespace "kubernetes-plugin-test"
695-
assumeNoException("was not permitted to list pvcs, so presumably cannot run test either", x);
696-
}
694+
assumePvcAccess();
695+
var size = cloud.connect().persistentVolumeClaims().list().getItems().size();
697696
r.assertBuildStatusSuccess(r.waitForCompletion(b));
697+
await().until(() -> cloud.connect().persistentVolumeClaims().list().getItems(), hasSize(size));
698698
}
699699

700700
@Test
701701
public void dynamicPVCVolume() throws Exception {
702+
assumePvcAccess();
703+
var size = cloud.connect().persistentVolumeClaims().list().getItems().size();
704+
r.assertBuildStatusSuccess(r.waitForCompletion(b));
705+
await().until(() -> cloud.connect().persistentVolumeClaims().list().getItems(), hasSize(size));
706+
}
707+
708+
private void assumePvcAccess() throws KubernetesAuthException, IOException {
702709
try {
703710
cloud.connect().persistentVolumeClaims().list();
704711
} catch (KubernetesClientException x) {
705712
// Error from server (Forbidden): persistentvolumeclaims is forbidden: User "system:serviceaccount:kubernetes-plugin-test:default" cannot list resource "persistentvolumeclaims" in API group "" in the namespace "kubernetes-plugin-test"
706713
assumeNoException("was not permitted to list pvcs, so presumably cannot run test either", x);
707714
}
708-
r.assertBuildStatusSuccess(r.waitForCompletion(b));
709715
}
710716

711717
@Test

0 commit comments

Comments
 (0)