From 50d16208d1c2f30851212b97ef1fe6e106d499e8 Mon Sep 17 00:00:00 2001 From: Craig Peterson <192540+captncraig@users.noreply.github.com> Date: Thu, 4 Jan 2024 13:47:26 -0500 Subject: [PATCH] helm: clean up logic for autodelete pvcs (#6042) * helm: clean up logic for autodelete pvcs * remove flag * changelog --- operations/helm/charts/grafana-agent/CHANGELOG.md | 4 ++++ .../ci/create-statefulset-autoscaling-values.yaml | 1 + .../grafana-agent/templates/controllers/statefulset.yaml | 7 +++++-- operations/helm/scripts/rebuild-tests.sh | 2 +- .../grafana-agent/templates/controllers/statefulset.yaml | 3 +++ 5 files changed, 14 insertions(+), 3 deletions(-) diff --git a/operations/helm/charts/grafana-agent/CHANGELOG.md b/operations/helm/charts/grafana-agent/CHANGELOG.md index 70b612d74572..d14525031740 100644 --- a/operations/helm/charts/grafana-agent/CHANGELOG.md +++ b/operations/helm/charts/grafana-agent/CHANGELOG.md @@ -14,6 +14,10 @@ Unreleased - Update `rbac` to include necessary rules for the `otelcol.processor.k8sattributes` component. (@rlankfo) +### Bugfixes + +- Statefulset should use value `.controller.enableStatefulSetAutoDeletePVC` instead of just `.enableStatefulSetAutoDeletePVC`. (@captncraig) + 0.29.0 (2023-11-30) ------------------- diff --git a/operations/helm/charts/grafana-agent/ci/create-statefulset-autoscaling-values.yaml b/operations/helm/charts/grafana-agent/ci/create-statefulset-autoscaling-values.yaml index 89b51fc31c78..eedf5411b31c 100644 --- a/operations/helm/charts/grafana-agent/ci/create-statefulset-autoscaling-values.yaml +++ b/operations/helm/charts/grafana-agent/ci/create-statefulset-autoscaling-values.yaml @@ -3,6 +3,7 @@ controller: type: statefulset autoscaling: enabled: true + enableStatefulSetAutoDeletePVC: true agent: resources: requests: diff --git a/operations/helm/charts/grafana-agent/templates/controllers/statefulset.yaml b/operations/helm/charts/grafana-agent/templates/controllers/statefulset.yaml index c4ef55024a22..a4965d14205d 100644 --- a/operations/helm/charts/grafana-agent/templates/controllers/statefulset.yaml +++ b/operations/helm/charts/grafana-agent/templates/controllers/statefulset.yaml @@ -1,4 +1,7 @@ {{- if eq .Values.controller.type "statefulset" }} +{{- if .Values.enableStatefulSetAutoDeletePVC }} +{{- fail "Value 'enableStatefulSetAutoDeletePVC' should be nested inside 'controller' options." }} +{{- end }} apiVersion: apps/v1 kind: StatefulSet metadata: @@ -35,8 +38,8 @@ spec: - {{ toYaml . | nindent 6 }} {{- end }} {{- end }} - {{- if and (semverCompare ">= 1.23-0" .Capabilities.KubeVersion.Version) (.Values.enableStatefulSetAutoDeletePVC) }} - {{/* + {{- if and (semverCompare ">= 1.23-0" .Capabilities.KubeVersion.Version) (.Values.controller.enableStatefulSetAutoDeletePVC) }} + {{- /* Data on the read nodes is easy to replace, so we want to always delete PVCs to make operation easier, and will rely on re-fetching data when needed. */}} diff --git a/operations/helm/scripts/rebuild-tests.sh b/operations/helm/scripts/rebuild-tests.sh index af82eef8b12d..66ce2dfaaff6 100755 --- a/operations/helm/scripts/rebuild-tests.sh +++ b/operations/helm/scripts/rebuild-tests.sh @@ -17,7 +17,7 @@ for chart_file in $(find * -name Chart.yaml -print | sort); do FILENAME=$(basename ${FILE_PATH}) TESTNAME=${FILENAME%-values.yaml} # Render chart - helm template --namespace default --debug ${CHART_NAME} ${CHART_DIR} -f ${FILE_PATH} --output-dir ${TEST_DIR}/${TESTNAME} --set '$chart_tests=true' + helm template --namespace default --kube-version 1.26 --debug ${CHART_NAME} ${CHART_DIR} -f ${FILE_PATH} --output-dir ${TEST_DIR}/${TESTNAME} --set '$chart_tests=true' done fi done diff --git a/operations/helm/tests/create-statefulset-autoscaling/grafana-agent/templates/controllers/statefulset.yaml b/operations/helm/tests/create-statefulset-autoscaling/grafana-agent/templates/controllers/statefulset.yaml index 65ce63ce8c00..06151482680e 100644 --- a/operations/helm/tests/create-statefulset-autoscaling/grafana-agent/templates/controllers/statefulset.yaml +++ b/operations/helm/tests/create-statefulset-autoscaling/grafana-agent/templates/controllers/statefulset.yaml @@ -76,3 +76,6 @@ spec: - name: config configMap: name: grafana-agent + persistentVolumeClaimRetentionPolicy: + whenDeleted: Delete + whenScaled: Delete