Refactor galera_use_ssl behaviour

With PKI role in place in most cases you don't need to explicitly
provide path to the CA file because PKI role ensures that CA is trusted
by the system overall. In the meanwhile in PyMySQL [1] you must either
provide CA file or cert/key or enable verify.

Since current behaviour is to provide path to the custom CA we expect
certificate being trusted overall. Thus we enable cert verification when
galera_use_ssl is True.

[1] 78f0cf99e5/pymysql/connections.py (L267)

Change-Id: Ic5b072d983c6d553d996a0a3bd708eec4c2137e5
This commit is contained in:
Dmitriy Rabotyagov 2021-09-21 14:28:54 +03:00
parent 87d0be496c
commit ada4dcf39b
2 changed files with 2 additions and 2 deletions

View File

@ -66,7 +66,7 @@ designate_galera_address: "{{ galera_address | default('127.0.0.1') }}"
designate_galera_user: designate
designate_galera_database: designate
designate_galera_use_ssl: "{{ galera_use_ssl | default(False) }}"
designate_galera_ssl_ca_cert: "{{ galera_ssl_ca_cert | default('/etc/ssl/certs/galera-ca.pem') }}"
designate_galera_ssl_ca_cert: "{{ galera_ssl_ca_cert | default('') }}"
designate_galera_port: "{{ galera_port | default('3306') }}"
## Oslo Messaging

View File

@ -373,7 +373,7 @@ endpoint_type = internalURL
# SQLAlchemy Storage
#-----------------------
[storage:sqlalchemy]
connection = mysql+pymysql://{{ designate_galera_user }}:{{ designate_galera_password }}@{{ designate_galera_address }}/{{ designate_galera_database }}?charset=utf8{% if designate_galera_use_ssl | bool %}&ssl_ca={{ designate_galera_ssl_ca_cert }}{% endif %}
connection = mysql+pymysql://{{ designate_galera_user }}:{{ designate_galera_password }}@{{ designate_galera_address }}/{{ designate_galera_database }}?charset=utf8{% if designate_galera_use_ssl | bool %}&ssl_verify_cert=true{% if designate_galera_ssl_ca_cert | length > 0 %}&ssl_ca={{ designate_galera_ssl_ca_cert }}{% endif %}{% endif %}
#connection_debug = 0
#connection_trace = False