Postgresql: Enhance postgresql backup

Pick up the helm-toolkit DB backup enhancement in postgresql
to add capability to retry uploading backup to remote server.

Change-Id: I041d83211f08a8d0c9c22a66e16e6b7652bfc7d9
This commit is contained in:
Sophie Huang
2022-01-25 20:58:27 +00:00
parent 11ac37056b
commit 25d1eedc59
6 changed files with 18 additions and 1 deletions

View File

@@ -15,7 +15,7 @@ apiVersion: v1
appVersion: v9.6 appVersion: v9.6
description: OpenStack-Helm PostgreSQL description: OpenStack-Helm PostgreSQL
name: postgresql name: postgresql
version: 0.1.11 version: 0.1.12
home: https://www.postgresql.org home: https://www.postgresql.org
sources: sources:
- https://github.com/postgres/postgres - https://github.com/postgres/postgres

View File

@@ -32,6 +32,9 @@ export DB_NAMESPACE=${POSTGRESQL_POD_NAMESPACE}
export DB_NAME="postgres" export DB_NAME="postgres"
export LOCAL_DAYS_TO_KEEP=$POSTGRESQL_LOCAL_BACKUP_DAYS_TO_KEEP export LOCAL_DAYS_TO_KEEP=$POSTGRESQL_LOCAL_BACKUP_DAYS_TO_KEEP
export REMOTE_DAYS_TO_KEEP=$POSTGRESQL_REMOTE_BACKUP_DAYS_TO_KEEP export REMOTE_DAYS_TO_KEEP=$POSTGRESQL_REMOTE_BACKUP_DAYS_TO_KEEP
export REMOTE_BACKUP_RETRIES=${NUMBER_OF_RETRIES_SEND_BACKUP_TO_REMOTE}
export MIN_DELAY_SEND_REMOTE=${MIN_DELAY_SEND_BACKUP_TO_REMOTE}
export MAX_DELAY_SEND_REMOTE=${MAX_DELAY_SEND_BACKUP_TO_REMOTE}
export ARCHIVE_DIR=${POSTGRESQL_BACKUP_BASE_DIR}/db/${DB_NAMESPACE}/${DB_NAME}/archive export ARCHIVE_DIR=${POSTGRESQL_BACKUP_BASE_DIR}/db/${DB_NAMESPACE}/${DB_NAME}/archive
# This function dumps all database files to the $TMP_DIR that is being # This function dumps all database files to the $TMP_DIR that is being

View File

@@ -110,6 +110,12 @@ spec:
value: "{{ .Values.conf.backup.remote_backup.container_name }}" value: "{{ .Values.conf.backup.remote_backup.container_name }}"
- name: STORAGE_POLICY - name: STORAGE_POLICY
value: "{{ .Values.conf.backup.remote_backup.storage_policy }}" value: "{{ .Values.conf.backup.remote_backup.storage_policy }}"
- name: NUMBER_OF_RETRIES_SEND_BACKUP_TO_REMOTE
value: {{ .Values.conf.backup.remote_backup.number_of_retries | quote }}
- name: MIN_DELAY_SEND_BACKUP_TO_REMOTE
value: {{ .Values.conf.backup.remote_backup.delay_range.min | quote }}
- name: MAX_DELAY_SEND_BACKUP_TO_REMOTE
value: {{ .Values.conf.backup.remote_backup.delay_range.max | quote }}
{{- with $env := dict "ksUserSecret" $envAll.Values.secrets.identity.postgresql }} {{- with $env := dict "ksUserSecret" $envAll.Values.secrets.identity.postgresql }}
{{- include "helm-toolkit.snippets.keystone_openrc_env_vars" $env | indent 16 }} {{- include "helm-toolkit.snippets.keystone_openrc_env_vars" $env | indent 16 }}
{{- end }} {{- end }}

View File

@@ -23,5 +23,8 @@ data:
REMOTE_BACKUP_CONTAINER: {{ $envAll.Values.conf.backup.remote_backup.container_name | b64enc }} REMOTE_BACKUP_CONTAINER: {{ $envAll.Values.conf.backup.remote_backup.container_name | b64enc }}
REMOTE_BACKUP_DAYS_TO_KEEP: {{ $envAll.Values.conf.backup.remote_backup.days_to_keep | quote | b64enc }} REMOTE_BACKUP_DAYS_TO_KEEP: {{ $envAll.Values.conf.backup.remote_backup.days_to_keep | quote | b64enc }}
REMOTE_BACKUP_STORAGE_POLICY: {{ $envAll.Values.conf.backup.remote_backup.storage_policy | b64enc }} REMOTE_BACKUP_STORAGE_POLICY: {{ $envAll.Values.conf.backup.remote_backup.storage_policy | b64enc }}
REMOTE_BACKUP_RETRIES: {{ $envAll.Values.conf.backup.remote_backup.number_of_retries | quote | b64enc }}
REMOTE_BACKUP_SEND_DELAY_MIN: {{ $envAll.Values.conf.backup.remote_backup.delay_range.min | quote | b64enc }}
REMOTE_BACKUP_SEND_DELAY_MAX: {{ $envAll.Values.conf.backup.remote_backup.delay_range.max | quote | b64enc }}
... ...
{{- end }} {{- end }}

View File

@@ -328,6 +328,10 @@ conf:
container_name: postgresql container_name: postgresql
days_to_keep: 14 days_to_keep: 14
storage_policy: default-placement storage_policy: default-placement
number_of_retries: 5
delay_range:
min: 30
max: 60
exporter: exporter:
queries: queries:

View File

@@ -12,4 +12,5 @@ postgresql:
- 0.1.9 Use full image ref for docker official images - 0.1.9 Use full image ref for docker official images
- 0.1.10 Helm 3 - Fix Job labels - 0.1.10 Helm 3 - Fix Job labels
- 0.1.11 Update htk requirements - 0.1.11 Update htk requirements
- 0.1.12 Enhance postgresql backup
... ...