diff --git a/aodh/values.yaml b/aodh/values.yaml index 384d53392f..674808d110 100644 --- a/aodh/values.yaml +++ b/aodh/values.yaml @@ -157,6 +157,7 @@ pod: aodh_listener: [] aodh_notifier: [] aodh_alarms_cleaner: [] + aodh_db_sync: [] replicas: api: 1 evaluator: 1 diff --git a/ceilometer/values.yaml b/ceilometer/values.yaml index f7eb3d8c64..747067793c 100644 --- a/ceilometer/values.yaml +++ b/ceilometer/values.yaml @@ -1541,6 +1541,7 @@ pod: ceilometer_central: [] ceilometer_ipmi: [] ceilometer_notification: [] + ceilometer_db_sync: [] replicas: central: 1 notification: 1 diff --git a/cinder/values.yaml b/cinder/values.yaml index 2ed0d95341..b7bcb5f892 100644 --- a/cinder/values.yaml +++ b/cinder/values.yaml @@ -266,6 +266,7 @@ pod: cinder_volume_usage_audit: [] cinder_db_purge: [] cinder_backup: [] + cinder_db_sync: [] replicas: api: 1 volume: 1 diff --git a/glance/templates/job-db-sync.yaml b/glance/templates/job-db-sync.yaml index 1434edd1af..552787deb0 100644 --- a/glance/templates/job-db-sync.yaml +++ b/glance/templates/job-db-sync.yaml @@ -18,7 +18,7 @@ helm.sh/hook-weight: "-4" {{- end }} {{- if .Values.manifests.job_db_sync }} -{{- $dbToSync := index . "dbToSync" | default ( dict "configFile" (printf "/etc/%s/%s.conf" "glance" "glance-api" ) "logConfigFile" (printf "/etc/%s/logging.conf" "glance" ) "image" ( index .Values.images.tags ( printf "%s_db_sync" "glance" )) ) -}} +{{- $dbToSync := index . "dbToSync" | default ( dict "configFile" (printf "/etc/%s/%s.conf" "glance" "glance-api" ) "configDir" (printf "/etc/%s/%s.conf.d" "glance" "glance") "logConfigFile" (printf "/etc/%s/logging.conf" "glance" ) "image" ( index .Values.images.tags ( printf "%s_db_sync" "glance" )) ) -}} {{- $dbSyncJob := dict "envAll" . "serviceName" "glance" "podVolMounts" .Values.pod.mounts.glance_db_sync.glance_db_sync.volumeMounts "podVols" .Values.pod.mounts.glance_db_sync.glance_db_sync.volumes "dbToSync" $dbToSync -}} {{- if .Values.manifests.certificates -}} {{- $_ := set $dbSyncJob "dbAdminTlsSecret" .Values.endpoints.oslo_db.auth.admin.secret.tls.internal -}} diff --git a/glance/values.yaml b/glance/values.yaml index d0d8dcdefd..2bb6e8b972 100644 --- a/glance/values.yaml +++ b/glance/values.yaml @@ -912,7 +912,8 @@ pod: ## This is a list of projected volume source objects for each deployment/statefulset/daemonset/cronjob ## https://kubernetes.io/docs/concepts/storage/projected-volumes/ etcSources: - glance_api: + glance_api: [] + glance_db_sync: [] replicas: api: 1 lifecycle: diff --git a/heat/values.yaml b/heat/values.yaml index afbcc23864..0297a867da 100644 --- a/heat/values.yaml +++ b/heat/values.yaml @@ -1047,6 +1047,7 @@ pod: heat_engine: [] heat_engine_cleaner: [] heat_purge_deleted: [] + heat_db_sync: [] replicas: api: 1 cfn: 1 diff --git a/helm-toolkit/templates/manifests/_job-db-sync.tpl b/helm-toolkit/templates/manifests/_job-db-sync.tpl index 017c9df38e..19d465c1b6 100644 --- a/helm-toolkit/templates/manifests/_job-db-sync.tpl +++ b/helm-toolkit/templates/manifests/_job-db-sync.tpl @@ -31,7 +31,8 @@ limitations under the License. {{- $podVolMounts := (concat ((index $podMount "volumeMounts" | default list)) ((index . "podVolMounts") | default (list))) | uniq -}} {{- $podVols := (concat ((index $podMount "volumes" | default list)) ((index . "podVols") | default (list))) | uniq -}} {{- $podEnvVars := index . "podEnvVars" | default false -}} -{{- $dbToSync := index . "dbToSync" | default ( dict "configFile" (printf "/etc/%s/%s.conf" $serviceName $serviceName ) "logConfigFile" (printf "/etc/%s/logging.conf" $serviceName ) "image" ( index $envAll.Values.images.tags ( printf "%s_db_sync" $serviceName )) ) -}} +{{- $dbToSync := index . "dbToSync" | default ( dict "configFile" (printf "/etc/%s/%s.conf" $serviceName $serviceName ) "configDir" (printf "/etc/%s/%s.conf.d" $serviceName $serviceName ) "logConfigFile" (printf "/etc/%s/logging.conf" $serviceName ) "image" ( index $envAll.Values.images.tags ( printf "%s_db_sync" $serviceName )) ) -}} +{{- $etcSources := index (index $envAll.Values.pod "etcSources" | default dict) $jobNameRef | default list -}} {{- $secretBin := index . "secretBin" -}} {{- $backoffLimit := index . "backoffLimit" | default "1000" -}} {{- $activeDeadlineSeconds := index . "activeDeadlineSeconds" -}} @@ -108,6 +109,9 @@ spec: mountPath: {{ $dbToSync.configFile | quote }} subPath: {{ base $dbToSync.configFile | quote }} readOnly: true + - name: db-sync-conf-dir + mountPath: {{ $dbToSync.configDir | quote }} + readOnly: true - name: db-sync-conf mountPath: {{ $dbToSync.logConfigFile | quote }} subPath: {{ base $dbToSync.logConfigFile | quote }} @@ -135,6 +139,14 @@ spec: secret: secretName: {{ $configMapEtc | quote }} defaultMode: 0444 + - name: db-sync-conf-dir +{{- if $etcSources }} + projected: + sources: +{{ toYaml $etcSources | indent 14 }} +{{- else }} + emptyDir: {} +{{ end }} {{- dict "enabled" $envAll.Values.manifests.certificates "name" $dbAdminTlsSecret | include "helm-toolkit.snippets.tls_volume" | indent 8 }} {{- if $podVols }} {{ $podVols | toYaml | indent 8 }} diff --git a/keystone/templates/bin/_db-sync.sh.tpl b/keystone/templates/bin/_db-sync.sh.tpl index 3c26488ee3..eebe26bb38 100644 --- a/keystone/templates/bin/_db-sync.sh.tpl +++ b/keystone/templates/bin/_db-sync.sh.tpl @@ -16,8 +16,15 @@ limitations under the License. set -ex -keystone-manage --config-file=/etc/keystone/keystone.conf db_sync -keystone-manage --config-file=/etc/keystone/keystone.conf bootstrap \ +keystone-manage \ + --config-file=/etc/keystone/keystone.conf \ + --config-dir=/etc/keystone/keystone.conf.d \ + db_sync + +keystone-manage \ + --config-file=/etc/keystone/keystone.conf \ + --config-dir=/etc/keystone/keystone.conf.d \ + bootstrap \ --bootstrap-username ${OS_USERNAME} \ --bootstrap-password ${OS_PASSWORD} \ --bootstrap-project-name ${OS_PROJECT_NAME} \ diff --git a/keystone/values.yaml b/keystone/values.yaml index 7081285210..82449409f9 100644 --- a/keystone/values.yaml +++ b/keystone/values.yaml @@ -287,6 +287,7 @@ pod: ## This is a list of projected volume source objects for each deployment/statefulset/daemonset/cronjob ## https://kubernetes.io/docs/concepts/storage/projected-volumes/ etcSources: + keystone_db_sync: [] keystone_api: [] keystone_fernet_setup: [] keystone_fernet_rotate: [] diff --git a/neutron/templates/bin/_db-sync.sh.tpl b/neutron/templates/bin/_db-sync.sh.tpl index 58edecfcd0..13550b601c 100644 --- a/neutron/templates/bin/_db-sync.sh.tpl +++ b/neutron/templates/bin/_db-sync.sh.tpl @@ -23,12 +23,14 @@ neutron-db-manage \ {{- else }} --config-file /etc/neutron/plugins/ml2/ml2_conf.ini \ {{- end }} + --config-dir /etc/neutron/neutron.conf.d \ upgrade head {{- if .Values.conf.plugins.taas.taas.enabled }} neutron-db-manage \ --config-file /etc/neutron/neutron.conf \ --config-file /etc/neutron/plugins/ml2/ml2_conf.ini \ + --config-dir /etc/neutron/neutron.conf.d \ --subproject tap-as-a-service \ upgrade head {{- end }} diff --git a/octavia/values.yaml b/octavia/values.yaml index 2f17088c93..f03e4b56f0 100644 --- a/octavia/values.yaml +++ b/octavia/values.yaml @@ -702,6 +702,11 @@ pod: octavia_bootstrap: volumeMounts: volumes: + octavia_db_sync: + init_container: null + octavia_db_sync: + volumeMounts: + volumes: # -- This allows users to add Kubernetes Projected Volumes to be mounted at /etc/octavia/octavia.conf.d/ ## This is a list of projected volume source objects for each deployment/statefulset/daemonset/cronjob ## https://kubernetes.io/docs/concepts/storage/projected-volumes/ @@ -711,6 +716,7 @@ pod: octavia_worker: [] octavia_housekeeping: [] octavia_health_manager: [] + octavia_db_sync: [] replicas: api: 1 driver_agent: 1 diff --git a/placement/values.yaml b/placement/values.yaml index 5c2b541149..438232c157 100644 --- a/placement/values.yaml +++ b/placement/values.yaml @@ -309,11 +309,17 @@ pod: placement: volumeMounts: volumes: + placement_db_sync: + init_container: null + placement_db_sync: + volumeMounts: + volumes: # -- This allows users to add Kubernetes Projected Volumes to be mounted at /etc/placement/placement.conf.d/ ## This is a list of projected volume source objects for each deployment/statefulset/daemonset/cronjob ## https://kubernetes.io/docs/concepts/storage/projected-volumes/ etcSources: placement: [] + placement_db_sync: [] replicas: api: 1 lifecycle: diff --git a/releasenotes/notes/aodh-bb91c011b0c7d911.yaml b/releasenotes/notes/aodh-bb91c011b0c7d911.yaml new file mode 100644 index 0000000000..f45b7ab16d --- /dev/null +++ b/releasenotes/notes/aodh-bb91c011b0c7d911.yaml @@ -0,0 +1,5 @@ +--- +aodh: + - | + Add support for etcSources to db-sync job. +... diff --git a/releasenotes/notes/ceilometer-c08f029ffa1e122f.yaml b/releasenotes/notes/ceilometer-c08f029ffa1e122f.yaml new file mode 100644 index 0000000000..f0aa5fceb4 --- /dev/null +++ b/releasenotes/notes/ceilometer-c08f029ffa1e122f.yaml @@ -0,0 +1,5 @@ +--- +ceilometer: + - | + Add support for etcSources to db-sync job. +... diff --git a/releasenotes/notes/cinder-32aac095ffc09912.yaml b/releasenotes/notes/cinder-32aac095ffc09912.yaml new file mode 100644 index 0000000000..1b955b085c --- /dev/null +++ b/releasenotes/notes/cinder-32aac095ffc09912.yaml @@ -0,0 +1,5 @@ +--- +cinder: + - | + Add support for etcSources to db-sync job. +... diff --git a/releasenotes/notes/glance-1245a71c1694b79c.yaml b/releasenotes/notes/glance-1245a71c1694b79c.yaml new file mode 100644 index 0000000000..53d78bea05 --- /dev/null +++ b/releasenotes/notes/glance-1245a71c1694b79c.yaml @@ -0,0 +1,5 @@ +--- +glance: + - | + Add support for etcSources to db-sync job. +... diff --git a/releasenotes/notes/heat-a584fab629e1c4fc.yaml b/releasenotes/notes/heat-a584fab629e1c4fc.yaml new file mode 100644 index 0000000000..cf75f8725e --- /dev/null +++ b/releasenotes/notes/heat-a584fab629e1c4fc.yaml @@ -0,0 +1,5 @@ +--- +heat: + - | + Add support for etcSources to db-sync job. +... diff --git a/releasenotes/notes/helm-toolkit-1ac16e62f779d907.yaml b/releasenotes/notes/helm-toolkit-1ac16e62f779d907.yaml new file mode 100644 index 0000000000..53094e7fa1 --- /dev/null +++ b/releasenotes/notes/helm-toolkit-1ac16e62f779d907.yaml @@ -0,0 +1,5 @@ +--- +helm-toolkit: + - | + Add support for etcSources to db-sync job. +... diff --git a/releasenotes/notes/keystone-fb00add9c87916a3.yaml b/releasenotes/notes/keystone-fb00add9c87916a3.yaml new file mode 100644 index 0000000000..87dfc5810b --- /dev/null +++ b/releasenotes/notes/keystone-fb00add9c87916a3.yaml @@ -0,0 +1,5 @@ +--- +keystone: + - | + Add support for etcSources to db-sync job. +... diff --git a/releasenotes/notes/neutron-32815761690bedf5.yaml b/releasenotes/notes/neutron-32815761690bedf5.yaml new file mode 100644 index 0000000000..3fea5a017b --- /dev/null +++ b/releasenotes/notes/neutron-32815761690bedf5.yaml @@ -0,0 +1,5 @@ +--- +neutron: + - | + Add support for etcSources to db-sync job. +... diff --git a/releasenotes/notes/octavia-74938cd9ffae016b.yaml b/releasenotes/notes/octavia-74938cd9ffae016b.yaml new file mode 100644 index 0000000000..e5cfcbd676 --- /dev/null +++ b/releasenotes/notes/octavia-74938cd9ffae016b.yaml @@ -0,0 +1,5 @@ +--- +octavia: + - | + Add support for etcSources to db-sync job. +... diff --git a/releasenotes/notes/placement-3115f3ce4c0801af.yaml b/releasenotes/notes/placement-3115f3ce4c0801af.yaml new file mode 100644 index 0000000000..26dc4ec025 --- /dev/null +++ b/releasenotes/notes/placement-3115f3ce4c0801af.yaml @@ -0,0 +1,5 @@ +--- +placement: + - | + Add support for etcSources to db-sync job. +...