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:
		@@ -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:
 | 
			
		||||
 
 | 
			
		||||
@@ -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'),
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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,
 | 
			
		||||
 
 | 
			
		||||
@@ -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'),
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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",
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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,
 | 
			
		||||
 
 | 
			
		||||
@@ -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,
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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,
 | 
			
		||||
 
 | 
			
		||||
@@ -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'),
 | 
			
		||||
 
 | 
			
		||||
@@ -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),
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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'),
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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',
 | 
			
		||||
 
 | 
			
		||||
@@ -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'),
 | 
			
		||||
 
 | 
			
		||||
@@ -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'),
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user