diff --git a/openstack-helm-infra/centos/openstack-helm-infra.spec b/openstack-helm-infra/centos/openstack-helm-infra.spec index a327e405..a8a14c51 100644 --- a/openstack-helm-infra/centos/openstack-helm-infra.spec +++ b/openstack-helm-infra/centos/openstack-helm-infra.spec @@ -26,6 +26,7 @@ Patch08: 0008-Fix-rabbitmq-could-not-bind-port-to-ipv6-address-iss.patch Patch09: 0009-Enable-override-of-mariadb-server-probe-parameters.patch Patch10: 0010-Mariadb-use-utf8_general_ci-collation-as-default.patch Patch11: 0011-Add-mariadb-database-config-override-to-support-ipv6.patch +Patch12: 0012-enable-Values.conf.database.config_override-for-mari.patch BuildRequires: helm BuildRequires: chartmuseum @@ -46,6 +47,7 @@ Openstack Helm Infra charts %patch09 -p1 %patch10 -p1 %patch11 -p1 +%patch12 -p1 %build # Host a server for the charts diff --git a/openstack-helm-infra/files/0012-enable-Values.conf.database.config_override-for-mari.patch b/openstack-helm-infra/files/0012-enable-Values.conf.database.config_override-for-mari.patch new file mode 100644 index 00000000..c4ee7f01 --- /dev/null +++ b/openstack-helm-infra/files/0012-enable-Values.conf.database.config_override-for-mari.patch @@ -0,0 +1,59 @@ +From c75c04ea1c2250f16c1aabe57a2d4e94d986a90e Mon Sep 17 00:00:00 2001 +From: "Chen, Haochuan Z" +Date: Wed, 5 Aug 2020 03:08:14 +0000 +Subject: [PATCH 12/12] enable Values.conf.database.config_override for mariadb + option wsrep_provider_options override + +--- + mariadb/templates/configmap-etc.yaml | 5 ++--- + mariadb/templates/statefulset.yaml | 8 +++++++- + 2 files changed, 9 insertions(+), 4 deletions(-) + +diff --git a/mariadb/templates/configmap-etc.yaml b/mariadb/templates/configmap-etc.yaml +index 53072f4..7bdfd8a 100644 +--- a/mariadb/templates/configmap-etc.yaml ++++ b/mariadb/templates/configmap-etc.yaml +@@ -26,14 +26,13 @@ data: + {{- include "helm-toolkit.snippets.values_template_renderer" (dict "envAll" $envAll "template" ( index $envAll.Values.conf.database "00_base" ) "key" "00-base.cnf" ) | indent 2 }} + {{- if $envAll.Values.conf.database.config_override }} + {{- include "helm-toolkit.snippets.values_template_renderer" (dict "envAll" $envAll "template" ( index $envAll.Values.conf.database "config_override" ) "key" "20-override.cnf" ) | indent 2 }} +-{{- else }} ++{{- end }} + # A user override for conf.database.config_override might break the IPv6 system overrides, need including below ipv6 + # config for ipv6 case in user override as well. + {{- if $envAll.Values.manifests.config_ipv6 }} +- 20-override.cnf: | ++ 30-override.cnf: | + [mysqld] + bind_address=:: + {{- end }} +-{{- end }} + {{- include "helm-toolkit.snippets.values_template_renderer" (dict "envAll" $envAll "template" ( index $envAll.Values.conf.database "99_force" ) "key" "99-force.cnf" ) | indent 2 }} + {{- end }} +diff --git a/mariadb/templates/statefulset.yaml b/mariadb/templates/statefulset.yaml +index 3ef7383..88439e2 100644 +--- a/mariadb/templates/statefulset.yaml ++++ b/mariadb/templates/statefulset.yaml +@@ -216,12 +216,18 @@ spec: + mountPath: /etc/mysql/conf.d/00-base.cnf + subPath: 00-base.cnf + readOnly: true +- {{- if or (.Values.conf.database.config_override) (.Values.manifests.config_ipv6) }} ++ {{- if .Values.conf.database.config_override }} + - name: mariadb-etc + mountPath: /etc/mysql/conf.d/20-override.cnf + subPath: 20-override.cnf + readOnly: true + {{- end }} ++ {{- if .Values.manifests.config_ipv6 }} ++ - name: mariadb-etc ++ mountPath: /etc/mysql/conf.d/30-override.cnf ++ subPath: 30-override.cnf ++ readOnly: true ++ {{- end }} + - name: mariadb-etc + mountPath: /etc/mysql/conf.d/99-force.cnf + subPath: 99-force.cnf +-- +1.8.3.1 + diff --git a/python-k8sapp-openstack/k8sapp_openstack/k8sapp_openstack/helm/mariadb.py b/python-k8sapp-openstack/k8sapp_openstack/k8sapp_openstack/helm/mariadb.py index fd7f5932..c2e081c9 100644 --- a/python-k8sapp-openstack/k8sapp_openstack/k8sapp_openstack/helm/mariadb.py +++ b/python-k8sapp-openstack/k8sapp_openstack/k8sapp_openstack/helm/mariadb.py @@ -7,6 +7,7 @@ from k8sapp_openstack.common import constants as app_constants from k8sapp_openstack.helm import openstack +from sysinv.common import utils as cutils from sysinv.common import exception from sysinv.helm import common @@ -35,6 +36,16 @@ class MariadbHelm(openstack.OpenstackBaseHelm): } } + if not cutils.is_std_system(self.dbapi): + config_override = { + 'conf': { + 'database': { + 'config_override': '' + } + } + } + overrides[common.HELM_NS_OPENSTACK].update(config_override) + if namespace in self.SUPPORTED_NAMESPACES: return overrides[namespace] elif namespace: diff --git a/stx-openstack-helm/stx-openstack-helm/manifests/manifest.yaml b/stx-openstack-helm/stx-openstack-helm/manifests/manifest.yaml index 419031b3..85d46d1f 100644 --- a/stx-openstack-helm/stx-openstack-helm/manifests/manifest.yaml +++ b/stx-openstack-helm/stx-openstack-helm/manifests/manifest.yaml @@ -186,6 +186,10 @@ data: conf: ingress_conf: worker-processes: '4' + database: + config_override: | + [mysqld] + wsrep_provider_options="gmcast.listen_addr=tcp://0.0.0.0:{{ tuple "oslo_db" "direct" "wsrep" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}" source: type: tar location: http://172.17.0.1/helm_charts/starlingx/mariadb-0.1.0.tgz