
Openstack-helm provides the option to terminate TLS at the services. However, at Starlingx TLS termination is done at the reverse proxy (ingress) and therefore is unecessary for the OpenStack itself be HTTPS and terminate tls a second time. Furthermore, it is not possible to have https enabled on openstack services with the current centos based containers that we have, openstack-helm only supports tls using debian based containers. Manually working arroud this creates a cumbersome override file, so to diminish this overrides this patch 0020 and 0013(osh-i) disables https at the backend, thus maitaining the same behaviour as stx 5.0 Mariadb and RabbitMQ tls does not seem to be working very well within Starlingx, so we also disable TLS for them. I am not confident that current openstack-helm and openstack-helm-infra supports production level openstack with mariadb in TLS mode. Furthermore, from the way everything is redirected in StarlingX I do see too many performance and stability issues using both of them with tls enabled. Disclaimer I did not test with either only mairiadb tls or rabbitmq activated, but with both of them on the system is not usable. Test Plan: PASS: Openstack is Applied. (https disabled) PASS: enable https. Opensatck is Applied (WITHOUT service.conf overrides) Signed-off-by: Lucas Cavalcante <lucasmedeiros.cavalcante@windriver.com> Change-Id: Ifb7946e9a289234047934b52d200b951a59c1a3f Partial-bug: 1960354 Related-to: https://review.opendev.org/c/starlingx/helm-charts/+/828815
192 lines
8.9 KiB
Diff
192 lines
8.9 KiB
Diff
From 6fa2814271b7806aece4fb44f6d8eabe8c5ab6aa Mon Sep 17 00:00:00 2001
|
|
From: Lucas Cavalcante <lucasmedeiros.cavalcante@windriver.com>
|
|
Date: Tue, 8 Feb 2022 09:18:02 -0300
|
|
Subject: [PATCH 21/22] Remove mariadb
|
|
|
|
Change-Id: I37405da8faab3495ebe55c81389e0d769aaeb1d1
|
|
---
|
|
.../templates/manifests/_job-db-drop-mysql.tpl | 7 -------
|
|
.../templates/manifests/_job-db-init-mysql.tpl | 7 -------
|
|
helm-toolkit/templates/manifests/_job-db-sync.tpl | 3 ---
|
|
helm-toolkit/templates/scripts/_db-drop.py.tpl | 11 ++---------
|
|
helm-toolkit/templates/scripts/_db-init.py.tpl | 14 ++++----------
|
|
5 files changed, 6 insertions(+), 36 deletions(-)
|
|
|
|
diff --git a/helm-toolkit/templates/manifests/_job-db-drop-mysql.tpl b/helm-toolkit/templates/manifests/_job-db-drop-mysql.tpl
|
|
index 934a2435..8ae71c67 100644
|
|
--- a/helm-toolkit/templates/manifests/_job-db-drop-mysql.tpl
|
|
+++ b/helm-toolkit/templates/manifests/_job-db-drop-mysql.tpl
|
|
@@ -37,7 +37,6 @@ limitations under the License.
|
|
{{- $backoffLimit := index . "backoffLimit" | default "1000" -}}
|
|
{{- $activeDeadlineSeconds := index . "activeDeadlineSeconds" -}}
|
|
{{- $serviceNamePretty := $serviceName | replace "_" "-" -}}
|
|
-{{- $dbAdminTlsSecret := index . "dbAdminTlsSecret" | default "" -}}
|
|
|
|
{{- $serviceAccountName := printf "%s-%s" $serviceNamePretty "db-drop" }}
|
|
{{ tuple $envAll "db_drop" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }}
|
|
@@ -133,9 +132,6 @@ spec:
|
|
subPath: {{ base $dbToDrop.logConfigFile | quote }}
|
|
readOnly: true
|
|
{{- end }}
|
|
-{{- if $envAll.Values.manifests.certificates }}
|
|
-{{- dict "enabled" $envAll.Values.manifests.certificates "name" $dbAdminTlsSecret "path" "/etc/mysql/certs" | include "helm-toolkit.snippets.tls_volume_mount" | indent 12 }}
|
|
-{{- end }}
|
|
{{- end }}
|
|
volumes:
|
|
- name: pod-tmp
|
|
@@ -150,9 +146,6 @@ spec:
|
|
name: {{ $configMapBin | quote }}
|
|
defaultMode: 0555
|
|
{{- end }}
|
|
-{{- if $envAll.Values.manifests.certificates }}
|
|
-{{- dict "enabled" $envAll.Values.manifests.certificates "name" $dbAdminTlsSecret | include "helm-toolkit.snippets.tls_volume" | indent 8 }}
|
|
-{{- end }}
|
|
{{- $local := dict "configMapBinFirst" true -}}
|
|
{{- range $key1, $dbToDrop := $dbsToDrop }}
|
|
{{- $dbToDropType := default "oslo" $dbToDrop.inputType }}
|
|
diff --git a/helm-toolkit/templates/manifests/_job-db-init-mysql.tpl b/helm-toolkit/templates/manifests/_job-db-init-mysql.tpl
|
|
index c164ad0a..dcfbb35f 100644
|
|
--- a/helm-toolkit/templates/manifests/_job-db-init-mysql.tpl
|
|
+++ b/helm-toolkit/templates/manifests/_job-db-init-mysql.tpl
|
|
@@ -37,7 +37,6 @@ limitations under the License.
|
|
{{- $backoffLimit := index . "backoffLimit" | default "1000" -}}
|
|
{{- $activeDeadlineSeconds := index . "activeDeadlineSeconds" -}}
|
|
{{- $serviceNamePretty := $serviceName | replace "_" "-" -}}
|
|
-{{- $dbAdminTlsSecret := index . "dbAdminTlsSecret" | default "" -}}
|
|
|
|
{{- $serviceAccountName := printf "%s-%s" $serviceNamePretty "db-init" }}
|
|
{{ tuple $envAll "db_init" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }}
|
|
@@ -132,9 +131,6 @@ spec:
|
|
subPath: {{ base $dbToInit.logConfigFile | quote }}
|
|
readOnly: true
|
|
{{- end }}
|
|
-{{- if $envAll.Values.manifests.certificates }}
|
|
-{{- dict "enabled" $envAll.Values.manifests.certificates "name" $dbAdminTlsSecret "path" "/etc/mysql/certs" | include "helm-toolkit.snippets.tls_volume_mount" | indent 12 }}
|
|
-{{- end }}
|
|
{{- end }}
|
|
volumes:
|
|
- name: pod-tmp
|
|
@@ -149,9 +145,6 @@ spec:
|
|
name: {{ $configMapBin | quote }}
|
|
defaultMode: 0555
|
|
{{- end }}
|
|
-{{- if $envAll.Values.manifests.certificates }}
|
|
-{{- dict "enabled" $envAll.Values.manifests.certificates "name" $dbAdminTlsSecret | include "helm-toolkit.snippets.tls_volume" | indent 8 }}
|
|
-{{- end }}
|
|
{{- $local := dict "configMapBinFirst" true -}}
|
|
{{- range $key1, $dbToInit := $dbsToInit }}
|
|
{{- $dbToInitType := default "oslo" $dbToInit.inputType }}
|
|
diff --git a/helm-toolkit/templates/manifests/_job-db-sync.tpl b/helm-toolkit/templates/manifests/_job-db-sync.tpl
|
|
index 659238a4..f181061f 100644
|
|
--- a/helm-toolkit/templates/manifests/_job-db-sync.tpl
|
|
+++ b/helm-toolkit/templates/manifests/_job-db-sync.tpl
|
|
@@ -34,7 +34,6 @@ limitations under the License.
|
|
{{- $backoffLimit := index . "backoffLimit" | default "1000" -}}
|
|
{{- $activeDeadlineSeconds := index . "activeDeadlineSeconds" -}}
|
|
{{- $serviceNamePretty := $serviceName | replace "_" "-" -}}
|
|
-{{- $dbAdminTlsSecret := index . "dbAdminTlsSecret" | default "" -}}
|
|
|
|
{{- $serviceAccountName := printf "%s-%s" $serviceNamePretty "db-sync" }}
|
|
{{ tuple $envAll "db_sync" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }}
|
|
@@ -106,7 +105,6 @@ spec:
|
|
mountPath: {{ $dbToSync.logConfigFile | quote }}
|
|
subPath: {{ base $dbToSync.logConfigFile | quote }}
|
|
readOnly: true
|
|
-{{- dict "enabled" $envAll.Values.manifests.certificates "name" $dbAdminTlsSecret "path" "/etc/mysql/certs" | include "helm-toolkit.snippets.tls_volume_mount" | indent 12 }}
|
|
{{- if $podVolMounts }}
|
|
{{ $podVolMounts | toYaml | indent 12 }}
|
|
{{- end }}
|
|
@@ -129,7 +127,6 @@ spec:
|
|
secret:
|
|
secretName: {{ $configMapEtc | quote }}
|
|
defaultMode: 0444
|
|
-{{- dict "enabled" $envAll.Values.manifests.certificates "name" $dbAdminTlsSecret | include "helm-toolkit.snippets.tls_volume" | indent 8 }}
|
|
{{- if $podVols }}
|
|
{{ $podVols | toYaml | indent 8 }}
|
|
{{- end }}
|
|
diff --git a/helm-toolkit/templates/scripts/_db-drop.py.tpl b/helm-toolkit/templates/scripts/_db-drop.py.tpl
|
|
index 03884fa1..81447546 100644
|
|
--- a/helm-toolkit/templates/scripts/_db-drop.py.tpl
|
|
+++ b/helm-toolkit/templates/scripts/_db-drop.py.tpl
|
|
@@ -54,13 +54,6 @@ else:
|
|
logger.critical('environment variable ROOT_DB_CONNECTION not set')
|
|
sys.exit(1)
|
|
|
|
-mysql_x509 = os.getenv('MARIADB_X509', "")
|
|
-ssl_args = {}
|
|
-if mysql_x509:
|
|
- ssl_args = {'ssl': {'ca': '/etc/mysql/certs/ca.crt',
|
|
- 'key': '/etc/mysql/certs/tls.key',
|
|
- 'cert': '/etc/mysql/certs/tls.crt'}}
|
|
-
|
|
# Get the connection string for the service db
|
|
if "OPENSTACK_CONFIG_FILE" in os.environ:
|
|
os_conf = os.environ['OPENSTACK_CONFIG_FILE']
|
|
@@ -101,7 +94,7 @@ try:
|
|
host = root_engine_full.url.host
|
|
port = root_engine_full.url.port
|
|
root_engine_url = ''.join([drivername, '://', root_user, ':', root_password, '@', host, ':', str (port)])
|
|
- root_engine = create_engine(root_engine_url, connect_args=ssl_args)
|
|
+ root_engine = create_engine(root_engine_url)
|
|
connection = root_engine.connect()
|
|
connection.close()
|
|
logger.info("Tested connection to DB @ {0}:{1} as {2}".format(
|
|
@@ -112,7 +105,7 @@ except:
|
|
|
|
# User DB engine
|
|
try:
|
|
- user_engine = create_engine(user_db_conn, connect_args=ssl_args)
|
|
+ user_engine = create_engine(user_db_conn)
|
|
# Get our user data out of the user_engine
|
|
database = user_engine.url.database
|
|
user = user_engine.url.username
|
|
diff --git a/helm-toolkit/templates/scripts/_db-init.py.tpl b/helm-toolkit/templates/scripts/_db-init.py.tpl
|
|
index 4294d40c..9671b734 100644
|
|
--- a/helm-toolkit/templates/scripts/_db-init.py.tpl
|
|
+++ b/helm-toolkit/templates/scripts/_db-init.py.tpl
|
|
@@ -54,12 +54,6 @@ else:
|
|
logger.critical('environment variable ROOT_DB_CONNECTION not set')
|
|
sys.exit(1)
|
|
|
|
-mysql_x509 = os.getenv('MARIADB_X509', "")
|
|
-ssl_args = {}
|
|
-if mysql_x509:
|
|
- ssl_args = {'ssl': {'ca': '/etc/mysql/certs/ca.crt',
|
|
- 'key': '/etc/mysql/certs/tls.key',
|
|
- 'cert': '/etc/mysql/certs/tls.crt'}}
|
|
|
|
# Get the connection string for the service db
|
|
if "OPENSTACK_CONFIG_FILE" in os.environ:
|
|
@@ -101,7 +95,7 @@ try:
|
|
host = root_engine_full.url.host
|
|
port = root_engine_full.url.port
|
|
root_engine_url = ''.join([drivername, '://', root_user, ':', root_password, '@', host, ':', str (port)])
|
|
- root_engine = create_engine(root_engine_url, connect_args=ssl_args)
|
|
+ root_engine = create_engine(root_engine_url)
|
|
connection = root_engine.connect()
|
|
connection.close()
|
|
logger.info("Tested connection to DB @ {0}:{1} as {2}".format(
|
|
@@ -112,7 +106,7 @@ except:
|
|
|
|
# User DB engine
|
|
try:
|
|
- user_engine = create_engine(user_db_conn, connect_args=ssl_args)
|
|
+ user_engine = create_engine(user_db_conn)
|
|
# Get our user data out of the user_engine
|
|
database = user_engine.url.database
|
|
user = user_engine.url.username
|
|
@@ -133,8 +127,8 @@ except:
|
|
# Create DB User
|
|
try:
|
|
root_engine.execute(
|
|
- "GRANT ALL ON `{0}`.* TO \'{1}\'@\'%%\' IDENTIFIED BY \'{2}\' {3}".format(
|
|
- database, user, password, mysql_x509))
|
|
+ "GRANT ALL ON `{0}`.* TO \'{1}\'@\'%%\' IDENTIFIED BY \'{2}\'".format(
|
|
+ database, user, password))
|
|
logger.info("Created user {0} for {1}".format(user, database))
|
|
except:
|
|
logger.critical("Could not create user {0} for {1}".format(user, database))
|
|
--
|
|
2.17.1
|
|
|