diff --git a/manifests/aodh.pp b/manifests/aodh.pp index c8f07785e..296e0f979 100644 --- a/manifests/aodh.pp +++ b/manifests/aodh.pp @@ -51,6 +51,7 @@ class openstack_integration::aodh ( notification_driver => 'messagingv2', } class { 'aodh::db::mysql': + charset => $::openstack_integration::params::mysql_charset, password => 'aodh', } class { 'aodh::keystone::auth': diff --git a/manifests/barbican.pp b/manifests/barbican.pp index 953165d99..5f5e8d77c 100644 --- a/manifests/barbican.pp +++ b/manifests/barbican.pp @@ -18,6 +18,7 @@ class openstack_integration::barbican { include barbican class { 'barbican::db::mysql': + charset => $::openstack_integration::params::mysql_charset, password => 'barbican', } class { 'barbican::db': diff --git a/manifests/cinder.pp b/manifests/cinder.pp index 619b005c0..89308b6a5 100644 --- a/manifests/cinder.pp +++ b/manifests/cinder.pp @@ -42,6 +42,7 @@ class openstack_integration::cinder ( } include cinder::client class { 'cinder::db::mysql': + charset => $::openstack_integration::params::mysql_charset, password => 'cinder', } class { 'cinder::keystone::auth': diff --git a/manifests/designate.pp b/manifests/designate.pp index d69375224..6f76881b9 100644 --- a/manifests/designate.pp +++ b/manifests/designate.pp @@ -13,6 +13,7 @@ class openstack_integration::designate { } class { 'designate::db::mysql': + charset => $::openstack_integration::params::mysql_charset, password => 'designate', } class { 'designate::logging': diff --git a/manifests/ec2api.pp b/manifests/ec2api.pp index 0bc42f81d..6b4267f9b 100644 --- a/manifests/ec2api.pp +++ b/manifests/ec2api.pp @@ -12,6 +12,7 @@ class openstack_integration::ec2api { password => 'a_big_secret', } class { 'ec2api::db::mysql': + charset => $::openstack_integration::params::mysql_charset, password => 'ec2api', } case $::osfamily { diff --git a/manifests/glance.pp b/manifests/glance.pp index 1f84ed847..e73ee60cc 100644 --- a/manifests/glance.pp +++ b/manifests/glance.pp @@ -28,6 +28,7 @@ class openstack_integration::glance ( } class { 'glance::db::mysql': + charset => $::openstack_integration::params::mysql_charset, password => 'glance', } include glance diff --git a/manifests/gnocchi.pp b/manifests/gnocchi.pp index 72ccc0a92..66c378c8f 100644 --- a/manifests/gnocchi.pp +++ b/manifests/gnocchi.pp @@ -29,6 +29,7 @@ class openstack_integration::gnocchi ( coordination_url => $::openstack_integration::config::tooz_url, } class { 'gnocchi::db::mysql': + charset => $::openstack_integration::params::mysql_charset, password => 'gnocchi', } class { 'gnocchi::keystone::auth': diff --git a/manifests/heat.pp b/manifests/heat.pp index ca19f64df..01f94f809 100644 --- a/manifests/heat.pp +++ b/manifests/heat.pp @@ -64,6 +64,7 @@ class openstack_integration::heat ( notification_driver => 'messagingv2', } class { 'heat::db::mysql': + charset => $::openstack_integration::params::mysql_charset, password => 'heat', } class { 'heat::keystone::auth': diff --git a/manifests/ironic.pp b/manifests/ironic.pp index 3a32c552f..ece5b17af 100644 --- a/manifests/ironic.pp +++ b/manifests/ironic.pp @@ -33,6 +33,7 @@ class openstack_integration::ironic { amqp_sasl_mechanisms => 'PLAIN', } class { 'ironic::db::mysql': + charset => $::openstack_integration::params::mysql_charset, password => 'ironic', } class { 'ironic::keystone::auth': @@ -83,6 +84,7 @@ class openstack_integration::ironic { } 'RedHat': { class { 'ironic::inspector::db::mysql': + charset => $::openstack_integration::params::mysql_charset, password => 'a_big_secret', } class { 'ironic::inspector::authtoken': diff --git a/manifests/keystone.pp b/manifests/keystone.pp index eac1371f1..17598b001 100644 --- a/manifests/keystone.pp +++ b/manifests/keystone.pp @@ -52,6 +52,7 @@ class openstack_integration::keystone ( minute => '*/30', } class { 'keystone::db::mysql': + charset => $::openstack_integration::params::mysql_charset, password => 'keystone', } class { 'keystone::db': diff --git a/manifests/magnum.pp b/manifests/magnum.pp index d4fd77ae3..debf44c2a 100644 --- a/manifests/magnum.pp +++ b/manifests/magnum.pp @@ -57,6 +57,7 @@ class openstack_integration::magnum ( } class { 'magnum::db::mysql': + charset => $::openstack_integration::params::mysql_charset, password => 'magnum', } diff --git a/manifests/mistral.pp b/manifests/mistral.pp index 97c48e404..6c0b30a94 100644 --- a/manifests/mistral.pp +++ b/manifests/mistral.pp @@ -42,6 +42,7 @@ class openstack_integration::mistral { password => 'a_big_secret', } class { 'mistral::db::mysql': + charset => $::openstack_integration::params::mysql_charset, password => 'mistral', } class { 'mistral::api': diff --git a/manifests/murano.pp b/manifests/murano.pp index 45498f64e..07fa83d0e 100644 --- a/manifests/murano.pp +++ b/manifests/murano.pp @@ -40,6 +40,7 @@ class openstack_integration::murano { } class { 'murano::db::mysql': + charset => $::openstack_integration::params::mysql_charset, password => 'a_big_secret', } class { 'murano::logging': diff --git a/manifests/neutron.pp b/manifests/neutron.pp index 82eabd46d..58eb94bca 100644 --- a/manifests/neutron.pp +++ b/manifests/neutron.pp @@ -116,6 +116,7 @@ class openstack_integration::neutron ( } class { 'neutron::db::mysql': + charset => $::openstack_integration::params::mysql_charset, password => 'neutron', } class { 'neutron::keystone::auth': diff --git a/manifests/nova.pp b/manifests/nova.pp index 1071c78da..366846480 100644 --- a/manifests/nova.pp +++ b/manifests/nova.pp @@ -63,10 +63,12 @@ class openstack_integration::nova ( } class { 'nova::db::mysql': + charset => $::openstack_integration::params::mysql_charset, password => 'nova', } class { 'nova::db::mysql_api': - password => 'nova', + charset => $::openstack_integration::params::mysql_charset, + password => 'nova', } include nova::cell_v2::simple_setup diff --git a/manifests/params.pp b/manifests/params.pp index d0ec4c42d..59540e138 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -5,11 +5,19 @@ class openstack_integration::params { $ca_bundle_cert_path = '/etc/ssl/certs/ca-bundle.crt' $cert_path = '/etc/pki/ca-trust/source/anchors/puppet_openstack.pem' $update_ca_certs_cmd = '/usr/bin/update-ca-trust force-enable && /usr/bin/update-ca-trust extract' + $mysql_charset = 'utf8' } 'Debian': { $ca_bundle_cert_path = '/etc/ssl/certs/puppet_openstack.pem' $cert_path = '/usr/local/share/ca-certificates/puppet_openstack.crt' $update_ca_certs_cmd = '/usr/sbin/update-ca-certificates -f' + if $::operatingsystem == 'Debian' { + $mysql_charset = 'utf8' + } else { + # TODO(tkajinam): This is to fix the gate quickly. We should revisit + # this later. utf8mb4 would be the preferred option + $mysql_charset = 'utf8mb3' + } } default: { fail("Unsupported osfamily: ${::osfamily} operatingsystem") diff --git a/manifests/placement.pp b/manifests/placement.pp index b0b1ef7a0..d75040e81 100644 --- a/manifests/placement.pp +++ b/manifests/placement.pp @@ -16,6 +16,7 @@ class openstack_integration::placement { } class { 'placement::db::mysql': + charset => $::openstack_integration::params::mysql_charset, password => 'placement', } diff --git a/manifests/sahara.pp b/manifests/sahara.pp index 279a23b53..7927354d1 100644 --- a/manifests/sahara.pp +++ b/manifests/sahara.pp @@ -25,6 +25,7 @@ class openstack_integration::sahara ( } class { 'sahara::db::mysql': + charset => $::openstack_integration::params::mysql_charset, password => 'sahara', } diff --git a/manifests/trove.pp b/manifests/trove.pp index a021f7f82..c658113bb 100644 --- a/manifests/trove.pp +++ b/manifests/trove.pp @@ -45,6 +45,7 @@ class openstack_integration::trove { nova_proxy_admin_pass => 'a_big_secret', } class { 'trove::db::mysql': + charset => $::openstack_integration::params::mysql_charset, password => 'trove', } class { 'trove::keystone::auth': diff --git a/manifests/vitrage.pp b/manifests/vitrage.pp index 7b36b7275..1b4b91ecf 100644 --- a/manifests/vitrage.pp +++ b/manifests/vitrage.pp @@ -17,6 +17,7 @@ class openstack_integration::vitrage { } class { 'vitrage::db::mysql': + charset => $::openstack_integration::params::mysql_charset, password => 'vitrage', } diff --git a/manifests/watcher.pp b/manifests/watcher.pp index 16314d2c5..41d72dc7c 100644 --- a/manifests/watcher.pp +++ b/manifests/watcher.pp @@ -16,6 +16,7 @@ class openstack_integration::watcher { Exec['update-ca-certificates'] ~> Service['httpd'] } class { 'watcher::db::mysql': + charset => $::openstack_integration::params::mysql_charset, password => 'watcher', } class { 'watcher::db': diff --git a/manifests/zaqar.pp b/manifests/zaqar.pp index 9fe6ea148..2affec555 100644 --- a/manifests/zaqar.pp +++ b/manifests/zaqar.pp @@ -13,6 +13,7 @@ class openstack_integration::zaqar { debug => true, } class { 'zaqar::db::mysql': + charset => $::openstack_integration::params::mysql_charset, password => 'zaqar', } class { 'zaqar::keystone::auth':