Merge "Specify configmap name for external ceph configuration in cinder"

This commit is contained in:
Zuul 2022-09-06 04:50:23 +00:00 committed by Gerrit Code Review
commit e4cdd1ba55
7 changed files with 82 additions and 3 deletions

View File

@ -14,7 +14,7 @@ apiVersion: v1
appVersion: v1.0.0
description: OpenStack-Helm Cinder
name: cinder
version: 0.2.29
version: 0.2.30
home: https://docs.openstack.org/cinder/latest/
icon: https://www.openstack.org/themes/openstack/images/project-mascots/Cinder/OpenStack_Project_Cinder_vertical.png
sources:

View File

@ -158,10 +158,10 @@ data:
{{- $filePrefix := replace "_" "-" $key }}
{{ printf "%s.filters" $filePrefix }}: {{ $value.content | b64enc }}
{{- end }}
{{- if .Values.backup.external_ceph_rbd.enabled }}
{{- if and .Values.backup.external_ceph_rbd.enabled (not .Values.backup.external_ceph_rbd.configmap) }}
external-backup-ceph.conf: {{ include "helm-toolkit.utils.to_ini" .Values.backup.external_ceph_rbd.conf | b64enc }}
{{- end }}
{{- if .Values.ceph_client.enable_external_ceph_backend }}
{{- if and .Values.ceph_client.enable_external_ceph_backend (not .Values.ceph_client.external_ceph.configmap) }}
external-ceph.conf: {{ include "helm-toolkit.utils.to_oslo_conf" .Values.ceph_client.external_ceph.conf | b64enc }}
{{- end }}
{{- end }}

View File

@ -189,6 +189,11 @@ spec:
mountPath: /etc/ceph/ceph.conf
subPath: ceph.conf
readOnly: true
{{- else if .Values.backup.external_ceph_rbd.configmap }}
- name: external-backup-ceph-etc
mountPath: /etc/ceph/ceph.conf
subPath: ceph.conf
readOnly: true
{{- else }}
- name: cinder-etc
mountPath: /etc/ceph/ceph.conf
@ -207,10 +212,17 @@ spec:
readOnly: true
{{- end }}
{{- if .Values.ceph_client.enable_external_ceph_backend }}
{{- if .Values.ceph_client.external_ceph.configmap }}
- name: external-ceph-etc
mountPath: /etc/ceph/external-ceph.conf
subPath: external-ceph.conf
readOnly: true
{{- else }}
- name: cinder-etc
mountPath: /etc/ceph/external-ceph.conf
subPath: external-ceph.conf
readOnly: true
{{- end }}
{{- if .Values.ceph_client.external_ceph.rbd_user }}
- name: external-ceph-keyring
mountPath: /tmp/external-ceph-client-keyring
@ -289,10 +301,22 @@ spec:
{{ if or (contains "cinder.backup.drivers.ceph" .Values.conf.cinder.DEFAULT.backup_driver) (eq "true" (include "cinder.utils.has_ceph_backend" $envAll)) }}
- name: etcceph
emptyDir: {}
{{- if and .Values.backup.external_ceph_rbd.enabled .Values.backup.external_ceph_rbd.configmap }}
- name: external-backup-ceph-etc
configMap:
name: {{ .Values.backup.external_ceph_rbd.configmap }}
defaultMode: 0444
{{- end }}
- name: ceph-etc
configMap:
name: {{ .Values.ceph_client.configmap }}
defaultMode: 0444
{{- if and .Values.ceph_client.enable_external_ceph_backend .Values.ceph_client.external_ceph.configmap }}
- name: external-ceph-etc
configMap:
name: {{ .Values.ceph_client.external_ceph.configmap }}
defaultMode: 0444
{{- end }}
{{ end }}
{{- if (contains "cinder.backup.drivers.ceph" .Values.conf.cinder.DEFAULT.backup_driver) }}
- name: ceph-backup-keyring

View File

@ -193,10 +193,17 @@ spec:
subPath: key
readOnly: true
{{- if .Values.ceph_client.enable_external_ceph_backend }}
{{- if .Values.ceph_client.external_ceph.configmap }}
- name: external-ceph-etc
mountPath: /etc/ceph/external-ceph.conf
subPath: external-ceph.conf
readOnly: true
{{- else }}
- name: cinder-etc
mountPath: /etc/ceph/external-ceph.conf
subPath: external-ceph.conf
readOnly: true
{{- end }}
{{- if .Values.ceph_client.external_ceph.rbd_user }}
- name: external-ceph-keyring
mountPath: /tmp/external-ceph-client-keyring
@ -300,6 +307,12 @@ spec:
configMap:
name: {{ .Values.ceph_client.configmap }}
defaultMode: 0444
{{- if and .Values.ceph_client.enable_external_ceph_backend .Values.ceph_client.external_ceph.configmap }}
- name: external-ceph-etc
configMap:
name: {{ .Values.ceph_client.external_ceph.configmap }}
defaultMode: 0444
{{- end }}
- name: ceph-keyring
secret:
secretName: {{ .Values.secrets.rbd.volume | quote }}

View File

@ -425,6 +425,7 @@ ceph_client:
# secret for external ceph keyring will be created.
rbd_user: null
rbd_user_keyring: null
configmap: null
conf:
global: null
osd: null
@ -1100,6 +1101,7 @@ backup:
external_ceph_rbd:
enabled: false
admin_keyring: null
configmap: null
conf:
global: null
osd: null

View File

@ -0,0 +1,39 @@
# Note: This yaml file serves as an example for overriding the manifest
# to enable additional externally managed Ceph Cinder backend.
# Configuration of external ceph cluster is provided by a pre-existing configmap.
# For backup external ceph, backup-external-ceph configmap with ceph.conf data field.
# For 2nd tier external ceph, external-ceph configmap with external-ceph.conf data field.
---
backup:
external_ceph_rbd:
enabled: true
configmap: backup-external-ceph
ceph_client:
enable_external_ceph_backend: True
external_ceph:
rbd_user: cinder2
rbd_user_keyring: RBDUserKeyRing
configmap: external-ceph
conf:
cinder:
DEFAULT:
enabled_backends: "rbd1,rbd2"
backends:
rbd2:
volume_driver: cinder.volume.drivers.rbd.RBDDriver
volume_backend_name: rbd2
rbd_pool: cinder2.volumes
rbd_ceph_conf: "/etc/ceph/external-ceph.conf"
rbd_flatten_volume_from_snapshot: False
report_discard_supported: True
rbd_max_clone_depth: 5
rbd_store_chunk_size: 4
rados_connect_timeout: -1
rbd_user: cinder2
rbd_secret_uuid: 3f0133e4-8384-4743-9473-fecacc095c74
image_volume_cache_enabled: True
image_volume_cache_max_size_gb: 200
image_volume_cache_max_count: 50
...

View File

@ -46,4 +46,5 @@ cinder:
- 0.2.27 Support TLS endpoints
- 0.2.28 Use HTTP probe instead of TCP probe
- 0.2.29 Add SYS_ADMIN capability in cinder-volume
- 0.2.30 Specify a existing configmap name for external ceph configuration
...