Switch to PyMySQL

Upstream OpenStack has switched to PyMySQL for MySQL/MariaDB dbapi
access (see https://wiki.openstack.org/wiki/PyMySQL_evaluation).
Now that there is support in the Puppet modules for it, let's make
the switch in Packstack.

Note: this requires an update to OPM to include all patches in
https://review.openstack.org/#/q/status:merged+branch:master+topic:PyMySQL-driver,n,z
During some initial testing, it seems that some other fixes to
Packstack will be required to include those updates.

Change-Id: I8af512a7717a2654e2325404e54202fd6fd14940
Fixes: rhbz#1266028
This commit is contained in:
Javier Pena
2015-12-15 13:10:11 +01:00
parent 0ea7f79559
commit b43275a4b4
15 changed files with 16 additions and 16 deletions

View File

@@ -834,7 +834,7 @@ def create_common_manifest(config, messages):
pw_in_sqlconn = True
mariadb_host_url = config['CONFIG_MARIADB_HOST_URL']
sqlconn = "mysql://%s@%s/nova" % (perms, mariadb_host_url)
sqlconn = "mysql+pymysql://%s@%s/nova" % (perms, mariadb_host_url)
if pw_in_sqlconn:
config['CONFIG_NOVA_SQL_CONN_PW'] = sqlconn
else:

View File

@@ -8,7 +8,7 @@ class { '::cinder':
qpid_protocol => hiera('CONFIG_AMQP_PROTOCOL'),
qpid_username => hiera('CONFIG_AMQP_AUTH_USER'),
qpid_password => hiera('CONFIG_AMQP_AUTH_PASSWORD'),
database_connection => "mysql://cinder:${cinder_qpid_cfg_cinder_db_pw}@${cinder_qpid_cfg_mariadb_host}/cinder",
database_connection => "mysql+pymysql://cinder:${cinder_qpid_cfg_cinder_db_pw}@${cinder_qpid_cfg_mariadb_host}/cinder",
verbose => true,
debug => hiera('CONFIG_DEBUG_MODE'),
}

View File

@@ -21,7 +21,7 @@ class { '::cinder':
rabbit_use_ssl => hiera('CONFIG_AMQP_SSL_ENABLED'),
rabbit_userid => hiera('CONFIG_AMQP_AUTH_USER'),
rabbit_password => hiera('CONFIG_AMQP_AUTH_PASSWORD'),
database_connection => "mysql://cinder:${cinder_rab_cfg_cinder_db_pw}@${cinder_rab_cfg_mariadb_host}/cinder",
database_connection => "mysql+pymysql://cinder:${cinder_rab_cfg_cinder_db_pw}@${cinder_rab_cfg_mariadb_host}/cinder",
verbose => true,
debug => hiera('CONFIG_DEBUG_MODE'),
kombu_ssl_ca_certs => $kombu_ssl_ca_certs,

View File

@@ -24,7 +24,7 @@ class { '::glance::api':
keystone_user => 'glance',
keystone_password => hiera('CONFIG_GLANCE_KS_PW'),
pipeline => 'keystone',
database_connection => "mysql://glance:${glance_ks_pw}@${glance_mariadb_host}/glance",
database_connection => "mysql+pymysql://glance:${glance_ks_pw}@${glance_mariadb_host}/glance",
verbose => true,
debug => hiera('CONFIG_DEBUG_MODE'),
os_region_name => hiera('CONFIG_KEYSTONE_REGION'),
@@ -37,7 +37,7 @@ class { '::glance::registry':
keystone_tenant => 'services',
keystone_user => 'glance',
keystone_password => hiera('CONFIG_GLANCE_KS_PW'),
database_connection => "mysql://glance:${glance_ks_pw}@${glance_mariadb_host}/glance",
database_connection => "mysql+pymysql://glance:${glance_ks_pw}@${glance_mariadb_host}/glance",
verbose => true,
debug => hiera('CONFIG_DEBUG_MODE'),
}

View File

@@ -14,5 +14,5 @@ class { '::heat':
qpid_protocol => hiera('CONFIG_AMQP_PROTOCOL'),
verbose => true,
debug => hiera('CONFIG_DEBUG_MODE'),
database_connection => "mysql://heat:${heat_qpid_cfg_heat_db_pw}@${heat_qpid_cfg_mariadb_host}/heat",
database_connection => "mysql+pymysql://heat:${heat_qpid_cfg_heat_db_pw}@${heat_qpid_cfg_mariadb_host}/heat",
}

View File

@@ -28,7 +28,7 @@ class { '::heat':
rabbit_password => hiera('CONFIG_AMQP_AUTH_PASSWORD'),
verbose => true,
debug => hiera('CONFIG_DEBUG_MODE'),
database_connection => "mysql://heat:${heat_rabbitmq_cfg_heat_db_pw}@${heat_rabbitmq_cfg_mariadb_host}/heat",
database_connection => "mysql+pymysql://heat:${heat_rabbitmq_cfg_heat_db_pw}@${heat_rabbitmq_cfg_mariadb_host}/heat",
kombu_ssl_ca_certs => $kombu_ssl_ca_certs,
kombu_ssl_keyfile => $kombu_ssl_keyfile,
kombu_ssl_certfile => $kombu_ssl_certfile,

View File

@@ -8,7 +8,7 @@ class { '::ironic':
qpid_protocol => hiera('CONFIG_AMQP_PROTOCOL'),
qpid_username => hiera('CONFIG_AMQP_AUTH_USER'),
qpid_password => hiera('CONFIG_AMQP_AUTH_PASSWORD'),
database_connection => "mysql://ironic:${ironic_qpid_cfg_ironic_db_pw}@${ironic_qpid_cfg_mariadb_host}/ironic",
database_connection => "mysql+pymysql://ironic:${ironic_qpid_cfg_ironic_db_pw}@${ironic_qpid_cfg_mariadb_host}/ironic",
debug => true,
verbose => true,
}

View File

@@ -22,7 +22,7 @@ class { '::ironic':
rabbit_use_ssl => hiera('CONFIG_AMQP_SSL_ENABLED'),
rabbit_userid => hiera('CONFIG_AMQP_AUTH_USER'),
rabbit_password => hiera('CONFIG_AMQP_AUTH_PASSWORD'),
database_connection => "mysql://ironic:${ironic_rabbitmq_cfg_ironic_db_pw}@${ironic_rabbitmq_cfg_mariadb_host}/ironic",
database_connection => "mysql+pymysql://ironic:${ironic_rabbitmq_cfg_ironic_db_pw}@${ironic_rabbitmq_cfg_mariadb_host}/ironic",
debug => true,
verbose => true,
kombu_ssl_ca_certs => $kombu_ssl_ca_certs,

View File

@@ -33,7 +33,7 @@ if hiera('CONFIG_KEYSTONE_DB_PURGE_ENABLE',false) {
class { '::keystone':
admin_token => hiera('CONFIG_KEYSTONE_ADMIN_TOKEN'),
database_connection => "mysql://keystone_admin:${keystone_cfg_ks_db_pw}@${keystone_cfg_mariadb_host}/keystone",
database_connection => "mysql+pymysql://keystone_admin:${keystone_cfg_ks_db_pw}@${keystone_cfg_mariadb_host}/keystone",
token_provider => "keystone.token.providers.${keystone_token_provider_str}.Provider",
verbose => true,
debug => hiera('CONFIG_DEBUG_MODE'),

View File

@@ -9,7 +9,7 @@ class { '::manila':
qpid_protocol => hiera('CONFIG_AMQP_PROTOCOL'),
qpid_username => hiera('CONFIG_AMQP_AUTH_USER'),
qpid_password => hiera('CONFIG_AMQP_AUTH_PASSWORD'),
sql_connection => "mysql://manila:${db_pw}@${mariadb_host}/manila",
sql_connection => "mysql+pymysql://manila:${db_pw}@${mariadb_host}/manila",
verbose => true,
debug => hiera(CONFIG_DEBUG_MODE),
}

View File

@@ -22,7 +22,7 @@ class { '::manila':
rabbit_use_ssl => hiera('CONFIG_AMQP_SSL_ENABLED'),
rabbit_userid => hiera('CONFIG_AMQP_AUTH_USER'),
rabbit_password => hiera('CONFIG_AMQP_AUTH_PASSWORD'),
sql_connection => "mysql://manila:${db_pw}@${mariadb_host}/manila",
sql_connection => "mysql+pymysql://manila:${db_pw}@${mariadb_host}/manila",
verbose => true,
debug => hiera('CONFIG_DEBUG_MODE'),
}

View File

@@ -2,7 +2,7 @@ $neutron_db_host = hiera('CONFIG_MARIADB_HOST_URL')
$neutron_db_name = hiera('CONFIG_NEUTRON_L2_DBNAME')
$neutron_db_user = 'neutron'
$neutron_db_password = hiera('CONFIG_NEUTRON_DB_PW')
$neutron_sql_connection = "mysql://${neutron_db_user}:${neutron_db_password}@${neutron_db_host}/${neutron_db_name}"
$neutron_sql_connection = "mysql+pymysql://${neutron_db_user}:${neutron_db_password}@${neutron_db_host}/${neutron_db_name}"
$neutron_user_password = hiera('CONFIG_NEUTRON_KS_PW')

View File

@@ -5,7 +5,7 @@ $sahara_cfg_config_neutron_install = hiera('CONFIG_NEUTRON_INSTALL')
class { '::sahara':
database_connection =>
"mysql://sahara:${sahara_cfg_sahara_db_pw}@${sahara_cfg_sahara_mariadb_host}/sahara",
"mysql+pymysql://sahara:${sahara_cfg_sahara_db_pw}@${sahara_cfg_sahara_mariadb_host}/sahara",
verbose => true,
debug => hiera('CONFIG_DEBUG_MODE'),
admin_user => 'sahara',

View File

@@ -9,7 +9,7 @@ class { '::trove':
qpid_protocol => hiera('CONFIG_AMQP_PROTOCOL'),
qpid_username => hiera('CONFIG_AMQP_AUTH_USER'),
qpid_password => hiera('CONFIG_AMQP_AUTH_PASSWORD'),
database_connection => "mysql://trove:${trove_qpid_cfg_trove_db_pw}@${trove_qpid_cfg_mariadb_host}/trove",
database_connection => "mysql+pymysql://trove:${trove_qpid_cfg_trove_db_pw}@${trove_qpid_cfg_mariadb_host}/trove",
nova_proxy_admin_user => hiera('CONFIG_TROVE_NOVA_USER'),
nova_proxy_admin_tenant_name => hiera('CONFIG_TROVE_NOVA_TENANT'),
nova_proxy_admin_pass => hiera('CONFIG_TROVE_NOVA_PW'),

View File

@@ -24,7 +24,7 @@ class { '::trove':
rabbit_port => hiera('CONFIG_AMQP_CLIENTS_PORT'),
rabbit_userid => hiera('CONFIG_AMQP_AUTH_USER'),
rabbit_password => hiera('CONFIG_AMQP_AUTH_PASSWORD'),
database_connection => "mysql://trove:${trove_rabmq_cfg_trove_db_pw}@${trove_rabmq_cfg_mariadb_host}/trove",
database_connection => "mysql+pymysql://trove:${trove_rabmq_cfg_trove_db_pw}@${trove_rabmq_cfg_mariadb_host}/trove",
nova_proxy_admin_user => hiera('CONFIG_TROVE_NOVA_USER'),
nova_proxy_admin_tenant_name => hiera('CONFIG_TROVE_NOVA_TENANT'),
nova_proxy_admin_pass => hiera('CONFIG_TROVE_NOVA_PW'),