From 5f82c2435471702654afdd6881fedb4b1edd3343 Mon Sep 17 00:00:00 2001 From: ZhongShengping Date: Mon, 5 Mar 2018 09:01:00 +0800 Subject: [PATCH] Fix mysql connection URL mysql://scott:***@some_host/some_db does not contain a '+drivername' portion, and will make use of a default driver. A full dbname+drivername:// protocol is recommended. For MySQL, it is strongly recommended that mysql+pymysql:// be specified for maximum service compatibility. Change-Id: I8646f135ca2fa28c1858a900bac21acdadb08401 Closes-Bug: #1753342 (cherry picked from commit c9b4316df44154d9baf74dbe8dd0839ba8bed7d2) --- manifests/db.pp | 4 ++-- spec/classes/vitrage_db_spec.rb | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/manifests/db.pp b/manifests/db.pp index ee17b9f..14ce6d3 100644 --- a/manifests/db.pp +++ b/manifests/db.pp @@ -6,7 +6,7 @@ # # [*database_connection*] # (Optional) Url used to connect to database. -# Defaults to "mysql://vitrage:secrete@localhost:3306/vitrage". +# Defaults to "mysql+pymysql://vitrage:secrete@localhost:3306/vitrage". # # [*database_max_retries*] # (Optional) Maximum number of database connection retries during startup. @@ -39,7 +39,7 @@ # Defaults to $::os_service_default. # class vitrage::db ( - $database_connection = 'mysql://vitrage:secrete@localhost:3306/vitrage', + $database_connection = 'mysql+pymysql://vitrage:secrete@localhost:3306/vitrage', $database_idle_timeout = $::os_service_default, $database_min_pool_size = $::os_service_default, $database_max_pool_size = $::os_service_default, diff --git a/spec/classes/vitrage_db_spec.rb b/spec/classes/vitrage_db_spec.rb index af2120e..2e474e1 100644 --- a/spec/classes/vitrage_db_spec.rb +++ b/spec/classes/vitrage_db_spec.rb @@ -6,7 +6,7 @@ describe 'vitrage::db' do context 'with default parameters' do it { is_expected.to contain_oslo__db('vitrage_config').with( :db_max_retries => '', - :connection => 'mysql://vitrage:secrete@localhost:3306/vitrage', + :connection => 'mysql+pymysql://vitrage:secrete@localhost:3306/vitrage', :idle_timeout => '', :min_pool_size => '', :max_pool_size => '', @@ -54,7 +54,7 @@ describe 'vitrage::db' do context 'with MySQL-python library as backend package' do let :params do - { :database_connection => 'mysql://vitrage:vitrage@localhost/vitrage', } + { :database_connection => 'mysql+pymysql://vitrage:vitrage@localhost/vitrage', } end it { is_expected.to contain_package('python-mysqldb').with(:ensure => 'present') }