From 5778495b811e4e4eb10ab4d565c8212c227ce047 Mon Sep 17 00:00:00 2001 From: tjhiggins Date: Mon, 8 Nov 2021 13:22:30 -0500 Subject: [PATCH] Truncate the statefulset pvc name to be max 63 chars (#799) * Truncate the statefulset pvc name to be max 63 chars --- .../consul/templates/server-statefulset.yaml | 4 ++-- .../consul/test/unit/server-statefulset.bats | 22 +++++++++++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/charts/consul/templates/server-statefulset.yaml b/charts/consul/templates/server-statefulset.yaml index fe2dcff468..2e332cb7ae 100644 --- a/charts/consul/templates/server-statefulset.yaml +++ b/charts/consul/templates/server-statefulset.yaml @@ -257,7 +257,7 @@ spec: -config-file=/consul/extra-config/extra-from-values.json \ -server volumeMounts: - - name: data-{{ .Release.Namespace }} + - name: data-{{ .Release.Namespace | trunc 58 | trimSuffix "-" }} mountPath: /consul/data - name: config mountPath: /consul/config @@ -365,7 +365,7 @@ spec: {{- end }} volumeClaimTemplates: - metadata: - name: data-{{ .Release.Namespace }} + name: data-{{ .Release.Namespace | trunc 58 | trimSuffix "-" }} spec: accessModes: - ReadWriteOnce diff --git a/charts/consul/test/unit/server-statefulset.bats b/charts/consul/test/unit/server-statefulset.bats index 6418cef313..ea10cc163d 100755 --- a/charts/consul/test/unit/server-statefulset.bats +++ b/charts/consul/test/unit/server-statefulset.bats @@ -138,6 +138,28 @@ load _helpers [ "${actual}" = "2" ] } +#-------------------------------------------------------------------- +# volumeClaim name + +@test "server/StatefulSet: no truncation for namespace <= 58 chars" { + cd `chart_dir` + local actual=$(helm template \ + -s templates/server-statefulset.yaml \ + . | tee /dev/stderr | + yq -r '.spec.volumeClaimTemplates[0].metadata.name' | tee /dev/stderr) + [ "${actual}" = "data-default" ] +} + +@test "server/StatefulSet: truncation for namespace > 58 chars" { + cd `chart_dir` + local actual=$(helm template \ + -n really-really-really-really-really-really-really-long-namespace \ + -s templates/server-statefulset.yaml \ + . | tee /dev/stderr | + yq -r '.spec.volumeClaimTemplates[0].metadata.name' | tee /dev/stderr) + [ "${actual}" = "data-really-really-really-really-really-really-really-long-name" ] +} + #-------------------------------------------------------------------- # storageClass