[backups] Add throttlling of remote etcd backups
This PS adds a possibility to limit (to throttle) the number of simultaneously uploaded backups while keeping the logic on the client side using flag files on remote side. Change-Id: I753faab8f3d934346d54e38bfc94cec3a8f79385
This commit is contained in:
parent
6d90e785ff
commit
c1da28f637
|
@ -15,4 +15,4 @@
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
description: A chart for a DaemonSet-based etcd deployment.
|
description: A chart for a DaemonSet-based etcd deployment.
|
||||||
name: etcd
|
name: etcd
|
||||||
version: 0.1.3
|
version: 0.1.4
|
||||||
|
|
|
@ -134,6 +134,16 @@ spec:
|
||||||
value: {{ .Values.backup.remote_backup.delay_range.min | quote }}
|
value: {{ .Values.backup.remote_backup.delay_range.min | quote }}
|
||||||
- name: MAX_DELAY_SEND_BACKUP_TO_REMOTE
|
- name: MAX_DELAY_SEND_BACKUP_TO_REMOTE
|
||||||
value: {{ .Values.backup.remote_backup.delay_range.max | quote }}
|
value: {{ .Values.backup.remote_backup.delay_range.max | quote }}
|
||||||
|
- name: THROTTLE_BACKUPS_ENABLED
|
||||||
|
value: "{{ .Values.backup.remote_backup.throttle_backups.enabled }}"
|
||||||
|
- name: THROTTLE_LIMIT
|
||||||
|
value: {{ .Values.backup.remote_backup.throttle_backups.sessions_limit | quote }}
|
||||||
|
- name: THROTTLE_LOCK_EXPIRE_AFTER
|
||||||
|
value: {{ .Values.backup.remote_backup.throttle_backups.lock_expire_after | quote }}
|
||||||
|
- name: THROTTLE_RETRY_AFTER
|
||||||
|
value: {{ .Values.backup.remote_backup.throttle_backups.retry_after | quote }}
|
||||||
|
- name: THROTTLE_CONTAINER_NAME
|
||||||
|
value: {{ .Values.backup.remote_backup.throttle_backups.container_name | quote }}
|
||||||
{{- with $env := dict "ksUserSecret" $envAll.Values.secrets.identity.kubernetes }}
|
{{- with $env := dict "ksUserSecret" $envAll.Values.secrets.identity.kubernetes }}
|
||||||
{{- include "helm-toolkit.snippets.keystone_openrc_env_vars" $env | indent 16 }}
|
{{- include "helm-toolkit.snippets.keystone_openrc_env_vars" $env | indent 16 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
|
@ -25,5 +25,10 @@ data:
|
||||||
REMOTE_BACKUP_RETRIES: {{ $envAll.Values.backup.remote_backup.number_of_retries | quote | b64enc }}
|
REMOTE_BACKUP_RETRIES: {{ $envAll.Values.backup.remote_backup.number_of_retries | quote | b64enc }}
|
||||||
REMOTE_BACKUP_SEND_DELAY_MIN: {{ $envAll.Values.backup.remote_backup.delay_range.min | quote | b64enc }}
|
REMOTE_BACKUP_SEND_DELAY_MIN: {{ $envAll.Values.backup.remote_backup.delay_range.min | quote | b64enc }}
|
||||||
REMOTE_BACKUP_SEND_DELAY_MAX: {{ $envAll.Values.backup.remote_backup.delay_range.max | quote | b64enc }}
|
REMOTE_BACKUP_SEND_DELAY_MAX: {{ $envAll.Values.backup.remote_backup.delay_range.max | quote | b64enc }}
|
||||||
|
THROTTLE_BACKUPS_ENABLED: {{ $envAll.Values.backup.remote_backup.throttle_backups.enabled | quote | b64enc }}
|
||||||
|
THROTTLE_LIMIT: {{ $envAll.Values.backup.remote_backup.throttle_backups.sessions_limit | quote | b64enc }}
|
||||||
|
THROTTLE_LOCK_EXPIRE_AFTER: {{ $envAll.Values.backup.remote_backup.throttle_backups.lock_expire_after | quote | b64enc }}
|
||||||
|
THROTTLE_RETRY_AFTER: {{ $envAll.Values.backup.remote_backup.throttle_backups.retry_after | quote | b64enc }}
|
||||||
|
THROTTLE_CONTAINER_NAME: {{ $envAll.Values.backup.remote_backup.throttle_backups.container_name | quote | b64enc }}
|
||||||
...
|
...
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
|
@ -74,6 +74,12 @@ backup:
|
||||||
delay_range:
|
delay_range:
|
||||||
min: 30
|
min: 30
|
||||||
max: 60
|
max: 60
|
||||||
|
throttle_backups:
|
||||||
|
enabled: false
|
||||||
|
sessions_limit: 480
|
||||||
|
lock_expire_after: 7200
|
||||||
|
retry_after: 3600
|
||||||
|
container_name: throttle-backups-manager
|
||||||
|
|
||||||
endpoints:
|
endpoints:
|
||||||
identity:
|
identity:
|
||||||
|
|
Loading…
Reference in New Issue