Merge pull request #556 from enovance/feature/bump-mysql-2.2/sbadia
mysql: Un-pin Puppetlabs MySQL module, update for >= 2.2
This commit is contained in:
@@ -74,7 +74,7 @@ fixtures:
|
||||
ref: 'e3cc9a0ea895f6e01801e4620799c66c2337b7ed'
|
||||
'mysql':
|
||||
repo: 'git://github.com/enovance/puppetlabs-mysql.git'
|
||||
ref: '11ab036fed3b252492f5400bf8fd69698d510482'
|
||||
ref: '8b814d4d2cb5786a15e8e37fb3b7444d5d5f0d3f'
|
||||
'rabbitmq':
|
||||
repo: 'git://github.com/enovance/puppetlabs-rabbitmq'
|
||||
ref: '25420cb3c26c9a8432ab519d43c094d614d4fec4'
|
||||
|
@@ -118,7 +118,7 @@ mod 'mongodb',
|
||||
:ref => 'e3cc9a0ea895f6e01801e4620799c66c2337b7ed'
|
||||
mod 'mysql',
|
||||
:git => 'git://github.com/enovance/puppetlabs-mysql.git',
|
||||
:ref => '11ab036fed3b252492f5400bf8fd69698d510482'
|
||||
:ref => '8b814d4d2cb5786a15e8e37fb3b7444d5d5f0d3f'
|
||||
mod 'ntp',
|
||||
:git => 'git://github.com/enovance/puppetlabs-ntp.git',
|
||||
:ref => 'eb02ba2937ce86fb609ae41499767244b78ec58d'
|
||||
|
@@ -114,6 +114,7 @@ class cloud::compute(
|
||||
|
||||
class { 'nova':
|
||||
database_connection => "mysql://${encoded_user}:${encoded_password}@${nova_db_host}/nova?charset=utf8",
|
||||
mysql_module => '2.2',
|
||||
rabbit_userid => 'nova',
|
||||
rabbit_hosts => $rabbit_hosts,
|
||||
rabbit_password => $rabbit_password,
|
||||
|
@@ -68,6 +68,7 @@ class cloud::database::dbaas(
|
||||
|
||||
class { 'trove':
|
||||
database_connection => "mysql://${encoded_user}:${encoded_password}@${trove_db_host}/trove?charset=utf8",
|
||||
mysql_module => '2.2',
|
||||
rabbit_hosts => $rabbit_hosts,
|
||||
rabbit_password => $rabbit_password,
|
||||
rabbit_userid => 'trove',
|
||||
|
@@ -21,7 +21,6 @@
|
||||
# Array of internal ip of the galera nodes.
|
||||
# Defaults to ['127.0.0.1']
|
||||
#
|
||||
|
||||
class cloud::database::sql (
|
||||
$api_eth = '127.0.0.1',
|
||||
$service_provider = 'sysv',
|
||||
@@ -74,14 +73,11 @@ class cloud::database::sql (
|
||||
|
||||
case $::osfamily {
|
||||
'RedHat': {
|
||||
class { 'mysql':
|
||||
server_package_name => 'MariaDB-Galera-server',
|
||||
client_package_name => 'MariaDB-client',
|
||||
service_name => $mysql_service_name,
|
||||
}
|
||||
|
||||
# Specific to Red Hat
|
||||
$mysql_server_package_name = 'MariaDB-Galera-server'
|
||||
$mysql_client_package_name = 'MariaDB-client'
|
||||
$wsrep_provider = '/usr/lib64/galera/libgalera_smm.so'
|
||||
$mysql_server_config_file = '/etc/my.cnf'
|
||||
|
||||
$dirs = [ '/var/run/mysqld', '/var/log/mysql' ]
|
||||
|
||||
@@ -93,19 +89,15 @@ class cloud::database::sql (
|
||||
}
|
||||
} # RedHat
|
||||
'Debian': {
|
||||
class { 'mysql':
|
||||
server_package_name => 'mariadb-galera-server',
|
||||
client_package_name => 'mariadb-client',
|
||||
service_name => $mysql_service_name,
|
||||
}
|
||||
|
||||
# Specific to Debian / Ubuntu
|
||||
$mysql_server_package_name = 'mariadb-galera-server'
|
||||
$mysql_client_package_name = 'mariadb-client'
|
||||
$wsrep_provider = '/usr/lib/galera/libgalera_smm.so'
|
||||
$mysql_server_config_file = '/etc/mysql/my.cnf'
|
||||
|
||||
database_user { 'debian-sys-maint@localhost':
|
||||
mysql_user { 'debian-sys-maint@localhost':
|
||||
ensure => 'present',
|
||||
password_hash => mysql_password($mysql_sys_maint_password),
|
||||
provider => 'mysql',
|
||||
require => File['/root/.my.cnf']
|
||||
}
|
||||
|
||||
@@ -155,18 +147,33 @@ class cloud::database::sql (
|
||||
}
|
||||
|
||||
class { 'mysql::server':
|
||||
config_hash => {
|
||||
bind_address => $api_eth,
|
||||
root_password => $mysql_root_password,
|
||||
service_name => $mysql_service_name,
|
||||
},
|
||||
notify => Service['xinetd'],
|
||||
manage_config_file => false,
|
||||
config_file => $mysql_server_config_file,
|
||||
package_name => $mysql_server_package_name,
|
||||
service_name => $mysql_service_name,
|
||||
override_options => { 'mysqld' => { 'bind-address' => $api_eth } },
|
||||
root_password => $mysql_root_password,
|
||||
notify => Service['xinetd'],
|
||||
}
|
||||
|
||||
file { $mysql_server_config_file:
|
||||
content => template('cloud/database/mysql.conf.erb'),
|
||||
mode => '0644',
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
notify => [Service['mysqld'],Exec['clean-mysql-binlog']],
|
||||
require => Package['mysql-server'],
|
||||
}
|
||||
|
||||
class { 'mysql::client':
|
||||
package_name => $mysql_client_package_name,
|
||||
}
|
||||
|
||||
if $::hostname == $galera_master_name {
|
||||
|
||||
# OpenStack DB
|
||||
# OpenStack DB
|
||||
class { 'keystone::db::mysql':
|
||||
mysql_module => '2.2',
|
||||
dbname => 'keystone',
|
||||
user => $keystone_db_user,
|
||||
password => $keystone_db_password,
|
||||
@@ -174,6 +181,7 @@ class cloud::database::sql (
|
||||
allowed_hosts => $keystone_db_allowed_hosts,
|
||||
}
|
||||
class { 'glance::db::mysql':
|
||||
mysql_module => '2.2',
|
||||
dbname => 'glance',
|
||||
user => $glance_db_user,
|
||||
password => $glance_db_password,
|
||||
@@ -181,6 +189,7 @@ class cloud::database::sql (
|
||||
allowed_hosts => $glance_db_allowed_hosts,
|
||||
}
|
||||
class { 'nova::db::mysql':
|
||||
mysql_module => '2.2',
|
||||
dbname => 'nova',
|
||||
user => $nova_db_user,
|
||||
password => $nova_db_password,
|
||||
@@ -189,6 +198,7 @@ class cloud::database::sql (
|
||||
}
|
||||
|
||||
class { 'cinder::db::mysql':
|
||||
mysql_module => '2.2',
|
||||
dbname => 'cinder',
|
||||
user => $cinder_db_user,
|
||||
password => $cinder_db_password,
|
||||
@@ -197,6 +207,7 @@ class cloud::database::sql (
|
||||
}
|
||||
|
||||
class { 'neutron::db::mysql':
|
||||
mysql_module => '2.2',
|
||||
dbname => 'neutron',
|
||||
user => $neutron_db_user,
|
||||
password => $neutron_db_password,
|
||||
@@ -205,6 +216,7 @@ class cloud::database::sql (
|
||||
}
|
||||
|
||||
class { 'heat::db::mysql':
|
||||
mysql_module => '2.2',
|
||||
dbname => 'heat',
|
||||
user => $heat_db_user,
|
||||
password => $heat_db_password,
|
||||
@@ -213,6 +225,7 @@ class cloud::database::sql (
|
||||
}
|
||||
|
||||
class { 'trove::db::mysql':
|
||||
mysql_module => '2.2',
|
||||
dbname => 'trove',
|
||||
user => $trove_db_user,
|
||||
password => $trove_db_password,
|
||||
@@ -220,24 +233,21 @@ class cloud::database::sql (
|
||||
allowed_hosts => $trove_db_allowed_hosts,
|
||||
}
|
||||
|
||||
|
||||
# Monitoring DB
|
||||
warning('Database mapping must be updated to puppetlabs/puppetlabs-mysql >= 2.x (see: https://dev.ring.enovance.com/redmine/issues/4510)')
|
||||
|
||||
database { 'monitoring':
|
||||
# Monitoring DB
|
||||
mysql_database { 'monitoring':
|
||||
ensure => 'present',
|
||||
charset => 'utf8',
|
||||
collate => 'utf8_unicode_ci',
|
||||
require => File['/root/.my.cnf']
|
||||
}
|
||||
database_user { "${galera_clustercheck_dbuser}@localhost":
|
||||
mysql_user { "${galera_clustercheck_dbuser}@localhost":
|
||||
ensure => 'present',
|
||||
# can not change password in clustercheck script
|
||||
password_hash => mysql_password($galera_clustercheck_dbpassword),
|
||||
provider => 'mysql',
|
||||
require => File['/root/.my.cnf']
|
||||
}
|
||||
database_grant { "${galera_clustercheck_dbuser}@localhost/monitoring":
|
||||
privileges => ['all']
|
||||
mysql_grant { "${galera_clustercheck_dbuser}@localhost/monitoring":
|
||||
privileges => ['ALL']
|
||||
}
|
||||
|
||||
Database_user<<| |>>
|
||||
@@ -277,7 +287,6 @@ class cloud::database::sql (
|
||||
require => Service['xinetd'],
|
||||
}
|
||||
|
||||
|
||||
exec{'clean-mysql-binlog':
|
||||
# first sync take a long time
|
||||
command => "/bin/bash -c '/usr/bin/mysqladmin --defaults-file=/root/.my.cnf shutdown ; /bin/rm ${::mysql::params::datadir}/ib_logfile*'",
|
||||
@@ -291,13 +300,6 @@ class cloud::database::sql (
|
||||
onlyif => "stat ${::mysql::params::datadir}/ib_logfile0 && test `du -sh ${::mysql::params::datadir}/ib_logfile0 | cut -f1` != '256M'",
|
||||
}
|
||||
|
||||
# TODO/WARNING(Gonéri): template changes do not trigger configuration changes
|
||||
mysql::server::config{'basic_config':
|
||||
notify_service => true,
|
||||
notify => Exec['clean-mysql-binlog'],
|
||||
settings => template('cloud/database/mysql.conf.erb')
|
||||
}
|
||||
|
||||
@@haproxy::balancermember{$::fqdn:
|
||||
listening_service => 'galera_cluster',
|
||||
server_names => $::hostname,
|
||||
|
@@ -350,7 +350,6 @@
|
||||
# (optional) Amount of time a token should remain valid (in seconds)
|
||||
# Defaults to '3600' (1 hour)
|
||||
#
|
||||
|
||||
class cloud::identity (
|
||||
$swift_enabled = true,
|
||||
$identity_roles_addons = ['SwiftOperator', 'ResellerAdmin'],
|
||||
@@ -474,6 +473,7 @@ class cloud::identity (
|
||||
idle_timeout => 60,
|
||||
log_facility => $log_facility,
|
||||
sql_connection => "mysql://${encoded_user}:${encoded_password}@${keystone_db_host}/keystone?charset=utf8",
|
||||
mysql_module => '2.2',
|
||||
token_provider => 'keystone.token.providers.uuid.Provider',
|
||||
use_syslog => $use_syslog,
|
||||
verbose => $verbose,
|
||||
|
@@ -72,7 +72,6 @@
|
||||
# Can be 'rbd' or 'file'.
|
||||
# Defaults to 'rbd' to maintain backward compatibility
|
||||
#
|
||||
|
||||
class cloud::image::api(
|
||||
$glance_db_host = '127.0.0.1',
|
||||
$glance_db_user = 'glance',
|
||||
@@ -120,6 +119,7 @@ class cloud::image::api(
|
||||
|
||||
class { 'glance::api':
|
||||
database_connection => "mysql://${encoded_glance_user}:${encoded_glance_password}@${glance_db_host}/glance?charset=utf8",
|
||||
mysql_module => '2.2',
|
||||
registry_host => $openstack_vip,
|
||||
registry_port => $ks_glance_registry_internal_port,
|
||||
verbose => $verbose,
|
||||
|
@@ -94,6 +94,7 @@ class cloud::image::registry(
|
||||
|
||||
class { 'glance::registry':
|
||||
database_connection => "mysql://${encoded_glance_user}:${encoded_glance_password}@${glance_db_host}/glance?charset=utf8",
|
||||
mysql_module => '2.2',
|
||||
verbose => $verbose,
|
||||
debug => $debug,
|
||||
auth_host => $ks_keystone_internal_host,
|
||||
|
@@ -46,6 +46,7 @@ class cloud::network::controller(
|
||||
auth_protocol => $ks_keystone_admin_proto,
|
||||
auth_port => $ks_keystone_public_port,
|
||||
database_connection => "mysql://${encoded_user}:${encoded_password}@${neutron_db_host}/neutron?charset=utf8",
|
||||
mysql_module => '2.2',
|
||||
api_workers => $::processorcount,
|
||||
agent_down_time => '60',
|
||||
}
|
||||
|
@@ -137,6 +137,7 @@ class cloud::orchestration(
|
||||
keystone_password => $ks_heat_password,
|
||||
auth_uri => "${ks_keystone_internal_proto}://${ks_keystone_internal_host}:${ks_keystone_internal_port}/v2.0",
|
||||
sql_connection => "mysql://${encoded_user}:${encoded_password}@${heat_db_host}/heat?charset=utf8",
|
||||
mysql_module => '2.2',
|
||||
rabbit_hosts => $rabbit_hosts,
|
||||
rabbit_password => $rabbit_password,
|
||||
rabbit_userid => 'heat',
|
||||
|
@@ -32,6 +32,7 @@ class cloud::telemetry::api(
|
||||
|
||||
class { 'ceilometer::db':
|
||||
database_connection => $db_conn,
|
||||
mysql_module => '2.2',
|
||||
sync_db => true,
|
||||
require => Anchor['mongodb setup done'],
|
||||
}
|
||||
|
@@ -90,6 +90,7 @@ class cloud::volume(
|
||||
|
||||
class { 'cinder':
|
||||
sql_connection => "mysql://${encoded_user}:${encoded_password}@${cinder_db_host}/cinder?charset=utf8",
|
||||
mysql_module => '2.2',
|
||||
rabbit_userid => 'cinder',
|
||||
rabbit_hosts => $rabbit_hosts,
|
||||
rabbit_password => $rabbit_password,
|
||||
|
@@ -69,16 +69,21 @@ describe 'cloud::database::sql' do
|
||||
end
|
||||
|
||||
it 'configure mysql galera server' do
|
||||
should contain_class('mysql').with(
|
||||
:server_package_name => platform_params[:server_package_name],
|
||||
:client_package_name => platform_params[:client_package_name],
|
||||
:service_name => 'mysql'
|
||||
should contain_class('mysql::client').with(
|
||||
:package_name => platform_params[:mysql_client_package_name]
|
||||
)
|
||||
|
||||
should contain_class('mysql::server').with(
|
||||
:config_hash => { 'bind_address' => '10.0.0.1', 'root_password' => params[:mysql_root_password], 'service_name' => 'mysql' },
|
||||
:notify => 'Service[xinetd]'
|
||||
:package_name => platform_params[:mysql_server_package_name],
|
||||
:root_password => params[:mysql_root_password],
|
||||
:override_options => { 'mysqld' => { 'bind-address' => '10.0.0.1' } },
|
||||
:notify => 'Service[xinetd]'
|
||||
)
|
||||
|
||||
should contain_file(platform_params[:mysql_server_config_file]).with_content(/^wsrep_cluster_name\s*= "galera_cluster"$/)
|
||||
should contain_file(platform_params[:mysql_server_config_file]).with_content(/^wsrep_node_address\s*= "#{params[:api_eth]}"$/)
|
||||
should contain_file(platform_params[:mysql_server_config_file]).with_content(/^wsrep_node_incoming_address\s*= "#{params[:api_eth]}"$/)
|
||||
|
||||
end # configure mysql galera server
|
||||
|
||||
context 'configure mysqlchk http replication' do
|
||||
@@ -104,6 +109,7 @@ describe 'cloud::database::sql' do
|
||||
|
||||
it 'configure keystone database' do
|
||||
should contain_class('keystone::db::mysql').with(
|
||||
:mysql_module => '2.2',
|
||||
:dbname => 'keystone',
|
||||
:user => 'keystone',
|
||||
:password => 'secrete',
|
||||
@@ -113,6 +119,7 @@ describe 'cloud::database::sql' do
|
||||
|
||||
it 'configure glance database' do
|
||||
should contain_class('glance::db::mysql').with(
|
||||
:mysql_module => '2.2',
|
||||
:dbname => 'glance',
|
||||
:user => 'glance',
|
||||
:password => 'secrete',
|
||||
@@ -122,6 +129,7 @@ describe 'cloud::database::sql' do
|
||||
|
||||
it 'configure nova database' do
|
||||
should contain_class('nova::db::mysql').with(
|
||||
:mysql_module => '2.2',
|
||||
:dbname => 'nova',
|
||||
:user => 'nova',
|
||||
:password => 'secrete',
|
||||
@@ -131,6 +139,7 @@ describe 'cloud::database::sql' do
|
||||
|
||||
it 'configure cinder database' do
|
||||
should contain_class('cinder::db::mysql').with(
|
||||
:mysql_module => '2.2',
|
||||
:dbname => 'cinder',
|
||||
:user => 'cinder',
|
||||
:password => 'secrete',
|
||||
@@ -140,6 +149,7 @@ describe 'cloud::database::sql' do
|
||||
|
||||
it 'configure neutron database' do
|
||||
should contain_class('neutron::db::mysql').with(
|
||||
:mysql_module => '2.2',
|
||||
:dbname => 'neutron',
|
||||
:user => 'neutron',
|
||||
:password => 'secrete',
|
||||
@@ -149,6 +159,7 @@ describe 'cloud::database::sql' do
|
||||
|
||||
it 'configure heat database' do
|
||||
should contain_class('heat::db::mysql').with(
|
||||
:mysql_module => '2.2',
|
||||
:dbname => 'heat',
|
||||
:user => 'heat',
|
||||
:password => 'secrete',
|
||||
@@ -158,6 +169,7 @@ describe 'cloud::database::sql' do
|
||||
|
||||
it 'configure trove database' do
|
||||
should contain_class('trove::db::mysql').with(
|
||||
:mysql_module => '2.2',
|
||||
:dbname => 'trove',
|
||||
:user => 'trove',
|
||||
:password => 'secrete',
|
||||
@@ -166,17 +178,16 @@ describe 'cloud::database::sql' do
|
||||
end
|
||||
|
||||
it 'configure monitoring database' do
|
||||
should contain_database('monitoring').with(
|
||||
should contain_mysql_database('monitoring').with(
|
||||
:ensure => 'present',
|
||||
:charset => 'utf8'
|
||||
)
|
||||
should contain_database_user("#{params[:galera_clustercheck_dbuser]}@localhost").with(
|
||||
should contain_mysql_user("#{params[:galera_clustercheck_dbuser]}@localhost").with(
|
||||
:ensure => 'present',
|
||||
:password_hash => '*FDC68394456829A7344C2E9D4CDFD43DCE2EFD8F',
|
||||
:provider => 'mysql'
|
||||
:password_hash => '*FDC68394456829A7344C2E9D4CDFD43DCE2EFD8F'
|
||||
)
|
||||
should contain_database_grant("#{params[:galera_clustercheck_dbuser]}@localhost/monitoring").with(
|
||||
:privileges => 'all'
|
||||
should contain_mysql_grant("#{params[:galera_clustercheck_dbuser]}@localhost/monitoring").with(
|
||||
:privileges => 'ALL'
|
||||
)
|
||||
end # configure monitoring database
|
||||
end # configure databases on the galera master server
|
||||
@@ -188,8 +199,9 @@ describe 'cloud::database::sql' do
|
||||
end
|
||||
|
||||
let :platform_params do
|
||||
{ :server_package_name => 'mariadb-galera-server',
|
||||
:client_package_name => 'mariadb-client',
|
||||
{ :mysql_server_package_name => 'mariadb-galera-server',
|
||||
:mysql_client_package_name => 'mariadb-client',
|
||||
:mysql_server_config_file => '/etc/mysql/my.cnf',
|
||||
:wsrep_provider => '/usr/lib/galera/libgalera_smm.so' }
|
||||
end
|
||||
|
||||
@@ -202,8 +214,9 @@ describe 'cloud::database::sql' do
|
||||
end
|
||||
|
||||
let :platform_params do
|
||||
{ :server_package_name => 'MariaDB-Galera-server',
|
||||
:client_package_name => 'MariaDB-client',
|
||||
{ :mysql_server_package_name => 'MariaDB-Galera-server',
|
||||
:mysql_client_package_name => 'MariaDB-client',
|
||||
:mysql_server_config_file => '/etc/my.cnf',
|
||||
:wsrep_provider => '/usr/lib64/galera/libgalera_smm.so' }
|
||||
end
|
||||
|
||||
|
Reference in New Issue
Block a user