Skip to content

Commit 88d226d

Browse files
committed
change volume name
1 parent 8633669 commit 88d226d

File tree

3 files changed

+41
-39
lines changed

3 files changed

+41
-39
lines changed

internal/controller/postgrescluster/util.go

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -289,31 +289,32 @@ func safeHash32(content func(w io.Writer) error) (string, error) {
289289
}
290290

291291
// AdditionalVolumeMount returns the name and mount path of the additional volume.
292-
func AdditionalVolumeMount(volumeName, claimName string) corev1.VolumeMount {
292+
func AdditionalVolumeMount(name string, index int, readOnly bool) corev1.VolumeMount {
293293
return corev1.VolumeMount{
294-
Name: claimName,
295-
MountPath: "/volumes" + "/" + volumeName}
294+
Name: fmt.Sprintf("volume-%d-%s", index, name),
295+
MountPath: "/volumes/" + name,
296+
ReadOnly: readOnly,
297+
}
296298
}
297299

298300
// addAdditionalVolumesToSpecifiedContainers adds additional volumes to the specified
299301
// containers in the specified pod
300302
func addAdditionalVolumesToSpecifiedContainers(template *corev1.PodTemplateSpec,
301303
additionalVolumes []v1beta1.AdditionalVolume) {
302304

303-
for _, additionalVolumeRequest := range additionalVolumes {
305+
for index, additionalVolumeRequest := range additionalVolumes {
304306

305307
additionalVolumeMount := AdditionalVolumeMount(
306-
additionalVolumeRequest.Name,
307-
additionalVolumeRequest.ClaimName)
308+
additionalVolumeRequest.Name, index,
309+
additionalVolumeRequest.ReadOnly,
310+
)
308311

309312
additionalVolume := corev1.Volume{
310313
Name: additionalVolumeMount.Name,
311314
VolumeSource: corev1.VolumeSource{
312315
PersistentVolumeClaim: &corev1.PersistentVolumeClaimVolumeSource{
313-
// TODO: Using the claim name as the claim name here means this has to be unique
314-
// We could add the index if we want someone to mount the same PVC in multiple dirs?
315-
ClaimName: additionalVolumeMount.Name,
316-
ReadOnly: additionalVolumeRequest.ReadOnly,
316+
ClaimName: additionalVolumeRequest.ClaimName,
317+
ReadOnly: additionalVolumeMount.ReadOnly,
317318
},
318319
},
319320
}

internal/controller/postgrescluster/util_test.go

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -410,23 +410,23 @@ func TestAddAdditionalVolumesToSpecifiedContainers(t *testing.T) {
410410
resources: {}
411411
volumeMounts:
412412
- mountPath: /volumes/required
413-
name: required
413+
name: volume-0-required
414414
- name: other
415415
resources: {}
416416
volumeMounts:
417417
- mountPath: /volumes/required
418-
name: required`,
418+
name: volume-0-required`,
419419
expectedInitContainers: `- name: startup
420420
resources: {}
421421
volumeMounts:
422422
- mountPath: /volumes/required
423-
name: required
423+
name: volume-0-required
424424
- name: config
425425
resources: {}
426426
volumeMounts:
427427
- mountPath: /volumes/required
428-
name: required`,
429-
expectedVolumes: `- name: required
428+
name: volume-0-required`,
429+
expectedVolumes: `- name: volume-0-required
430430
persistentVolumeClaim:
431431
claimName: required`,
432432
}, {
@@ -444,34 +444,34 @@ func TestAddAdditionalVolumesToSpecifiedContainers(t *testing.T) {
444444
resources: {}
445445
volumeMounts:
446446
- mountPath: /volumes/required
447-
name: required
447+
name: volume-0-required
448448
- mountPath: /volumes/other
449-
name: also
449+
name: volume-1-other
450450
- name: other
451451
resources: {}
452452
volumeMounts:
453453
- mountPath: /volumes/required
454-
name: required
454+
name: volume-0-required
455455
- mountPath: /volumes/other
456-
name: also`,
456+
name: volume-1-other`,
457457
expectedInitContainers: `- name: startup
458458
resources: {}
459459
volumeMounts:
460460
- mountPath: /volumes/required
461-
name: required
461+
name: volume-0-required
462462
- mountPath: /volumes/other
463-
name: also
463+
name: volume-1-other
464464
- name: config
465465
resources: {}
466466
volumeMounts:
467467
- mountPath: /volumes/required
468-
name: required
468+
name: volume-0-required
469469
- mountPath: /volumes/other
470-
name: also`,
471-
expectedVolumes: `- name: required
470+
name: volume-1-other`,
471+
expectedVolumes: `- name: volume-0-required
472472
persistentVolumeClaim:
473473
claimName: required
474-
- name: also
474+
- name: volume-1-other
475475
persistentVolumeClaim:
476476
claimName: also`,
477477
}, {
@@ -485,14 +485,14 @@ func TestAddAdditionalVolumesToSpecifiedContainers(t *testing.T) {
485485
resources: {}
486486
volumeMounts:
487487
- mountPath: /volumes/required
488-
name: required
488+
name: volume-0-required
489489
- name: other
490490
resources: {}`,
491491
expectedInitContainers: `- name: startup
492492
resources: {}
493493
- name: config
494494
resources: {}`,
495-
expectedVolumes: `- name: required
495+
expectedVolumes: `- name: volume-0-required
496496
persistentVolumeClaim:
497497
claimName: required`,
498498
}, {
@@ -507,14 +507,15 @@ func TestAddAdditionalVolumesToSpecifiedContainers(t *testing.T) {
507507
resources: {}
508508
volumeMounts:
509509
- mountPath: /volumes/required
510-
name: required
510+
name: volume-0-required
511+
readOnly: true
511512
- name: other
512513
resources: {}`,
513514
expectedInitContainers: `- name: startup
514515
resources: {}
515516
- name: config
516517
resources: {}`,
517-
expectedVolumes: `- name: required
518+
expectedVolumes: `- name: volume-0-required
518519
persistentVolumeClaim:
519520
claimName: required
520521
readOnly: true`,

testing/kuttl/e2e/additional-volumes/01-assert.yaml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,43 +16,43 @@ commands:
1616
exit 1
1717
}
1818
19-
extra_mounted_in_database=$(kubectl get "${pod}" -n "${NAMESPACE}" -o jsonpath="{.status.containerStatuses[?(@.name=='database')].volumeMounts[?(@.name=='additional-vol')]}")
19+
extra_mounted_in_database=$(kubectl get "${pod}" -n "${NAMESPACE}" -o jsonpath="{.status.containerStatuses[?(@.name=='database')].volumeMounts[?(@.name=='volume-0-extra')]}")
2020
2121
[ "$extra_mounted_in_database" = "" ] && (echo "extra not found in database" && exit 1)
2222
23-
ubiq_mounted_in_database=$(kubectl get "${pod}" -n "${NAMESPACE}" -o jsonpath="{.status.containerStatuses[?(@.name=='database')].volumeMounts[?(@.name=='additional-vol-2')]}")
23+
ubiq_mounted_in_database=$(kubectl get "${pod}" -n "${NAMESPACE}" -o jsonpath="{.status.containerStatuses[?(@.name=='database')].volumeMounts[?(@.name=='volume-2-ubiq')]}")
2424
2525
[ "$ubiq_mounted_in_database" = "" ] && (echo "ubiq not found in database" && exit 1)
2626
27-
extra_mounted_in_rcc=$(kubectl get "${pod}" -n "${NAMESPACE}" -o jsonpath="{.status.containerStatuses[?(@.name=='replication-cert-copy')].volumeMounts[?(@.name=='additional-vol')]}")
27+
extra_mounted_in_rcc=$(kubectl get "${pod}" -n "${NAMESPACE}" -o jsonpath="{.status.containerStatuses[?(@.name=='replication-cert-copy')].volumeMounts[?(@.name=='volume-0-extra')]}")
2828
2929
[ "$extra_mounted_in_rcc" = "" ] || (echo "extra found in rcc" && exit 1)
3030
31-
ubiq_mounted_in_rcc=$(kubectl get "${pod}" -n "${NAMESPACE}" -o jsonpath="{.status.containerStatuses[?(@.name=='replication-cert-copy')].volumeMounts[?(@.name=='additional-vol-2')]}")
31+
ubiq_mounted_in_rcc=$(kubectl get "${pod}" -n "${NAMESPACE}" -o jsonpath="{.status.containerStatuses[?(@.name=='replication-cert-copy')].volumeMounts[?(@.name=='volume-2-ubiq')]}")
3232
3333
[ "$ubiq_mounted_in_rcc" = "" ] && (echo "ubiq not found in rcc" && exit 1)
3434
35-
extra_mounted_in_nss=$(kubectl get "${pod}" -n "${NAMESPACE}" -o jsonpath="{.status.initContainerStatuses[?(@.name=='nss-wrapper-init')].volumeMounts[?(@.name=='additional-vol')]}")
35+
extra_mounted_in_nss=$(kubectl get "${pod}" -n "${NAMESPACE}" -o jsonpath="{.status.initContainerStatuses[?(@.name=='nss-wrapper-init')].volumeMounts[?(@.name=='volume-0-extra')]}")
3636
3737
[ "$extra_mounted_in_nss" = "" ] && (echo "extra not found in nss" && exit 1)
3838
39-
ubiq_mounted_in_nss=$(kubectl get "${pod}" -n "${NAMESPACE}" -o jsonpath="{.status.initContainerStatuses[?(@.name=='nss-wrapper-init')].volumeMounts[?(@.name=='additional-vol-2')]}")
39+
ubiq_mounted_in_nss=$(kubectl get "${pod}" -n "${NAMESPACE}" -o jsonpath="{.status.initContainerStatuses[?(@.name=='nss-wrapper-init')].volumeMounts[?(@.name=='volume-2-ubiq')]}")
4040
4141
[ "$ubiq_mounted_in_nss" = "" ] && (echo "ubiq not found in nss" && exit 1)
4242
43-
extra_mounted_in_startup=$(kubectl get "${pod}" -n "${NAMESPACE}" -o jsonpath="{.status.initContainerStatuses[?(@.name=='postgres-startup')].volumeMounts[?(@.name=='additional-vol')]}")
43+
extra_mounted_in_startup=$(kubectl get "${pod}" -n "${NAMESPACE}" -o jsonpath="{.status.initContainerStatuses[?(@.name=='postgres-startup')].volumeMounts[?(@.name=='volume-0-extra')]}")
4444
4545
[ "$extra_mounted_in_startup" = "" ] || (echo "extra found in startup" && exit 1)
4646
47-
ubiq_mounted_in_startup=$(kubectl get "${pod}" -n "${NAMESPACE}" -o jsonpath="{.status.initContainerStatuses[?(@.name=='postgres-startup')].volumeMounts[?(@.name=='additional-vol-2')]}")
47+
ubiq_mounted_in_startup=$(kubectl get "${pod}" -n "${NAMESPACE}" -o jsonpath="{.status.initContainerStatuses[?(@.name=='postgres-startup')].volumeMounts[?(@.name=='volume-2-ubiq')]}")
4848
4949
[ "$ubiq_mounted_in_startup" = "" ] && (echo "ubiq not found in startup" && exit 1)
5050
51-
extra_isnt_readonly=$(kubectl get "${pod}" -n "${NAMESPACE}" -o jsonpath="{.spec.volumes[?(@.name=='additional-vol')].persistentVolumeClaim.readOnly}")
51+
extra_isnt_readonly=$(kubectl get "${pod}" -n "${NAMESPACE}" -o jsonpath="{.spec.volumes[?(@.name=='volume-0-extra')].persistentVolumeClaim.readOnly}")
5252
5353
[ "$extra_isnt_readonly" = "" ] || (echo "extra is readonly" && exit 1)
5454
55-
ubiq_is_readonly=$(kubectl get "${pod}" -n "${NAMESPACE}" -o jsonpath="{.spec.volumes[?(@.name=='additional-vol-2')].persistentVolumeClaim.readOnly}")
55+
ubiq_is_readonly=$(kubectl get "${pod}" -n "${NAMESPACE}" -o jsonpath="{.spec.volumes[?(@.name=='volume-2-ubiq')].persistentVolumeClaim.readOnly}")
5656
5757
[ "$ubiq_is_readonly" = "" ] && (echo "ubiq is not readonly" && exit 1)
5858

0 commit comments

Comments
 (0)