Files
openstack-armada-app/openstack-helm-infra/debian/deb_folder/patches/0006-Add-mariadb-database-config-override-to-support-ipv6.patch
jchialun 579edd9e42 Adapt MariaDB Galera cluster to IPv6
This change updates the IPv6 config override values. It overrides
the bind_address and the gmcast listen_addrs values in IPv6
deployments.

Furthermore, the "mariabackup" method for taking the state snapshot
transfer from one node to another was crashing the multinode
deployment and was change to "rsync".

This also squashed patches 6 and 7 and renamed the following ones to
maintain the sequence number.

Test Plan:
[PASS] Build stx-openstack packages and tarball

IPV6 deployment (AIO-DX):
[PASS] MariaDB pods deployed
[FAIL] stx-openstack applied*

*Application apply will fail due to different issue with ovs-agent
IPv6 deployments. However, at that point MariaDB is already fully
deployed.

** Due to the lack of resources TLS was not tested.

IPV4 deployment (AIO-DX):
[PASS] MariaDB pods deployed
[PASS] stx-openstack applied

Closes-Bug: 2114768
Story: 2011387
Task: 52423

Change-Id: I9ae55f3800049bca0f8fed1392cd2e70ca3a0645
Signed-off-by: Johnny Chia <johnny.chialun@windriver.com>
2025-06-30 10:30:13 -05:00

81 lines
3.7 KiB
Diff

From 64815b6eef92a949e607c7382ac3c93f568497c1 Mon Sep 17 00:00:00 2001
From: "Liu, ZhipengS" <zhipengs.liu@intel.com>
Date: Thu, 28 May 2020 08:03:42 +0000
Subject: [PATCH] Add mariadb database config override to support ipv6
Signed-off-by: Liu, ZhipengS <zhipengs.liu@intel.com>
[ Enable Values.conf.database.config_override for mariadb option wsrep_provider_options override ]
Signed-off-by: Chen, Haochuan Z <haochuan.z.chen@intel.com>
[ Update the bind_address for IPv6]
[ Update the gmcast listen_addrs for IPv6]
[ Update "mariabackup" method to "rsync" .
Taking the state snapshot between nodes was crashing the multinode deployments.]
Signed-off-by: Johnny Chia <johnny.chialun@windriver.com>
---
mariadb/templates/configmap-etc.yaml | 5 +++++
mariadb/templates/statefulset.yaml | 6 ++++++
mariadb/values.yaml | 10 ++++++++++
3 files changed, 21 insertions(+)
diff --git a/mariadb/templates/configmap-etc.yaml b/mariadb/templates/configmap-etc.yaml
index 5367f18d..e7bdba35 100644
--- a/mariadb/templates/configmap-etc.yaml
+++ b/mariadb/templates/configmap-etc.yaml
@@ -25,5 +25,10 @@ data:
{{- 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 }}
{{- 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 }}
+{{- include "helm-toolkit.snippets.values_template_renderer" (dict "envAll" $envAll "template" ( index $envAll.Values.conf.database "config_ipv6" ) "key" "30-override.cnf" ) | indent 2 }}
+{{- 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 350fe81c..5be9ab46 100644
--- a/mariadb/templates/statefulset.yaml
+++ b/mariadb/templates/statefulset.yaml
@@ -273,6 +273,12 @@ spec:
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
diff --git a/mariadb/values.yaml b/mariadb/values.yaml
index a418d4dc..34eb665d 100644
--- a/mariadb/values.yaml
+++ b/mariadb/values.yaml
@@ -507,6 +507,15 @@ conf:
# config_override: |-
# [mysqld]
# wsrep_slave_threads=1
+ config_ipv6: |
+ [mysqld]
+ bind_address=::
+ wsrep_sst_method=rsync
+ {{ if .Values.manifests.certificates }}
+ wsrep_provider_options="socket.ssl_ca=/etc/mysql/certs/ca.crt; socket.ssl_cert=/etc/mysql/certs/tls.crt; socket.ssl_key=/etc/mysql/certs/tls.key; gmcast.listen_addr=tcp://[::]:{{ tuple "oslo_db" "direct" "wsrep" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}"
+ {{ else }}
+ wsrep_provider_options="evs.suspect_timeout=PT30S; gmcast.peer_timeout=PT15S; gmcast.listen_addr=tcp://[::]:{{ tuple "oslo_db" "direct" "wsrep" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}"
+ {{ end }}
99_force: |
[mysqld]
datadir=/var/lib/mysql
@@ -729,4 +738,5 @@ manifests:
service_error: false
service: true
statefulset: true
+ config_ipv6: false
...
--
2.43.0