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: I99509b519c91d8fefc91745bb982866fe3fbc8e7
This commit is contained in:
parent
0f25baaa38
commit
aa05a3fa93
@ -97,7 +97,7 @@ nova_galera_port: "{{ galera_port | default('3306') }}"
|
||||
# Toggle whether nova connects via an encrypted connection
|
||||
nova_galera_use_ssl: "{{ galera_use_ssl | default(False) }}"
|
||||
# The path where to store the database server CA certificate
|
||||
nova_galera_ssl_ca_cert: "{{ galera_ssl_ca_cert | default('/etc/ssl/certs/galera-ca.pem') }}"
|
||||
nova_galera_ssl_ca_cert: "{{ galera_ssl_ca_cert | default('') }}"
|
||||
|
||||
## DB API
|
||||
nova_api_galera_address: "{{ nova_galera_address }}"
|
||||
|
@ -185,7 +185,7 @@ memcache_secret_key = {{ memcached_encryption_key }}
|
||||
|
||||
{% if group_names | intersect(nova_services.keys() | difference('nova-compute') | map('extract', nova_services, 'group') | list) | count > 0 %}
|
||||
[database]
|
||||
connection = mysql+pymysql://{{ nova_galera_user }}:{{ nova_container_mysql_password }}@{{ nova_galera_address }}:{{ nova_galera_port }}/{{ nova_galera_database }}?charset=utf8{% if nova_galera_use_ssl | bool %}&ssl_ca={{ nova_galera_ssl_ca_cert }}{% endif %}
|
||||
connection = mysql+pymysql://{{ nova_galera_user }}:{{ nova_container_mysql_password }}@{{ nova_galera_address }}:{{ nova_galera_port }}/{{ nova_galera_database }}?charset=utf8{% if nova_galera_use_ssl | bool %}&ssl_verify_cert=true{% if nova_galera_ssl_ca_cert | length > 0 %}&ssl_ca={{ nova_galera_ssl_ca_cert }}{% endif %}{% endif %}
|
||||
|
||||
max_overflow = {{ nova_db_max_overflow }}
|
||||
max_pool_size = {{ nova_db_max_pool_size }}
|
||||
@ -193,7 +193,7 @@ pool_timeout = {{ nova_db_pool_timeout }}
|
||||
|
||||
|
||||
[api_database]
|
||||
connection = mysql+pymysql://{{ nova_api_galera_user }}:{{ nova_api_container_mysql_password }}@{{ nova_api_galera_address }}:{{ nova_api_galera_port }}/{{ nova_api_galera_database }}?charset=utf8{% if nova_galera_use_ssl | bool %}&ssl_ca={{ nova_galera_ssl_ca_cert }}{% endif %}
|
||||
connection = mysql+pymysql://{{ nova_api_galera_user }}:{{ nova_api_container_mysql_password }}@{{ nova_api_galera_address }}:{{ nova_api_galera_port }}/{{ nova_api_galera_database }}?charset=utf8{% if nova_galera_use_ssl | bool %}&ssl_verify_cert=true{% if nova_galera_ssl_ca_cert | length > 0 %}&ssl_ca={{ nova_galera_ssl_ca_cert }}{% endif %}{% endif %}
|
||||
|
||||
max_overflow = {{ nova_api_db_max_overflow }}
|
||||
max_pool_size = {{ nova_api_db_max_pool_size }}
|
||||
|
Loading…
x
Reference in New Issue
Block a user