diff --git a/src/main/java/org/csanchez/jenkins/plugins/kubernetes/PodTemplateBuilder.java b/src/main/java/org/csanchez/jenkins/plugins/kubernetes/PodTemplateBuilder.java index 622d79b1a..c769e591c 100644 --- a/src/main/java/org/csanchez/jenkins/plugins/kubernetes/PodTemplateBuilder.java +++ b/src/main/java/org/csanchez/jenkins/plugins/kubernetes/PodTemplateBuilder.java @@ -183,7 +183,9 @@ public Pod build() { String podName = agent.getPodName(); int i = 0; for (final PodVolume volume : template.getVolumes()) { - final String volumeName = "volume-" + i; + final String volumeName = (volume instanceof HostPathVolume hp) + ? normalizePath(hp.getHostPath()).replaceFirst("^/", "").replaceAll("[^a-zA-Z0-9-]", "-") + : "volume-" + i; final String mountPath = normalizePath(volume.getMountPath()); if (!volumeMounts.containsKey(mountPath)) { VolumeMountBuilder volumeMountBuilder = new VolumeMountBuilder() // diff --git a/src/test/java/org/csanchez/jenkins/plugins/kubernetes/PodTemplateBuilderTest.java b/src/test/java/org/csanchez/jenkins/plugins/kubernetes/PodTemplateBuilderTest.java index 84b4fac6b..e9dfeb4e1 100644 --- a/src/test/java/org/csanchez/jenkins/plugins/kubernetes/PodTemplateBuilderTest.java +++ b/src/test/java/org/csanchez/jenkins/plugins/kubernetes/PodTemplateBuilderTest.java @@ -398,7 +398,7 @@ private void validatePod(Pod pod, boolean fromYaml, boolean directConnection) { assertNotNull(volumes.get("empty-volume")); assertNotNull(volumes.get("host-volume")); } else { - assertNotNull(volumes.get("volume-0")); + assertNotNull(volumes.get("host-data")); assertNotNull(volumes.get("volume-1")); } @@ -427,7 +427,7 @@ private void validatePod(Pod pod, boolean fromYaml, boolean directConnection) { equalTo( new VolumeMountBuilder() // .withMountPath("/container/data") - .withName("volume-0") + .withName("host-data") .withReadOnly(false) .build()), equalTo(